B2-T5_NoSQL Flashcards
¿Como se llama a la técnica de particionado de datos en diferentes nodos?
Sharding
¿Qué es lo que no garantizan los sistemas NoSQL frente a los relacionales?
Las propiedades ACID. En lugar de eso se habla de BASE (Basically Available Soft state Eventually)
Dentro de un sistema distribuido, ¿qué dice el Teorema CAP o de Brewer?
El teorema CAP establece que, en un sistema distribuido, solo se pueden garantizar dos de los tres siguientes aspectos al mismo tiempo:
C (Consistency): Todos los nodos ven los mismos datos al mismo tiempo, es decir, cada vez que se realiza una operación de lectura, el sistema devuelve los datos más recientes.
A (Availability): El sistema siempre responde a las solicitudes de lectura o escritura, incluso si algunos nodos están caídos.
P (Partition Tolerance): El sistema sigue funcionando correctamente incluso si hay fallos de comunicación entre los nodos del clúster (es decir, si se producen particiones de red).
En resumen, dicho Teorema CAP dice que no se pueden garantizar simultáneamente las siguiente propiedades:
* Consistencia
* Disponibilidad
* Tolerancia al particionado
¿Porque algunos sistemas como MongoDB cumplen dentro del teorema CAP el par CP (Consistencia y Tolerancia al Particionado)?
Porque al tener una arquitectura Master/Slave, si se cae el nodo Master perderíamos disponibilidad.
¿Porque algunos sistemas como Cassandra cumplen dentro del teorema CAP el par AP (Disponibilidad y Tolerancia al Particionado)?
Porque al tener una arquitectura de nodos “peer”, lo que se escribe en un nodo tiene que propagarse por toda la red y no habría consistencia durante unos instantes.
¿Dentro del teorema CAP, que tipo de productos son aquellos que responden al par CA?
RDBMS
NOTA:
Dentro del Teorema CAP (Consistency, Availability, Partition Tolerance), los productos que responden al par CA son aquellos que priorizan la Consistencia y la Disponibilidad, pero sacrifican la Tolerancia a particiones.
¿Qué tipo de producto NoSQL es OrientDB?
Multimodelo (documental, grafo, etc)
¿Qué tipo de producto NoSQL es Redis?
Clave-valor
¿Qué tipo de producto NoSQL es Neo4j?
Neo4j es una base de datos NoSQL de GRAFOS.
A diferencia de las bases de datos tradicionales basadas en tablas (relacionales), que almacenan datos en filas y columnas, Neo4j organiza la información en nodos (representando entidades o elementos) y relaciones (que conectan esos nodos, indicando cómo están relacionados entre sí).
¿Qué tipo de producto NoSQL es Zope?
Orientado a Objetos
¿Qué tipo de producto NoSQL es HBase?
Basado en columnas
¿Qué tipo de producto NoSQL es CouchDB?
Documental
¿Qué tipo de producto NoSQL es Cassandra?
Cassandra es una base de datos NoSQL de tipo columna o base de datos orientada a columnas.
A diferencia de las bases de datos relacionales que organizan los datos en filas y columnas (tablas), las bases de datos orientadas a columnas almacenan los datos en estructuras de columnas, lo que las hace especialmente eficaces para operaciones de lectura y escritura rápidas en grandes volúmenes de datos distribuidos.
¿Qué tipo de producto NoSQL es Versant?
Versant es una base de datos NoSQL orientada a OBJETOS.
A diferencia de las bases de datos tradicionales que usan tablas (relacionales) o documentos (orientadas a documentos), una base de datos orientada a objetos almacena los datos como objetos, de manera similar a cómo se representan en los lenguajes de programación orientados a objetos (como Java, C#, C++, etc.).
¿Qué tipo de producto NoSQL es RavenDB?
RavenDB es una base de datos NoSQL orientada a documentos.
Este tipo de base de datos almacena los datos en documentos, que generalmente están en formato JSON, BSON o XML. Cada documento es una unidad autónoma que puede contener estructuras complejas, como listas, objetos y valores anidados, lo que le da flexibilidad para almacenar datos semi-estructurados o desestructurados.
NOTA: En RavenDB, los documentos se organizan en colecciones, y no es necesario definir un esquema rígido de antemano, lo que permite que los datos evolucionen sin necesidad de migraciones complejas.
¿Que tipo de producto NoSQL es Voldemort?
Voldemort es una base de datos NoSQL de tipo *clave-valor.
Este tipo de base de datos almacena los datos como un par de clave y valor, donde cada clave única está asociada a un valor correspondiente, que puede ser cualquier tipo de dato, como texto, números o incluso estructuras más complejas.
¿Qué tipo de producto NoSQL es Xindice?
XML
Xindice es un producto de base de datos NoSQL que se clasifica como una base de datos orientada a documentos.
Originalmente, Xindice fue diseñado para almacenar y gestionar documentos en formato XML (Extensible Markup Language), lo que le permite trabajar con datos semiestructurados de manera eficiente.
¿Qué dos productos se utilizan para gestionar el cluster de nodos en una plataforma Hadoop?
Yarn o Mesos
NOTA1:
Hadoop es un marco de trabajo (framework) de código abierto diseñado para procesar y almacenar grandes volúmenes de datos de manera distribuida en un clúster de máquinas. Su objetivo principal es facilitar el procesamiento eficiente de big data (grandes datos), aprovechando la capacidad de los clústeres de nodos para realizar tareas de manera paralela y distribuida.
NOTA2:
En una plataforma Hadoop, un clúster de nodos se refiere a un conjunto de múltiples servidores o nodos que trabajan juntos para almacenar y procesar grandes volúmenes de datos de manera distribuida.
¿Cuál es el sistema de ficheros en el que se apoya Hadoop para poder distribuir la información?
HDFS
Hadoop Distributed File System (HDFS):
HDFS es el sistema de almacenamiento distribuido de Hadoop. Permite almacenar grandes cantidades de datos en bloques distribuidos a través de múltiples nodos en el clúster.
NOTA:
Hadoop es un marco de trabajo (framework) de código abierto diseñado para procesar y almacenar grandes volúmenes de datos de manera distribuida en un clúster de máquinas. Su objetivo principal es facilitar el procesamiento eficiente de big data (grandes datos), aprovechando la capacidad de los clústeres de nodos para realizar tareas de manera paralela y distribuida.
¿Qué producto existe para el intercambio de mensajes basado en el modelo publicador/subscriptor de alto rendimiento?
Apache Kafka
Kafka es una plataforma de mensajería distribuida diseñada para manejar flujos de datos en tiempo real de manera eficiente y escalable, y es ampliamente utilizada en sistemas que requieren alta disponibilidad y rendimiento.
¿Como se denomina a la tecnología de procesamiento distribuido que se basa en la filosofía de divide y vence?
Map - Reduce
MapReduce es un modelo de programación utilizado para procesar grandes volúmenes de datos de manera distribuida. En este modelo, el procesamiento se divide en dos fases principales: Map (mapear) y Reduce (reducir). Esta división permite procesar datos de forma paralela en un clúster de máquinas, lo que facilita el manejo de grandes cantidades de información.
Dentro del Teorema CAP (Consistency, Availability, Partition Tolerance), los productos que responden al par CA son aquellos que priorizan la Consistencia y la Disponibilidad, pero sacrifican la Tolerancia a particiones.
Explica dicho Teorema CAP:
El teorema CAP establece que, en un sistema distribuido, solo se pueden garantizar dos de los tres siguientes aspectos al mismo tiempo:
C (Consistency): Todos los nodos ven los mismos datos al mismo tiempo, es decir, cada vez que se realiza una operación de lectura, el sistema devuelve los datos más recientes.
A (Availability): El sistema siempre responde a las solicitudes de lectura o escritura, incluso si algunos nodos están caídos.
P (Partition Tolerance): El sistema sigue funcionando correctamente incluso si hay fallos de comunicación entre los nodos del clúster (es decir, si se producen particiones de red).