Independientemente de las diferentes bases de datos noSQL que han aparecido (Clave-valor, documentales, columnares, grafos, series temporales y repositorios de contenidos), en los últimos años ha emergido un nuevo concepto: las bases de datos en la nube. Estos proyectos han sido desarrollados por grandes empresas como Microsoft o Google, y su característica principal es que ofrecen el almacenamiento de datos como servicio.
Estos soportes están ganando hueco en el mercado principalmente por una razón: los servidores en clúster característicos de NoSQL son complejos de mantener y generalmente caros, tanto a nivel de infraestructura como de personal cualificado. Estos servicios de datos ofrecen un mantenimiento y soporte incluidos en el precio.
Pero sus ventajas no terminan ahí. Todas estas plataformas tienen más servicios asociados completamente integrados (procesamiento de datos, conectividad con múltiples plataformas a través de APIs…), y sistemas de seguridad mantenidos y avalados por las propias compañías. Además, suelen ofrecer modelos mixtos. En otras palabras: son cómodos, fáciles de mantener y facilitan la creación de entornos con múltiples aplicaciones. Por contra, estas plataformas son de pago, y a menudo este pago se calcula por el uso tanto de almacenamiento como de lecturas y escrituras, lo que puede elevar el precio de mantenimiento. Todas ellas ofrecen versiones gratuitas, pero estas son limitadas a bajos volúmenes de uso.
Principales bases de datos NoSQL en la nube
Amazon DynamoDB (AP)
Administrada por Amazon Web Services (AWS), compatible con modelos clave-valor y documentales. Contiene Amazon DynamoDB Accelerator (DAX), una cache en memoria para reducir tiempos de respuesta. Partición por sharding. Puede implementarse MapReduce mediante Amazon EMR, pero no viene de serie. Controles de acceso definidos mediante AWS identity and Access Management (IAM).
Microsoft Azure Cosmos DB (CP)
Integrada en el sistema Microsoft Azure. Permite implementar modelos documentales, clave-valor, columnares e incluso de grafos. Tiene APIs para diferentes bases de datos físicas SQL y NoSQL, así como conectores con otras aplicaciones de Azure como Databricks Spark, GemlinAPI (grafos) o Azure Functions. Derechos de acceso pueden definirse a nivel de ítem.
Google Cloud DataStore (CP):
Administrada por Google. Ofrece un modelo de datos documental escalable y fácilmente integrable a múltiples aplicaciones de Google, como App Engine o Datastore. Tiene la posibilidad de transacciones ACID y de hacer consultas SQL con Google Query Languaje, así como de implementar controles de acceso basados en Google Cloud Identity and Acess Management (IAM).