Categorías: Todo - arquitectura - escalabilidad - ventajas - consistencia

por Jesus Sosa hace 4 años

452

Tecnología NoSQL

Las bases de datos NoSQL se diferencian de las bases de datos relacionales tradicionales por su capacidad para manejar datos de manera flexible y escalable. Estas bases de datos permiten un esquema adaptable y son especialmente efectivas para gestionar datos dispersos y semiestructurados.

Tecnología NoSQL

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

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

BD grafos: casos de uso

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

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

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

Familias de columnas: casos de uso

Aplicaciones

Transacciones ACID para operaciones de lectura/escritura

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

Características de BD documental

Casos de uso

- Consistencia para un conjunto de documentos

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

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

BD clave-valor: casos de uso

Aplicaciones que requieren

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

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

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

Modelos de consistencia

- Basically Available - Soft state - Eventually Consistent

Teorema CAP

- Consistencia - Disponibilidad - Tolerancia a la partición

Arquitectura

Las consultas se realizan exclusivamente por key o índice

Generalmente ofrecen estructuras de datos simple

Emplean una arquitectura distribuida

Proveen consistencia débil

Principios de NoSQL

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

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

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

El control transaccional ACID no es importante

Big Data

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

3 V's (2013)

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

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

En los 80 almacenaban datos en gestores relacionales

Subtopic

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