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