Son
Así como
Son
Requieren
No aptas para
Adecuada par
Son
Que requieren
No aptas para
Adecuada
No aptas para
Adecuado
Tienen
Que son
No aptas para
Adecuada
Tienen
Son
Se basa
Por
Obviamente
Que
Que
Consiste
Consiste
Dio
Dio
Para
Tienen
Compone
Las
Coloca
Pone
Las
Muestra
Los
Compone
Muestra
Refiere
Maneja
Apareció
Fue acuñado
Como
El

Tecnología NoSQL

NoSQL es un termino para describir BD que son diferentes a las BD relacionales

Esquema prescindible y desnormalización en especial

En 1998 por Carlo Strozzi e instaurado por en 2009 por Eric Evans

En los 80 almacenaban datos en gestores relacionales

- Aplicaciones de banca - CRM (Costumer Relationip Magagement) - Sistemas sanitarios - Sistemas académicos - ERP (Enterprise ResoursePlanning)

Subtopic

- Esquema prescindible - Desnormalización - Escalan horizontalmente - No garantiza ACID

Big Data

3 V's (2013)

- Volume: gran cantidad de datos - Velocity: necesidad de análisis rápidamente - Variety: datos estructurados

7 V's (2016)

- Variability: datos cuyo significado cambia constante - Veracity: veracidad y precisión - Visualisation: presentar los datos de forma comprensible - Value: extraer información para la toma de decisiones

Principios de NoSQL

El control transaccional ACID no es importante

Los JOINS tampoco lo son. En especial los complejos y distribuidos.

Algunos elementos relacionales son necesarios y aconsejables como las claves (Keys).

Gran capacidad de escabilidad y de replicación en múltiples servidores.

Arquitectura

Proveen consistencia débil

Emplean una arquitectura distribuida

Generalmente ofrecen estructuras de datos simple

Las consultas se realizan exclusivamente por key o índice

Teorema CAP

- Consistencia - Disponibilidad - Tolerancia a la partición

Modelos de consistencia

- Basically Available - Soft state - Eventually Consistent

Las características BD clave-valor

- El valor asociado con la key es opaco - Operaciones atómicas a nivel de key - Los datos se almacenan basados en una única clave (key), en un hash-map

BD clave-valor: casos de uso

- Información de sesión en aplicaciones web - Perfiles y preferencias de usuario - Carritos de la compra

Aplicaciones que requieren

- Datos interconectados (Servicios de redes sociales) - Consistencias para un conjunto de keys - Búsquedas para la información almacenada en valor

Características de BD documental

- Datos almacenados, como documentos - Esquema flexible - Escalabilidad horizontal atráves de shading - Operaciones atómicas a nivel de documento - Documentos contienen su propio metadatos

Casos de uso

- Blogs - Event logging - Datos operacionales a metadatos para apps web y móviles

- Consistencia para un conjunto de documentos

Familias de columnas: casos de uso

- Blogs - Event logging - Contadores - Tiempo de validez por columna (Time-To-Live)

Aplicaciones

Transacciones ACID para operaciones de lectura/escritura

Características de BD

- Los datos se almacenan como nodos (vértices) y enlaces (links-relationships) - ACID es similar a las BD relacionales - Tiene escalabilidad vertical

BD grafos: casos de uso

- Almacenar datos conectados - Aplicaciones especiales o de rutas - Motores de recomendación

Aplicaciones

- Actualizaciones frecuentes de todas las propiedades de nodos y enlaces - Requisitos de escabilidad horizontal

Ventajas

- Masivamente escalables - Alta disponibilidad - Esquema flexible, adecuado para datos dispersos y semiestructurados - (Generalmente) elasticidad predecible

Incovenientes

- Capacidad de interrogación limitada - Consistencia eventual - su programación no es intuitiva - El desarrollo de aplicaciones clientes más complejas