Descripción de las bases de datos relacionales distribuidas

SE APLICA A: Azure Cosmos DB for PostgreSQL (con tecnología de la extensión de base de datos de Citus en PostgreSQL)

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 relacionales distribuidas en el contexto de la opción de API relacional 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

Muchas veces, al leer sobre grandes volúmenes o cargas de trabajo transaccionales elevadas, es fácil pensar que estas cargas de trabajo son mucho más grandes que las que puede enfrentar la aplicación. La suposición de que la carga de trabajo seguirá siendo pequeña puede ser una suposición válida al principio de un proyecto, una idea o una organización. Sin embargo, esa suposición puede dar lugar rápidamente a un escenario en el que la carga de trabajo de la aplicación crece mucho más allá de las predicciones realizadas. No es raro escuchar historias de cargas de trabajo que alcanzan el rendimiento o la potencia de procesamiento máximos de la base de datos de instancia única que era económica y eficaz al principio de un proyecto.

Bases de datos relacionales

Las bases de datos relacionales organizan los datos en un formato tabular (fila/columna) con relaciones entre tablas diferentes de las bases de datos. Las bases de datos relacionales son comunes en varias empresas. Estas empresas suelen tener una gran cantidad de desarrolladores de software que han escrito código en una base de datos relacional o administradores que diseñan esquemas y administran plataformas de bases de datos relacionales. Las bases de datos relacionales también suelen admitir transacciones con garantías ACID.

Desafortunadamente, hay organizaciones que configuran inicialmente muchos sistemas de bases de datos relacionales con el enfoque de un solo nodo con restricciones superiores en los recursos de proceso, memoria y red. Este contexto puede dar lugar a una suposición incorrecta de que todas las bases de datos relacionales son de un solo nodo por naturaleza.

Bases de datos distribuidas

Con muchas notas del producto nativas de la nube, es habitual oír hablar de las ventajas de las bases de datos NoSQL, lo que hace que parezca que las bases de datos relacionales no son una opción razonable para bases de datos a gran escala o cargas de trabajo distribuidas. Aunque muchas bases de datos distribuidas no son relacionales, son opciones para cargas de trabajo de bases de datos relacionales distribuidas.

Muchas de estas opciones para las bases de datos relacionales distribuidas requieren que su organización planee una gran escala y distribución desde el principio del proyecto. Este requisito de planeación puede agregar una complejidad significativa al principio de un proyecto para asegurarse de que todos los nodos de servidor pertinentes están configurados, administrados y mantenidos por el equipo. Los requisitos de planeamiento, implementación y redes para una base de datos relacional distribuida globalmente pueden crecer fácilmente para ser mucho más complejos que mantener una sola instancia (o nodo).

Azure Cosmos DB

Azure Cosmos DB es una plataforma de base de datos que ofrece API de datos distribuidas en variantes NoSQL y relacionales. En concreto, la API relacional para Azure Cosmos DB se basa en PostgreSQL y la extensión Citus.

Citus es una extensión de PostgreSQL que agrega compatibilidad a Postgres para la distribución de datos y transacciones. Azure Cosmos DB for PostgreSQL es un servicio totalmente administrado, mediante Citus, que proporciona automáticamente alta disponibilidad sin necesidad de planear, administrar y mantener manualmente nodos de servidor individuales. Con la API para PostgreSQL, puede empezar con un clúster de nodo único totalmente administrado, compilar la solución de base de datos y, después, escalarla de forma inmediata a medida que las necesidades de la aplicación crecen con el tiempo. Con la API para PostgreSQL, no es necesario planear un proyecto de distribución complejo de antemano ni planear un proyecto para migrar los datos de un solo nodo a una base de datos distribuida más adelante.

Pasos siguientes

¿Quiere empezar a trabajar con Azure Cosmos DB?