Almacenes de datos NoSQL
Los almacenes de datos NoSQL son bases de datos no relacionales —clave-valor, documentos, columnas anchas y grafos— que adoptan modelos de datos flexibles y estrategias de distribución para escalar horizontalmente y mantenerse disponibles a costa de algunas garantías relacionales.
Definition
Un almacén de datos NoSQL es una base de datos que se aparta del modelo relacional, organizando los datos como pares clave-valor, documentos, columnas anchas dispersas o grafos, y típicamente distribuyéndolos a través de un clúster con replicación y consistencia relajada para lograr escalabilidad y disponibilidad.
Scope
Este tema cubre las principales categorías de sistemas NoSQL y sus modelos de datos: almacenes clave-valor para búsquedas simples, almacenes de documentos para registros anidados, almacenes de columnas anchas para tablas grandes y dispersas, y bases de datos de grafos para datos altamente conectados. Trata las elecciones de diseño comunes a estos sistemas —fragmentación (sharding), replicación y consistencia ajustable— y los patrones de acceso que cada modelo se adapta. Excluye la teoría general de la consistencia (CAP y modelos de consistencia) y los marcos de procesamiento, que son temas adyacentes.
Core questions
- ¿Qué modelo de datos proporciona cada categoría NoSQL (clave-valor, documento, columna ancha, grafo)?
- ¿Qué patrones de acceso y cargas de trabajo se adaptan a cada categoría?
- ¿Cómo fragmentan (shard) y replican los almacenes NoSQL los datos para la escalabilidad y disponibilidad?
- ¿Qué características relacionales (uniones, transacciones, esquemas) relajan y por qué?
- ¿Cómo permiten las configuraciones de consistencia ajustables que las aplicaciones equilibren la latencia y la actualidad de los datos?
Key concepts
- almacén clave-valor
- almacén de documentos
- almacén de columnas anchas
- base de datos de grafos
- fragmentación (sharding) y replicación
- consistencia ajustable
- flexibilidad de esquema
- patrones de acceso desnormalizados
Key theories
- Modelos clave-valor y de columnas anchas
- Los almacenes clave-valor mapean claves opacas a valores para búsquedas simples y rápidas, mientras que los almacenes de columnas anchas organizan los datos en filas con familias de columnas flexibles y dispersas; ambos, ejemplificados por Dynamo y Bigtable, escalan a grandes clústeres con fragmentación (sharding) y replicación.
- Modelos de documentos y grafos
- Los almacenes de documentos contienen registros anidados autodescriptivos (a menudo JSON) y admiten consultas sobre su estructura, mientras que las bases de datos de grafos modelan entidades y relaciones como nodos y aristas optimizados para el recorrido de datos altamente conectados.
- Garantías relajadas para la escalabilidad
- Para escalar horizontalmente y permanecer disponibles, muchos almacenes NoSQL relajan los esquemas, eliminan las transacciones de varias filas y las uniones, y ofrecen consistencia ajustable o eventual, transfiriendo parte de la responsabilidad de la integridad a la aplicación.
Clinical relevance
Los almacenes NoSQL son componentes ampliamente utilizados en los servicios de internet: los almacenes clave-valor y de columnas anchas respaldan el estado de la sesión, los catálogos y los datos de series temporales a una escala masiva; los almacenes de documentos se adaptan a datos de aplicaciones flexibles; y las bases de datos de grafos impulsan los sistemas de recomendación y detección de fraudes, lo que hace que el conocimiento de sus modelos sea esencial para la ingeniería de datos.
History
El movimiento NoSQL surgió de la necesidad de las empresas de internet de escalar más allá de las bases de datos relacionales de un solo nodo. Bigtable de Google (2006/2008) introdujo el modelo de columnas anchas y Dynamo de Amazon (2007) el modelo clave-valor altamente disponible y eventualmente consistente; estos diseños influyentes generaron una generación de bases de datos de código abierto clave-valor, documentos, columnas anchas y grafos a finales de la década de 2000 y en la década de 2010.
Key figures
- Werner Vogels
- Jeffrey Dean
- Sanjay Ghemawat
Related topics
Seminal works
- decandia2007
- chang2008
Frequently asked questions
- ¿Cómo elijo entre almacenes clave-valor, de documentos, de columnas anchas y de grafos?
- Haga coincidir el modelo con el patrón de acceso: clave-valor para búsquedas simples por una clave conocida; documento para registros autocontenidos y anidados consultados por sus campos; columna ancha para tablas muy grandes y dispersas con acceso predecible por clave de fila; y grafo para datos dominados por relaciones y recorridos, como redes sociales o recomendaciones.
- ¿Los almacenes NoSQL admiten transacciones?
- Históricamente, muchos almacenes NoSQL ofrecían solo operaciones atómicas de clave única y no transacciones de múltiples registros, intercambiándolas por escalabilidad. Esto ha cambiado: varios sistemas NoSQL modernos y 'NewSQL' ahora proporcionan transacciones multidocumento o incluso distribuidas, por lo que el soporte transaccional varía ampliamente y debe verificarse por sistema.