NoSQL Flashcards

(115 cards)

1
Q

¿Qué significa actualmente el acrónimo NoSQL?

A

Not Only SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué es el “impedance mismatch”?

A

La dificultad de mapear objetos de programación a tablas relacionales rígidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué significa que una base de datos sea “Schema-less”?

A

Que no requiere definir una estructura fija de campos antes de insertar datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Por qué la lectura de datos complejos es más rápida en NoSQL?

A

Porque los datos relacionados suelen estar incrustados en el mismo documento (desnormalización).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuál es el formato de almacenamiento más común en bases de datos documentales?

A

El formato JSON (o BSON en el caso de MongoDB).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es el Escalado Horizontal?

A

Añadir más servidores económicos a un clúster en lugar de aumentar la potencia de uno solo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿En qué consiste el Sharding?

A

En dividir la base de datos en fragmentos y repartirlos entre distintos servidores físicos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es la Shard Key?

A

El campo o propiedad que utiliza la base de datos para decidir en qué fragmento (shard) guardar un dato.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Según el Teorema de CAP, ¿qué tres propiedades entran en conflicto?

A

Consistencia, Disponibilidad y Tolerancia a particiones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué significa Consistencia Eventual?

A

Que los cambios se propagarán a todos los nodos, pero puede haber un breve lapso donde no todos tengan la última versión.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué significa la “C” en el modelo BASE?

A

Consistencia Eventual: los datos acabarán siendo iguales en todos los nodos tras un tiempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Por qué las NoSQL sacrifican la consistencia inmediata?

A

Para lograr una alta disponibilidad y poder escalar en múltiples servidores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué significa que un sistema sea Basically Available?

A

Que el sistema prioriza dar una respuesta (aunque sea parcial) antes que bloquearse esperando datos perfectos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Puede una base de datos NoSQL ser transaccional?

A

Sí, muchas modernas lo permiten ahora, pero suele afectar al rendimiento global.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿En qué tipo de aplicación es inaceptable la Consistencia Eventual?

A

En aplicaciones financieras o contables donde el saldo debe ser exacto en todo momento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué establece el Teorema de CAP?

A

Que un sistema distribuido solo puede garantizar dos de tres propiedades: Consistencia, Disponibilidad y Tolerancia a particiones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Por qué la “P” se considera obligatoria en la nube?

A

Porque en sistemas distribuidos los fallos de red son inevitables; el sistema debe saber manejarlos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué sacrifica un sistema AP durante una partición?

A

Sacrifica la Consistencia (puede devolver datos desactualizados).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué ocurre en un sistema CP si hay un error de comunicación?

A

El sistema prefiere dejar de responder (perder disponibilidad) antes que dar un dato inconsistente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué modelo (ACID o BASE) suele estar alineado con los sistemas AP?

A

El modelo BASE (Consistencia Eventual).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Por qué se considera a los RDBMS tradicionales como sistemas CA?

A

Porque priorizan la Consistencia y la Disponibilidad en entornos donde no hay fallos de red (un solo nodo).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué sucede si un RDBMS distribuido sufre una partición de red?

A

Generalmente deja de estar disponible (bloquea escrituras) para asegurar que los datos no sean inconsistentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué propiedad de SQL garantiza que sea un sistema Consistente?

A

Las propiedades ACID.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Es posible un sistema CA puro en una red distribuida como Internet?

A

No, porque la Tolerancia a Particiones (P) es obligatoria debido a que los fallos de red son inevitables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿En qué se convierte un RDBMS cuando se distribuye y hay un fallo de red?
Se comporta como un sistema CP (Consistente y Tolerante a particiones, pero no disponible).
26
¿Qué sacrifica un sistema CP ante un fallo de red?
La Disponibilidad (el sistema puede dejar de responder).
27
¿Qué garantiza un sistema CP por encima de todo?
La Consistencia (todos ven el mismo dato al mismo tiempo).
28
¿Qué ocurre en un cluster de MongoDB si el nodo Primario queda aislado?
El sistema detiene las escrituras y realiza una elección para nombrar un nuevo Primario.
29
¿Cuál es un uso típico de etcd, un sistema CP famoso?
Almacenar la configuración y el estado de clusters de Kubernetes.
30
¿Qué algoritmo suelen usar los sistemas CP para ponerse de acuerdo?
Algoritmos de consenso como Raft o Paxos.
31
¿En qué formato binario guarda MongoDB los datos internamente?
En BSON (Binary JSON).
32
¿Qué componente de la arquitectura gestiona las elecciones de un nuevo líder?
El Replica Set.
33
¿Cómo se llama el proceso de distribuir los datos en múltiples servidores?
Sharding (Fragmentación).
34
¿Cuál es la función del proceso Mongos?
Actuar como un enrutador de consultas que dirige al cliente al Shard correcto.
35
¿Qué motor de almacenamiento usa MongoDB por defecto actualmente?
WiredTiger.
36
¿Qué significa que un sistema sea AP?
Que prioriza la Disponibilidad y la Tolerancia a particiones sobre la Consistencia inmediata.
37
¿Qué modelo de consistencia suelen implementar los sistemas AP?
La Consistencia Eventual (modelo BASE).
38
¿Cuál es la principal ventaja de Cassandra frente a un sistema CP?
No tiene un "punto único de fallo" (sin maestro) y escala linealmente de forma global.
39
¿Qué ocurre durante una partición de red en un sistema AP?
El sistema sigue aceptando lecturas y escrituras, aunque los nodos no puedan sincronizarse al momento.
40
¿En qué tipo de aplicaciones es ideal el enfoque AP?
En aplicaciones que requieren baja latencia y alta disponibilidad, como redes sociales o carritos de compra.
41
¿Cómo se llama el protocolo de comunicación entre nodos en Cassandra?
Gossip Protocol.
42
¿Qué sucede si el nodo "maestro" de Cassandra falla?
Nada, porque no existe un maestro; es una arquitectura descentralizada Peer-to-Peer.
43
¿Qué es una SSTable?
Un archivo inmutable en disco donde Cassandra guarda los datos de forma permanente.
44
¿Para qué sirven los Vnodes (Nodos Virtuales)?
Para distribuir los datos de forma equitativa entre todos los servidores físicos del anillo.
45
¿Qué significa Consistencia Ajustable?
Que el desarrollador puede elegir el nivel de éxito de una operación (ej. QUORUM o ONE) según la necesidad.
46
¿Cuál es la unidad mínima de almacenamiento en la familia NoSQL de MongoDB?
El documento (normalmente en formato JSON o BSON).
47
¿Qué significa que un documento sea "auto-descriptivo"?
Que incluye tanto los nombres de los campos como sus valores en el mismo objeto.
48
¿Cuál es la principal ventaja de poder "anidar" datos?
Evita la necesidad de usar JOINs, ya que los datos relacionados se guardan juntos.
49
¿Qué permite el "Esquema Dinámico"?
Que documentos de la misma colección tengan diferentes campos sin previo aviso.
50
¿Cómo se suelen representar las relaciones uno-a-muchos en este modelo?
Mediante el uso de arrays o listas incrustadas dentro del propio documento.
51
¿Qué significa que una base de datos sea "Sparse" (dispersa)?
Que las columnas vacías no ocupan espacio; solo se almacena lo que tiene valor.
52
¿Cuál es la principal ventaja de guardar los datos por columnas?
Permite una compresión mucho mayor y lecturas ultra rápidas de columnas específicas.
53
¿Para qué sirve el Timestamp en cada celda?
Para gestionar diferentes versiones del mismo dato y resolver conflictos en redes distribuidas.
54
¿Cómo se llama el grupo lógico de columnas que se almacenan juntas?
Column Family.
55
¿Qué tipo de escalado utilizan principalmente estos sistemas?
Escalado Horizontal (añadir más nodos al cluster).
56
¿Qué base de datos es la implementación en C++ de alto rendimiento de Cassandra?
ScyllaDB.
57
¿En qué ecosistema de Big Data suele vivir HBase?
En el ecosistema de Apache Hadoop (sobre HDFS).
58
¿Quién es el creador original del concepto que inspiró a estas bases de datos?
Google, a través de su artículo sobre Bigtable.
59
¿Por qué Hypertable ya no es una opción recomendada?
Porque ha perdido soporte y tracción frente a la madurez de HBase y Cassandra.
60
¿Qué servicio de Google Cloud permite manejar petabytes con el modelo de columnas?
Cloud Bigtable.
61
¿Cuál es la unidad básica de almacenamiento en la familia de Redis?
Una pareja de Clave (Key) y Valor (Value).
62
¿Por qué se dice que el Valor es una "caja negra" para la base de datos?
Porque el motor normalmente no inspecciona el contenido del valor, solo lo almacena y lo entrega.
63
¿Cuál es el principal caso de uso de estas bases de datos?
Sistemas de Caché, gestión de Sesiones y carritos de compra rápidos.
64
¿Qué significa la característica TTL?
Time To Live: permite que un dato se elimine automáticamente después de un tiempo determinado.
65
¿Se pueden realizar búsquedas por el contenido del "Valor" de forma eficiente, en las BBDD Clave-Valor?
No, generalmente solo se puede buscar por la Clave.
66
¿Cuál es la base de datos clave-valor más popular para caché y mensajería?
Redis.
67
¿Qué diferencia a Memcached de Redis?
Memcached es más simple y puramente en memoria; Redis ofrece estructuras de datos complejas y persistencia.
68
¿Qué producto de tu lista es el antecesor "obsoleto" de DynamoDB?
SimpleDB.
69
¿Qué base de datos clave-valor es el corazón de Kubernetes?
Etcd.
70
¿Por qué Voldemort ya no se suele elegir para proyectos nuevos?
Porque ha sido superado en soporte y funcionalidad por Cassandra y DynamoDB.
71
¿Cuáles son los tres componentes básicos de un grafo?
Nodos (entidades), Relaciones (conexiones) y Propiedades (atributos).
72
¿Qué es la "Adyacencia sin índices"?
La capacidad de un nodo para conocer a sus vecinos directamente sin buscar en un índice global.
73
¿Por qué son mejores que SQL para redes sociales?
Porque navegar por relaciones de muchos niveles (N-saltos) es órdenes de magnitud más rápido.
74
¿Qué representa una "Arista" o "Borde" en un grafo?
La relación dirigida entre dos nodos.
75
¿En qué tipo de análisis destacan estas bases de datos?
En la detección de fraude, motores de recomendación y análisis de redes sociales.
76
¿Cuál es la base de datos de grafos más utilizada en el mundo?
Neo4j.
77
¿Qué lenguaje de consulta popularizó Neo4j?
Cypher.
78
¿Por qué FlockDB ya no es relevante?
Porque era demasiado específica para Twitter y no permite recorridos profundos de grafos.
79
¿Qué base de datos de grafos es ideal para análisis en tiempo real en memoria?
Memgraph.
80
¿Qué diferencia a AllegroGraph de Neo4j?
AllegroGraph se centra en RDF/Web Semántica, mientras que Neo4j se centra en Property Graphs.
81
¿Cuál es el principal problema que resuelven las BDOO?
El desajuste de impedancia (impedance mismatch) entre la POO y las tablas.
82
¿Qué es el OID?
Object Identifier: un identificador único, inmutable e independiente del contenido generado por el sistema.
83
¿Qué diferencia a una BDOO de una Relacional en cuanto a relaciones?
Las BDOO usan referencias directas entre objetos en lugar de claves foráneas y JOINs.
84
¿Qué además de los datos puede almacenar una BDOO?
El comportamiento (métodos y funciones) de los objetos.
85
¿Para qué tipo de aplicaciones son especialmente útiles las BDOO?
Aplicaciones con objetos complejos como sistemas CAD, multimedia o ingeniería de software.
86
¿Qué base de datos de objetos es la más usada en el ecosistema Java?
ObjectDB.
87
¿Para qué se usa principalmente ZODB?
Para aplicaciones Python (como Plone) que necesitan guardar objetos nativos sin traducir.
88
¿En qué tipo de industria destaca ObjectStore?
En telecomunicaciones y diseño de hardware (sistemas de alta velocidad).
89
¿Qué ocurrió con Versant?
Fue adquirida por Actian y ahora se comercializa como "Actian NoSQL DB".
90
¿Qué producto BDOO es el estándar "de facto" en aplicaciones de salud y hospitales?
InterSystems IRIS (evolución de Caché).
91
¿Qué es Matisse en el mundo NoSQL?
Una base de datos orientada a objetos de alto rendimiento para sistemas de misión crítica.
92
¿Qué significa OQL?
Object Query Language: el lenguaje estándar para realizar consultas sobre bases de datos de objetos.
93
¿Cómo se resuelven las relaciones en OQL a diferencia de SQL?
Mediante navegación por puntos (ej. objeto.hijo.nombre) en lugar de JOINs.
94
¿Qué ventaja ofrece Matisse respecto al esquema?
Permite modificaciones dinámicas del esquema en tiempo real sin detener el sistema.
95
¿En qué lenguajes modernos sobrevive la influencia de OQL?
En JPQL (Java) y HQL (Hibernate).
96
¿Qué significa que una base de datos XML sea "Nativa" (NXD)?
Que utiliza el modelo de datos XML como su estructura de almacenamiento interna, no solo como formato de entrada.
97
¿Cuáles son los dos lenguajes estándar para consultar una base de datos XML?
XPath (para navegación) y XQuery (para consultas complejas).
98
¿Qué herramientas se usan para validar la estructura en las bases de datos XML?
XML Schema (XSD) y DTD.
99
¿Cuál es la principal ventaja de las XML sobre las relacionales?
Su capacidad para manejar datos semi-estructurados y jerarquías muy profundas sin JOINs.
100
¿Cómo gestionan los documentos muy grandes?
Mediante la indexación de rutas y el almacenamiento basado en árboles de nodos.
101
¿Cuál es la base de datos XML de código abierto más completa para crear aplicaciones?
eXist-db.
102
¿Qué ocurrió con Apache XIndice?
Es un proyecto descatalogado y obsoleto que ya no se utiliza.
103
¿Cuál es el motor comercial líder para gestionar documentos a escala gubernamental?
MarkLogic.
104
¿Qué ventaja ofrece Berkeley DB XML frente a BaseX?
Es una base de datos embebida (se integra en el código) en lugar de un servidor independiente.
105
¿Por qué BaseX es tan popular en la ciencia?
Por su ligereza y soporte excelente de los estándares XQuery más recientes.
106
¿Cuál es la característica de "Variedad" en Big Data?
Se refiere a la convivencia de datos estructurados, semi-estructurados y no estructurados.
107
¿Qué diferencia al Big Data de una base de datos tradicional?
Que supera la capacidad de las herramientas convencionales para capturar, gestionar y procesar los datos.
108
¿Qué significa la "Velocidad" en el contexto de Big Data?
La rapidez con la que los datos llegan y deben ser procesados o analizados.
109
¿Cuál es el objetivo final de aplicar Big Data (la "V" de Valor)?
Convertir datos brutos en conocimiento útil y decisiones estratégicas.
110
¿En qué consiste el Análisis Predictivo?
En usar datos masivos para identificar patrones y anticipar eventos futuros.
111
¿Qué herramienta sustituyó a MapReduce por ser mucho más rápida al usar la RAM?
Apache Spark.
112
¿Para qué sirve HDFS en un cluster de Big Data?
Para el almacenamiento distribuido de archivos masivos en muchos servidores.
113
¿Cuál es la función principal de Apache Hive?
Permitir hacer consultas SQL sobre datos almacenados en Hadoop.
114
¿Qué herramienta es el estándar actual para procesar eventos en tiempo real?
Apache Kafka.
115
¿Por qué Mesos está en desuso frente a Kubernetes?
Porque Kubernetes se ha convertido en el estándar universal para la orquestación de contenedores y recursos.