Parte 2 - Tema 47 Flashcards
Bases de datos no relacionales
¿Qué son las bases de datos no relacionales?
Son sistemas de gestión de bases de datos que no se basan en el modelo relacional de tablas y registros, sino que utilizan estructuras de datos más flexibles para almacenar y gestionar grandes volúmenes de datos variados.
¿Cuáles son las principales características de las bases de datos no relacionales?
Alta escalabilidad, flexibilidad, rendimiento y capacidad para manejar datos no estructurados o semiestructurados.
¿En qué tipo de aplicaciones se utilizan comúnmente las bases de datos no relacionales?
Big data, Internet de las cosas (IoT), aplicaciones móviles, análisis de redes sociales, almacenamiento de objetos digitales.
¿Qué es el teorema CAP?
El teorema CAP establece que en un sistema distribuido es imposible garantizar simultáneamente consistencia, disponibilidad y tolerancia a particiones.
¿Qué significa cada término del teorema CAP?
- Consistencia: Todos los nodos del sistema ven los mismos datos al mismo tiempo.
- Disponibilidad: El sistema siempre responde a las solicitudes de los clientes.
- Tolerancia a particiones: El sistema continúa funcionando correctamente incluso si parte de la red falla.
¿Por qué es importante el teorema CAP para las bases de datos no relacionales?
Ayuda a comprender las compensaciones que se deben hacer al diseñar un sistema distribuido y a elegir la base de datos más adecuada para una aplicación específica.
¿Qué es el principio BASE?
El principio BASE es un conjunto de características que contrastan con el teorema CAP y se aplica a las bases de datos no relacionales.
¿Qué significa cada término del principio BASE?
- Basically Available: Básicamente disponible, el sistema puede responder a las solicitudes incluso en caso de fallas.
- Soft state: El estado del sistema puede cambiar con el tiempo, incluso sin entradas externas.
- Eventually consistent: La consistencia se logra eventualmente, pero no se garantiza de forma inmediata.
¿Cómo se relaciona el principio BASE con las bases de datos no relacionales?
Muchas bases de datos no relacionales priorizan la disponibilidad y la tolerancia a particiones, sacrificando la consistencia inmediata para lograr una mayor escalabilidad y rendimiento.
BASE Vs ACID
El principio BASE contrasta con el principio ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad), que es el estándar para las bases de datos relacionales. Mientras que ACID garantiza la consistencia de los datos en todo momento, BASE prioriza la disponibilidad y la tolerancia a fallos.
¿Cuándo utilizar BASE?
- Aplicaciones con alta disponibilidad: Servicios web, aplicaciones móviles, IoT.
- Grandes volúmenes de datos: Análisis de big data, almacenamiento de objetos.
- Datos débilmente consistentes: Aplicaciones donde la consistencia eventual es suficiente, como redes sociales y sistemas de recomendación.
¿Qué caracteriza a una base de datos documental?
Almacenan datos en documentos semiestructurados, como JSON o BSON. Cada documento puede tener una estructura diferente, lo que las hace muy flexibles.
Ejemplo: MongoDB
¿Cómo funcionan las bases de datos clave-valor?
Almacenan datos como pares clave-valor. Son muy simples y eficientes para operaciones de lectura y escritura.
Ejemplo: Redis
¿Cuál es la ventaja principal de las bases de datos de columnas?
Optimizadas para consultas analíticas sobre grandes volúmenes de datos, almacenando los datos por columna en lugar de por fila.
Ejemplo: Cassandra
¿Para qué tipo de datos son ideales las bases de datos gráficas?
Modelan datos como nodos (entidades) y relaciones (conexiones). Son perfectas para representar datos con relaciones complejas, como redes sociales o sistemas de recomendación.
Ejemplo: Neo4j
¿Cuándo es recomendable utilizar una base de datos documental?
Cuando se necesita flexibilidad en la estructura de los datos y se tienen grandes volúmenes de datos semiestructurados.
¿Cuándo es adecuada una base de datos clave-valor?
Para aplicaciones que requieren altas tasas de lectura y escritura, como sistemas de caché o contadores.
¿Cuándo se utiliza una base de datos de columnas?
Para análisis de grandes volúmenes de datos históricos y consultas analíticas de alta performance.
¿Cuándo es ideal una base de datos gráfica?
Cuando se necesitan modelar relaciones complejas entre datos, como en redes sociales, sistemas de recomendación o análisis de fraudes.
¿Cuál es la principal diferencia en términos de estructura de datos?
Las bases de datos relacionales utilizan tablas con filas y columnas, mientras que las no relacionales ofrecen estructuras más flexibles como documentos, claves-valor, columnas o grafos.
¿En qué se diferencian en términos de escalabilidad?
Las bases de datos no relacionales suelen ser más escalables horizontalmente, lo que las hace ideales para grandes volúmenes de datos.
¿Cuál es la diferencia en términos de consistencia?
Las bases de datos relacionales garantizan la consistencia ACID, mientras que las no relacionales suelen seguir el principio BASE, priorizando la disponibilidad y la tolerancia a fallos.
¿Dónde se utilizan las bases de datos documentales?
En aplicaciones como CMS, gestión de contenidos, almacenamiento de logs y análisis de datos.
¿Dónde se utilizan las bases de datos clave-valor?
En sistemas de caché, sesiones de usuario, contadores y almacenamiento de datos temporales.
¿Dónde se utilizan las bases de datos de columnas?
En análisis de datos de grandes volúmenes, como en telemetría, análisis de clics y almacenamiento de datos históricos.
¿Dónde se utilizan las bases de datos gráficas?
En redes sociales, sistemas de recomendación, análisis de fraudes y bioinformática.
¿Qué es Big Data?
Big Data se refiere a conjuntos de datos extremadamente grandes y complejos que son difíciles de procesar con herramientas de gestión de bases de datos tradicionales. Estos datos suelen ser de alta velocidad, gran volumen y variedad.
¿Cuál es el rol de las bases de datos no relacionales en Big Data?
Las bases de datos no relacionales son ideales para almacenar y procesar grandes volúmenes de datos estructurados, semiestructurados y no estructurados, ofreciendo escalabilidad, flexibilidad y alta disponibilidad.
¿Qué es el ecosistema Hadoop?
Hadoop es una plataforma de código abierto diseñada para almacenar y procesar grandes conjuntos de datos de forma distribuida y paralela. Está compuesto por varias herramientas, como HDFS, MapReduce, YARN y HBase.
¿Cuál es la relación entre HBase y Hadoop?
HBase es una base de datos NoSQL construida sobre HDFS, la capa de almacenamiento distribuido de Hadoop. Permite almacenar grandes cantidades de datos de manera estructurada o semiestructurada y acceder a ellos de forma eficiente.
¿Qué otras bases de datos NoSQL se utilizan comúnmente en el ecosistema Hadoop?
Además de HBase, otras opciones populares incluyen Cassandra, Accumulo y Kudu.
¿Cuáles son las ventajas de utilizar bases de datos NoSQL en Hadoop?
Alta escalabilidad, flexibilidad para manejar diferentes tipos de datos, alta disponibilidad y bajo costo.
¿Cómo se captura y almacena el Big Data en Hadoop?
Los datos se capturan de diversas fuentes (redes sociales, sensores, etc.) y se almacenan en HDFS, que los divide en bloques y los distribuye a través de múltiples nodos.
¿Cuál es el papel de MapReduce en el procesamiento de datos en Hadoop?
MapReduce es un modelo de programación que permite procesar grandes conjuntos de datos de forma paralela y distribuida. Divide el trabajo en tareas de map y reduce, que se ejecutan en múltiples nodos de la cluster.
¿Cómo se extrae valor de los datos almacenados en Hadoop?
Mediante el análisis de datos, la minería de datos y la creación de modelos predictivos. Herramientas como Spark, Mahout y TensorFlow se utilizan para realizar estas tareas.
¿Cuáles son algunos ejemplos de aplicaciones de Big Data y Hadoop?
Análisis de redes sociales, recomendaciones personalizadas, detección de fraudes, análisis de sentimiento, Internet de las Cosas (IoT).