Big Data y Sistemas NoSQL
Los sistemas de Big Data y NoSQL son las tecnologías de gestión de datos construidas para el volumen, la velocidad y la variedad con las que las bases de datos relacionales tenían dificultades, intercambiando las estrictas garantías relacionales por escalabilidad horizontal, esquemas flexibles y alta disponibilidad.
Definition
Los sistemas de Big Data son plataformas de gestión de datos diseñadas para conjuntos de datos demasiado grandes, rápidos o variados para las bases de datos tradicionales de un solo nodo; los sistemas NoSQL son almacenes no relacionales que adoptan modelos de datos flexibles y consistencia relajada para lograr escalabilidad horizontal y disponibilidad.
Scope
Esta área cubre los sistemas de datos diseñados para una escala masiva: almacenes NoSQL (clave-valor, documentos, columnas anchas y grafos) y sus modelos de datos flexibles; marcos de procesamiento de datos paralelos derivados de MapReduce; las compensaciones de consistencia-disponibilidad capturadas por el teorema CAP y el espectro de modelos de consistencia; y el almacenamiento de datos y OLAP para análisis a gran escala. Trata cómo estos sistemas relajan o reorganizan las suposiciones relacionales para la escala. Excluye los aspectos internos de la confirmación distribuida y la ejecución de consultas paralelas, que se cubren en el área de bases de datos distribuidas y paralelas.
Sub-topics
Core questions
- ¿Qué necesidades de escalabilidad y flexibilidad impulsaron el avance más allá de las bases de datos relacionales?
- ¿Qué modelos de datos proporcionan las principales categorías NoSQL?
- ¿Cómo procesan los marcos de datos paralelos enormes conjuntos de datos en clústeres?
- ¿Qué compensaciones de consistencia-disponibilidad describe el teorema CAP?
- ¿Cómo apoyan los almacenes de datos y OLAP las consultas analíticas a gran escala?
Key concepts
- almacenes de clave-valor, documentos, columnas anchas, grafos
- escalabilidad horizontal
- flexibilidad de esquema
- MapReduce y procesamiento de datos paralelos
- teorema CAP
- consistencia eventual
- BASE versus ACID
- almacenamiento de datos y OLAP
Key theories
- Almacenes NoSQL escalables horizontalmente
- Los sistemas NoSQL abandonan el modelo relacional de un solo nodo en favor de modelos de clave-valor, documentos, columnas anchas o grafos que fragmentan y replican en clústeres de productos básicos, priorizando la escalabilidad y la disponibilidad sobre las consultas enriquecidas y la consistencia fuerte.
- Procesamiento de datos paralelos
- Los marcos que siguen el modelo MapReduce expresan cálculos a gran escala como fases paralelas de mapeo y reducción sobre datos particionados, ocultando la complejidad de la distribución, la programación y la tolerancia a fallos al programador.
- Compensación CAP
- El teorema CAP establece que un almacén de datos distribuido no puede garantizar simultáneamente consistencia, disponibilidad y tolerancia a particiones, lo que obliga a los diseñadores a elegir, durante una partición de red, entre consistencia y disponibilidad.
Clinical relevance
Los sistemas de Big Data y NoSQL impulsan la infraestructura de datos de la web moderna: los almacenes de clave-valor y de columnas anchas respaldan servicios de alto tráfico, los marcos de datos paralelos procesan registros y flujos de clics a escala, y los almacenes de datos sirven para el análisis empresarial, lo que hace que estos sistemas sean centrales para la ingeniería de datos y las aplicaciones a gran escala.
History
Las cargas de trabajo a escala de Internet en la década de 2000 excedieron lo que las bases de datos relacionales de un solo nodo podían manejar. MapReduce de Google (2004/2008) y el ecosistema de código abierto Hadoop permitieron el procesamiento de datos a escala de clúster; Dynamo de Amazon (2007) y Bigtable de Google inspiraron una ola de almacenes NoSQL; y el teorema CAP de Brewer enmarcó las compensaciones de consistencia-disponibilidad que estos sistemas encarnan.
Debates
- Consistencia fuerte versus eventual
- Los sistemas NoSQL a menudo eligen la disponibilidad y la consistencia eventual para mantenerse receptivos bajo particiones, pero esto traslada el manejo de conflictos a las aplicaciones; el campo debate cuándo la consistencia eventual es aceptable y cuándo los sistemas más nuevos deberían restaurar garantías más fuertes.
Key figures
- Jeffrey Dean
- Sanjay Ghemawat
- Eric Brewer
- Werner Vogels
Related topics
Seminal works
- dean2008
- decandia2007
- brewer2012
Frequently asked questions
- ¿NoSQL significa que no hay SQL en absoluto?
- No. NoSQL generalmente se interpreta como 'no solo SQL'. Se refiere a almacenes de datos que no se basan en el modelo relacional y no se centran en SQL, pero muchos sistemas NoSQL ofrecen interfaces de consulta similares a SQL, y el término cubre una amplia familia —bases de datos de clave-valor, documentos, columnas anchas y grafos— en lugar de una única tecnología.
- ¿Cuándo debo elegir un sistema NoSQL en lugar de una base de datos relacional?
- Los sistemas NoSQL son atractivos cuando se necesita escalar horizontalmente en muchas máquinas, almacenar datos flexibles o en rápida evolución, o maximizar la disponibilidad para patrones de acceso simples. Las bases de datos relacionales siguen siendo preferibles cuando se necesitan consultas enriquecidas, uniones complejas y una fuerte consistencia transaccional sobre datos estructurados.