Azure Cosmos DB es un servicio de base de datos multimodelo distribuido y con escalado horizontal.

Azure Cosmos DB permite distribuir datos de forma global sobre cualquier número de regiones de Azure, con un proceso transparente de escalado y replicación de los datos. Azure Cosmos DB garantiza valores de latencia inferiores a 10 milisegundos en el percentil 99 en cualquier parte del mundo, además ofrece varios modelos de coherencia bien definidos para ajustar el rendimiento y garantiza alta disponibilidad con hospedaje múltiple.

A nivel de funcionalidad, Azure Cosmos DB indexa datos automáticamente sin que haya que ocuparse de la administración de esquemas ni de índices.

Además Azure Cosmos DB es multimodelo y admite de forma nativa modelos de datos de documentos, pares clave-valor, grafos y en columnas. Azure Cosmos DB permite acceder a sus datos con diferentes APIs: como SQL (documentos), MongoDB (documentos), Azure Table Storage (clave-valor), Gremlin (grafos) y Cassandra (en columnas).

Probar Azure Cosmos DB

Para probar Cosmos DB se puede usar la cuenta gratuita de Azure, o bien descargando el Emulador de Azure Cosmos DB para desarrollar y probar aplicaciones usando Azure Cosmos DB desde la máquina local. De esta forma luego simplemente cambiando la configuración apuntaré a la instancia de Azure Cosmos DB en la nube.

Azure Cosmos DB y MongoDB:

Las bases de datos de Azure Cosmos DB se pueden utilizar como almacenes de datos para aplicaciones escritas para MongoDB, de esta forma la aplicación escrita para MongoDB se puede comunicar ahora con Azure Cosmos DB y usar bases de datos de Azure Cosmos DB en lugar de bases de datos de MongoDB. Aunque no soporta toda la funcionalidad de MongoDB en muchos casos, basta con cambiar una cadena de conexión. Azure Cosmos DB implementa el protocolo de conexión de MongoDB 3.4 (versión 5) y admite la canalización de agregación de MongoDB.

En este link podéis encontrar un ejemplo de cómo usar CosmosDB para MongoDB en Java:

Servicio de base de datos multimodelo distribuido globalmente

https://docs.microsoft.com/es-es/azure/cosmos-db/mongodb-introduction

https://docs.microsoft.com/es-es/azure/cosmos-db/create-mongodb-java

Un abrazo,

LuisMi Gracia