Ventajas de la migración de MongoDB a Cosmos DB

Completado

La migración de MongoDB a Cosmos DB tiene ventajas, como la escalabilidad, la distribución global y la administración de servidores.

Como desarrollador jefe de bases de datos, quiere comprender cuáles son las ventajas de mover a Azure las cargas de trabajo de las bases de datos. Cosmos DB tiene características únicas que no se pueden encontrar en bases de datos locales convencionales basadas en documentos.

En esta unidad, explorará la característica de Cosmos DB que puede aprovechar, a la vez de mantener la compatibilidad de la API con las aplicaciones de MongoDB existentes.

Escalabilidad

Al migrar una base de datos a Azure, se beneficia del almacenamiento ilimitado y de la escalabilidad elástica para mejorar el rendimiento. Para especificar el rendimiento, indique las Unidades de solicitud (RU) para el rendimiento a nivel de contenedores o de bases de datos.

Especificación del rendimiento de un contenedor

La opción más común es especificar el rendimiento al nivel de contenedores. Esto garantiza la uniformidad del rendimiento en todas las particiones lógicas del contenedor, y el rendimiento es exclusivo de ese contenedor. Dado que el rendimiento es uniforme en las particiones lógicas, si una partición supera el rendimiento, se limitará la velocidad, incluso si otras particiones tienen rendimiento disponible. Por eso es importante configurar la clave de partición para evitar las particiones calientes.

Especificación del rendimiento de bases de datos

Al especificar el rendimiento a nivel de bases de datos, el rendimiento se comparte entre los contenedores. Esto puede ser útil si el rendimiento de los contenedores varía habitualmente, pero el rendimiento total de la base de datos sigue siendo relativamente estático. El rendimiento dentro de cada contenedor sigue siendo uniforme en las particiones lógicas y, si una partición supera el rendimiento, se limitará la velocidad, incluso si otras particiones tienen rendimiento disponible.

Puede cambiar el rendimiento en cualquier momento, y el rendimiento máximo de un contenedor o de una base de datos es ilimitado.

Para obtener más información sobre las ventajas de la migración, consulte la sección de justificación en Migración de MongoDB a Azure Cosmos DB.

Varias regiones

Azure Cosmos DB se pueden distribuir globalmente en todas las regiones. Puede ubicar su base de datos cerca de los usuarios o, si los usuarios están distribuidos por todo el mundo, puede agregar y quitar regiones en cualquier momento. Al colocar los datos cerca de los usuarios, se reduce la latencia y se mejora la experiencia del usuario.

Si la base de datos está en una sola región, el contrato de nivel de servicio (SLA) para la disponibilidad de la base de datos es del 99,99 % del tiempo, pero, si se implementa en varias regiones, se beneficiará de un contrato de nivel de servicio con una disponibilidad del 99,999 % para lectura y escritura. Incluso si se produce una interrupción regional, Azure Cosmos DB se conmutará por error automáticamente a otra región mientras se mantienen los SLA.

La replicación entre regiones se controla automáticamente, a la vez que se mantiene el nivel de coherencia que se ha definido.

El rendimiento se configura a nivel de bases de datos o de contenedores, no a nivel regional. Por lo tanto, tendrá un rendimiento idéntico en todas las regiones en las que implemente automáticamente.

Administración de servidores

Azure Cosmos DB es un servicio administrado que requiere una administración mínima de las actividades de instalación y de las operaciones continuas.

Distribución global

La replicación de datos en otra región es un evento autónomo. Lo único que debe hacer es especificar la región, y los datos se replicarán allí con todos los datos, la configuración de rendimiento y la replicación configurada automáticamente.

Administración de esquemas e índices

Cosmos DB es independiente del esquema e indexa automáticamente todos los datos. Esto elimina la necesidad de mantener el esquema y los índices de las bases de datos con el esquema de la aplicación. Esto elimina una carga de trabajo considerable, en especial cuando la base de datos está distribuida globalmente.