b2t5 - NoSQL Flashcards

1
Q

En qué SQL se introdujo el concepto de Esquemas Flexibles con JSON?

A

En SQL 2016

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

Qué dos ventajas tiene NoSQL?

A
  • Esquemas flexibles, tipo JSON por ej.
  • Es altamente distribuido (SHARDING), por tanto podemos tener alta disponibilidad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qué es SHARDING en NoSQL?

A

Es un particionamiento horizontal de los datos, en los sistemas altamente distribuidos como NoSQL

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

Qué desventajas tiene NoSQL?

A
  • Latencia
  • No garantizan totalmente ACID como las SQL transaccionales tradicionales (Atomicidad, Consistencia, Aislamiento, Durabilidad)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué es ACID?

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

Qué significa el concepto BASE de SQL?

A

“Consistencia eventual”: Hay una latencia, por ser un entorno tan distribuido, en la consistencia de los datos, temporalmente.

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

En qué consiste el teorema CAP o de Brewer?

A

Dice que no se pueden garantizar a la vez las siguientes 3 características

  • Consistencia: Todos los nodos ven la misma información
  • Disponibilidad: Toda petición tiene que recibir una respuesta
  • Tolerancia a la partición: Debe seguir funcionando ante fallos en las comunicaciones que segmenten la red de nodos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

De las 3 características que contempla el teorema CAP, qué tipos de sistemas cumplen estas dos de sus partes?

CA

Nombra 3 productos

A

CA → Base de Datos relacinales (RDBMS) Oracle, mysql, postgreSQL, ….

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

De las 3 características que contempla el teorema CAP, qué tipos de sistemas cumplen estas dos de sus partes?

AP

Nombra 3 productos

A

AP → Cassandra, Riak, couchDB, simpleDB, Dynamo, voldemort

Suele tener arquitectura en anillo. Por la latencia de un nodo a otro se produce inconsistencia temporal

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

De las 3 características que contempla el teorema CAP, qué tipos de sistemas cumplen estas dos de sus partes?

CP

Nombra 3 productos

A

CP → Mongo DB, HBase, REDIS, BigTable (suelen ser arquitecturas con nodo MASTER, por eso si se cae no garantiza la disponibilidad)

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

En qué familias se pueden clasificar los sistemas NoSQL según su modelo de información?

A
  • Documentos
  • Familia Columnas
  • Clave-valor
  • Grafos
  • Objetos
  • XML
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nombra 7 productos de Sistemas NoSQL de la familia de DOCUMENTOS

A
  • MongoDB
  • CouchDB
  • OrientDB *
  • RavenDB
  • TerraStore
  • ArangoDB *
  • Amazon DynamoDB *

* multi-modelo

Son colecciones de documentos (como JSON)

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

Nombra 4 productos de Sistemas NoSQL de la familia de Columnas

A

No todas las filas tienen las mismas columnas

  • Cassandra
  • HBase
  • Hypertable
  • Bigtable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nombra 7 productos de Sistemas NoSQL de la familia de Clave-Valor

A

REDIS

RIAK

Voldemort

ArangoDB *

OrientDB *

Amazon DynamoDB *

SimpleDB

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

Nombra 7 productos de Sistemas NoSQL de la familia de Grafos

A

Son como las de Objetos, pero con algoritmos de grafos muy inteligentes

Neo4J

OrientDB *

FlockDB

InfiniteGraph

HyperGraphDB

ArangoDB *

AllegroGraph

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

Nombra 7 productos de Sistemas NoSQL de la familia de Objetos

A

ObjectStore

ZooDB

Versant

ObjectDB

JADE

Zope

17
Q

Nombra 6 productos de Sistemas NoSQL de la familia de XML

A

Berkely DB XML

Apache X indice

BaseX

eXist

Sedna

Quizx

18
Q

Qué 4 dimensiones tiene una BBDD de la familia de Columnas como Cassandra?

A

keyspace / ColumnFamily / Rowkey / Column

La column es el valor que tiene nombre de columna, valor y timestamp

19
Q

Qué es el sistema de ficheros HDFS?

A

Hadoop distributed file system

Sistema de ficheros distribuida de Apache Hadoop

20
Q

Qué es el concepto MAP REDUCE de Hadoop?

A

Es el proceso distribuido de grandes cantidades de datos: Cada nodo procesa una parte y luego junta los resultados

21
Q

Qué es el YARN o MESOS de Hadoop

A

Es el gestor de recursos de Hadoop

22
Q

Con qué producto se suele replicar datos entre Hadoop y NoSQL en el ecosistema BigData?

A

Kafka

23
Q

Qué 3 principales librerías de consultas en hay en el ecosistema BigData?

A

Manhout → machine learning

PIG

HIVE

sparK

24
Q

Qué es Hadoop?

A

Es una infraestructura para procesar BigData, de Apache

25
Q

¿Que tipo de BBDD es MongoDB? ¿Que otros modelosNoSQL+producto(s) asociados conoces?

A
    • Sigue el modelo documental (JSON)
    • Modelos clave-valor, grafos, basado en columnas, etc. (Productos: Cassandra, Redis, Neo4j, …)
26
Q

¿A que se refiere el estandar CMIS? ¿Cómo se llama el tipo de productos que lo implementan? ¿Existe equivalente en Java?

A

API Estandar (Servicios Web SOAP y REST) para acceder a CMS (en concreto gestores documentales como Alfresco, Documentum, etc) El API equivalente en Java es la JCR (Java Content Repository)

27
Q

En las bases de datos orientadas a objeto, para cuantificar el movimiento existente entre la entrada a las bases de datos y la salida se emplean dos sistemas que se conocen como

A

Dinámica fuerte y dinámica débil

28
Q

CODASYL, modelo de Sistemas Gestores de Bases de datos en red, es acrónimo de

A

Conference on Data Systems Languages

29
Q

Qué es la programación reactiva y qué productos y conceptos se usan?

A

La programación reactiva es un enfoque de desarrollo de software que se centra en la construcción de sistemas que sean resilientes, escalables y altamente responsivos. Se basa en el uso de flujos de datos y eventos asincrónicos para manejar la concurrencia y la comunicación entre componentes del sistema.

En la programación reactiva, los sistemas se diseñan de manera que puedan responder de forma rápida y eficiente a los eventos y cambios del entorno. Esto se logra mediante el uso de patrones y herramientas que permiten la propagación y transformación de los datos de forma asincrónica.

Conceptos: flujos de datos, operaciones reactivas y backpressure
Productos:
- ReactiveX: librería multiplataforma para implementar patrón observador-observable
- Reactor: librería java para trabajar con flujos de datos y operaciones reactivas
- Akka: framwork de programación reactiva
- Spring WebFlux: módulo Spring para programación reactiva