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.