Descripción de las bases de datos NoSQL distribuidas

SE APLICA A: NoSQL MongoDB Cassandra Gremlin Table

Azure Cosmos DB es una plataforma de base de datos distribuida globalmente para bases de datos NoSQL y relacionales de cualquier escala. En este artículo se exploran las bases de datos NoSQL distribuidas en el contexto de las distintas opciones de la API NoSQL de Azure Cosmos DB.

Para más información sobre otras opciones de almacenamiento de datos en Azure, consulte Elección del almacén de datos adecuado en el Centro de arquitectura de Azure.

Desafíos

Uno de los desafíos a la hora de mantener un sistema de bases de datos es que muchos motores de bases de datos usan bloqueos y bloqueos temporales para aplicar una semántica estricta de ACID. Este enfoque es beneficioso en escenarios en los que las bases de datos requieren una alta coherencia del estado de los datos, independientemente de cómo se acceda. Aunque este enfoque promete una alta coherencia, tiene algunos inconvenientes respecto a la simultaneidad, la latencia y la disponibilidad. Esta restricción es fundamentalmente una restricción arquitectónica y forzará a cualquier equipo con una carga de trabajo transaccional alta a encontrar soluciones alternativas como la distribución manual o la el particionamiento de datos en muchas bases de datos o nodos de base de datos diferentes. Estas soluciones alternativas pueden llevar mucho tiempo y resultar difíciles de implementar.

Bases de datos NoSQL

Las bases de datos NoSQL hacen referencia a las bases de datos diseñadas para simplificar el escalado horizontal ajustando la coherencia para minimizar los inconvenientes relativos a la simultaneidad, latencia y disponibilidad. Las bases de datos NoSQL ofrecen niveles configurables de coherencia para que los datos se puedan escalar entre muchos nodos y ofrecer velocidad o disponibilidad que se asignen mejor a las necesidades de la aplicación.

Bases de datos distribuidas

Las bases de datos distribuidas hacen referencia a las bases de datos que se escalan entre muchas instancias o ubicaciones diferentes. Aunque muchas bases de datos NoSQL están diseñadas para escalado, no todas son necesariamente bases de datos distribuidas. Es más, muchas bases de datos NoSQL requieren tiempo y esfuerzo para distribuir entre nodos redundantes para redundancia local o globalmente para la redundancia geográfica. Los requisitos de planeamiento, implementación y redes para una base de datos distribuida globalmente pueden ser complejos.

Azure Cosmos DB

Con una base de datos distribuida que también es una base de datos NoSQL, las grandes cargas de trabajo transaccionales de repente se volvieron más fáciles de crear y administrar. Azure Cosmos DB es una plataforma de base de datos que ofrece API de datos distribuidas en variantes NoSQL y relacionales. En concreto, muchas de las API de NoSQL ofrecen varias opciones de coherencia que le permiten ajustar el nivel de coherencia o disponibilidad que cumple los requisitos de la aplicación del mundo real. La base de datos podría configurarse para ofrecer una alta coherencia sacrificando velocidad y disponibilidad. De forma similar, la base de datos podría configurarse para ofrecer el mejor rendimiento con sacrificios predecibles en cuanto a coherencia y latencia de los datos replicados. Azure Cosmos DB distribuirá automáticamente y dinámicamente los datos entre instancias locales o globalmente. Azure Cosmos DB también puede proporcionar garantías ACID y escalar el rendimiento para asignarlos a los requisitos de la aplicación.

Pasos siguientes

¿Quiere empezar a trabajar con Azure Cosmos DB?