SlideShare ist ein Scribd-Unternehmen logo
1 von 17
[+34] 902 20 25 52 hablemos@beeva.com www.beeva.com
BASES DE DATOS NO RELACIONALES
MongoDB, Neo4J, RedShift
2014 2
¿Qué consideramos un Modelo No Relacional (o NoSQL)?
► No utilizan un Modelo de Datos Relacional (ACID).
► Están diseñados para ejecutarse de manera eficiente en Clusters.
► Son generalmente OpenSource.
► Carecen de esquema, lo que permite añadir/eliminar campos libremente sin
tener que definir ni modificar previamente la estructura.
MODELOS NoSQL
2014 3
Tipos de Bases de Datos NoSQL
BASES DE DATOS
2014 4
C
A
P
TEOREMA DE CAP
2014 5
Orientadas a Clave-Valor
► Almacena los datos bajo una Clave o Par de Claves único
► Alta Disponibilidad y Consistencia (Bajo Clave)
► Alto rendimiento en escrituras
► Alto rendimiento en lecturas por Clave
► Queries muy limitadas
► Penaliza las Queries que no consultan la Clave
► ¿Qué ocurre si no conocemos la Clave?
BASES DE DATOS: CLAVE-VALOR
2014 6
Orientadas a Columnas
► Alto rendimiento en operaciones de Escritura
► Alto rendimiento en lecturas por Clave
► Almacena los datos bajo una Clave única
► Bajo la Clave, se agrupan varios atributos de tipo Clave-Valor, cada
agrupación es una: Columna
MODELOS NoSQL
2014 7
Orientadas a Documento
► Almacena los datos en Documentos (XML, JSON, BSON)
► Cada Documento se indexa bajo una Clave Única
► Permiten crear índices (simples/complejos) para cualquier atributo
► Amplio espectro en las Queries
► Son Consistentes, lo que penaliza la escritura de los datos
► Si el “formato” de cada Documento varía mucho con respecto al resto,
penalizará el rendimiento de los índices
MODELOS NoSQL
2014 8
Orientadas a Grafo
► Nuevo paradigma de Almacenamiento
► Registros pequeños con relaciones complejas
► Los registros se denominan Nodos y las relaciones Arcos
► Los Nodos se conectan mediante los Arcos
► Queries con caracter semántico
► Al tener relaciones tan fuertes entre los datos, son poco recomendables
para un entorno distribuído
► Cuando queramos actualizar una gran cantidad de nodos
MODELOS NoSQL
2014 9
Bases de datos NoSQL con las que trabajamos en BEEVA
Amazon
Redshift
DynamoDB
Bases de Datos como Servicio en AWS Bases de Datos Open Source
MODELOS NoSQL
2014 10
Amazon Redshift (1/2) Amazon
Redshift
Qué es
• Data Warehouse como servicio gestionado en Cloud, Basado en tecnología MPP
Compatibilidad e integración
• Basado en Postgres, SQL estándar: Conector ODBC y JDBC
• Compatible con herramientas de ETL de mercado (PowerCenter, Talend, etc.)
• Compatible con herramientas de BI y visualización de mercado (Mirostrategy, Tableau, etc.)
• Migración de datos a bases de datos relacionales transparente (requiere gestión índices y claves)
MODELOS NoSQL
2014 11
Amazon Redshift (2/2) Amazon
Redshift
Detalle técnico
• Direct-attach storage y bloques de memoria de 1MB
• Compresión 2-4x: diferente algoritmo en función del tipo de dato
• Zone maps: optimización en la query
• Opción de HW basado en discos SSD
• Paralelización y distribución en query plan (C++)
• Back-up automático, asíncrono, a S3; replicación síncrona en el cluster
• Posibilidad de realizar snapshots on-demand o planificados
• Redimensionamiento sencillo: se reconfigura automáticamente el SQL end-point
• SSL en el leader node
• Cifrado de datos en el cluster: AES-256
Principales beneficios
• Data Warehouse a bajo coste, en pago por uso con Alto rendimiento en consultas
• Servicio gestionado por AWS
• Compatibilidad Postgres, SQL estándar
MODELOS NoSQL
2014 12
MongoDB (1/2)
Qué es
• BBDD Open Source NoSQL orientada a documentos
• Basada en documentos JSON (Binary-JSON)
• Escalabilidad horizontal en HW
Detalle técnico diferencial
• Esquema dinámico
• Adición de múltiples índices secundarios
• Adición de índices Geoespaciales
• Escalado horizontal mediante Sharding (NO Autoescalado)
• Permite configuraciones de Alta Disponibilidad mediante Replica Sets
• Posee integración nativa con Hadoop
• Cada Documento puede almacenar un máximo de 16Mb
• Se pueden almacenar objetos BLOB: Imágenes, videos, …
• Framework Aggregation
MODELOS NoSQL
2014 13
MongoDB (2/2)
Compatibilidad e integración
• Para migrar información es necesario desarrollar un agente SW o proceso batch
específico que lleve a cabo la tarea.
• Consideraciones sobre migraciones:
• De SQL a NoSQL se pierden las relaciones entre tablas y las claves foráneas
• Replantear la estrategia de índices para optimizar el rendimiento de las
queries
• De NoSQL a SQL, es necesario replantear la estrategia de tablas, relaciones y
claves foráneas a utilizar y comprobar la estructura de los Documentos para
normalizar los campos
Principales beneficios
• Alto rendimiento en Queries; escalabilidad
• Versatilidad en las Queries
• Open Source
• Reducción de: Impedance Mismatch
MODELOS NoSQL
2014 14
Neo4j (1/3)
Qué es
• Base de datos Open Source orientada a grafos
• Cumple ACID
Detalle técnico diferencial
• Esquema dinámico
• Neo4j es idóneo para resolver problemas de relaciones entre objetos o relaciones
entre personas (social networks)
• Neo4j sigue el modelo ‘property graph’ o grafo de propiedades
• Formas de utilizar Neo4j:
• Utiliza Cypher como lenguaje declarativo de consulta
• API REST con algo más de funcionalidad que Cypher (esta tendencia va
cambiando en las últimas versiones)
• En casos especiales podemos utilizar plugins vía API
• La versión Neo4j Community vs Neo4j Enterprise (licencia GPLv3 y comercial)
• Permite realizar transacciones
MODELOS NoSQL
2014 15
Neo4j (2/3)
Compatibilidad e integración
• No compatible con otros modelos de almacenamiento
• Una solución habitual es complementar Neo4j con MongoDB
Valoración: puntos positivos
• Modelo de Datos basado en Relaciones Fuertes
• Open Source
• Comunidad muy Activa
• Muy rápida para consultas de pocos grados de profundidad y miles de
nodos
• Consola de administración
• Fácil importación de formatos propios .csv con plugin batch-import
• Servidor fácil de configurar
• Visualización Gráfica de las Respuestas
• Permiten usar Neo4j de forma embedded a través de la API de Java para
crear endpoints específicos.
MODELOS NoSQL
2014 16
Neo4j (3/3)
Valoración: puntos negativos
• Neo4j Community no es escalable para cantidades de datos muy grandes
• Consultas ineficientes si se almacena mucha información en los nodos
• Neo4j prefiere que se almacene todo el grafo en memoria pero es ineficiente
cachear todo si no todo se utiliza.
• No permite sharding.
• Neo4j no tiene gestión de usuarios ni autenticación: hay una extensión para
autenticar, o como alternativa, se puede poner un proxy delante de la BD para
autenticar.
• No permite la exportación de datos
• No recomendados cambios de versiones:
• Existen cambios entre versiones en el formato binario de las BDs
MODELOS NoSQL
CONTÁCTANOS
902 20 25 52
hablemos@beeva.es
www.beeva.es
@beeva_es
AUTOR
Puesto del autor en BEEVA
email@beeva.com

Weitere ähnliche Inhalte

Was ist angesagt?

REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDASREGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
Katty Landacay
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
Max Perez
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
Isabel
 
Estrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidasEstrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidas
José Mendoza
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
libra_hch
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos
Brenda Medina
 

Was ist angesagt? (20)

REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDASREGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
REGLAS DE DATE PARA UN SISTEMA DE GESTION DE BASE DE DATOS DISTRIBUIDAS
 
MongoDB
MongoDBMongoDB
MongoDB
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datos
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
ETL
ETLETL
ETL
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Que es MongoDB
Que es MongoDBQue es MongoDB
Que es MongoDB
 
Estrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidasEstrategias de procesamiento de consultas distribuidas
Estrategias de procesamiento de consultas distribuidas
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Manejador de Base de Datos
Manejador de Base de Datos Manejador de Base de Datos
Manejador de Base de Datos
 

Ähnlich wie Bases de Datos No Relacionales

Ähnlich wie Bases de Datos No Relacionales (20)

Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Act4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalbaAct4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalba
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
DB1 Unidad 10: New SQL
DB1 Unidad 10: New SQLDB1 Unidad 10: New SQL
DB1 Unidad 10: New SQL
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4j
 
MongoDB
MongoDBMongoDB
MongoDB
 
Que una base de datos
Que una base de datosQue una base de datos
Que una base de datos
 
Act4 base de_datos_canto_josé
Act4 base de_datos_canto_joséAct4 base de_datos_canto_josé
Act4 base de_datos_canto_josé
 
Couchdb
CouchdbCouchdb
Couchdb
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
Base de datos
Base de datosBase de datos
Base de datos
 

Mehr von BEEVA_es

Mehr von BEEVA_es (20)

BEEVA | The reality of IoT as of today
BEEVA | The reality of IoT as of todayBEEVA | The reality of IoT as of today
BEEVA | The reality of IoT as of today
 
JustGiving | Serverless Data Pipelines, API, Messaging and Stream Processing
JustGiving | Serverless Data Pipelines, API, Messaging and Stream ProcessingJustGiving | Serverless Data Pipelines, API, Messaging and Stream Processing
JustGiving | Serverless Data Pipelines, API, Messaging and Stream Processing
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
BEEVA | Diseño UX para chatbots
BEEVA | Diseño UX para chatbotsBEEVA | Diseño UX para chatbots
BEEVA | Diseño UX para chatbots
 
BEEVA | Crear bots avanzados
BEEVA | Crear bots avanzadosBEEVA | Crear bots avanzados
BEEVA | Crear bots avanzados
 
BEEVA | Ruling the world galaxy with your voice and the cloud
 BEEVA | Ruling the world galaxy with your voice and the cloud BEEVA | Ruling the world galaxy with your voice and the cloud
BEEVA | Ruling the world galaxy with your voice and the cloud
 
WORKSHOP II: API REST
WORKSHOP II: API RESTWORKSHOP II: API REST
WORKSHOP II: API REST
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
[API Days] Cooking with apis
[API Days] Cooking with apis[API Days] Cooking with apis
[API Days] Cooking with apis
 
Como ganar un hackathon
Como ganar un hackathonComo ganar un hackathon
Como ganar un hackathon
 
Curso de Responsive Web Design de BEEVA
Curso de Responsive Web Design de BEEVACurso de Responsive Web Design de BEEVA
Curso de Responsive Web Design de BEEVA
 
Push comercial ANS BEEVA v1.0
Push comercial ANS BEEVA v1.0Push comercial ANS BEEVA v1.0
Push comercial ANS BEEVA v1.0
 
Desmitificando un proyecto de Big Data
Desmitificando un proyecto de Big DataDesmitificando un proyecto de Big Data
Desmitificando un proyecto de Big Data
 
Cómo empezar a implementar proyectos Big Data en tu organización
Cómo empezar a implementar proyectos Big Data en tu organizaciónCómo empezar a implementar proyectos Big Data en tu organización
Cómo empezar a implementar proyectos Big Data en tu organización
 
Hadoop en la nube: ETL a ELT
Hadoop en la nube: ETL a ELT Hadoop en la nube: ETL a ELT
Hadoop en la nube: ETL a ELT
 
Siete "consejos" para abordar un proyecto con tecnologías Big Data
Siete "consejos" para abordar un proyecto con tecnologías Big DataSiete "consejos" para abordar un proyecto con tecnologías Big Data
Siete "consejos" para abordar un proyecto con tecnologías Big Data
 
Bases de Datos no relacionales
Bases de Datos no relacionalesBases de Datos no relacionales
Bases de Datos no relacionales
 
Data Platform de BEEVA
Data Platform de BEEVAData Platform de BEEVA
Data Platform de BEEVA
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
El presente del mundo del retail
El presente del mundo del retailEl presente del mundo del retail
El presente del mundo del retail
 

Kürzlich hochgeladen

MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptxMÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
CristianCastro978067
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
JC Díaz Herrera
 

Kürzlich hochgeladen (20)

Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptx
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Las marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdfLas marcas automotrices con más ventas de vehículos (2024).pdf
Las marcas automotrices con más ventas de vehículos (2024).pdf
 
Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024Listas de Fundamentos de Programación 2024
Listas de Fundamentos de Programación 2024
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
PANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitecturaPANTEÓN DE Paris en historia de la arquitectura
PANTEÓN DE Paris en historia de la arquitectura
 
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptxMÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
MÍNIMO COMÚN MÚLTIPLO, MÁXIMO COMÚN DIVISOR.pptx
 
Posiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdfPosiciones del IDH a nivel global en México (1982-2024).pdf
Posiciones del IDH a nivel global en México (1982-2024).pdf
 
PIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos añosPIB PERÚ datos y análisis de los últimos años
PIB PERÚ datos y análisis de los últimos años
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
Familias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdfFamilias_más_ricas_de_AL_en_la_historia.pdf
Familias_más_ricas_de_AL_en_la_historia.pdf
 
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 

Bases de Datos No Relacionales

  • 1. [+34] 902 20 25 52 hablemos@beeva.com www.beeva.com BASES DE DATOS NO RELACIONALES MongoDB, Neo4J, RedShift
  • 2. 2014 2 ¿Qué consideramos un Modelo No Relacional (o NoSQL)? ► No utilizan un Modelo de Datos Relacional (ACID). ► Están diseñados para ejecutarse de manera eficiente en Clusters. ► Son generalmente OpenSource. ► Carecen de esquema, lo que permite añadir/eliminar campos libremente sin tener que definir ni modificar previamente la estructura. MODELOS NoSQL
  • 3. 2014 3 Tipos de Bases de Datos NoSQL BASES DE DATOS
  • 5. 2014 5 Orientadas a Clave-Valor ► Almacena los datos bajo una Clave o Par de Claves único ► Alta Disponibilidad y Consistencia (Bajo Clave) ► Alto rendimiento en escrituras ► Alto rendimiento en lecturas por Clave ► Queries muy limitadas ► Penaliza las Queries que no consultan la Clave ► ¿Qué ocurre si no conocemos la Clave? BASES DE DATOS: CLAVE-VALOR
  • 6. 2014 6 Orientadas a Columnas ► Alto rendimiento en operaciones de Escritura ► Alto rendimiento en lecturas por Clave ► Almacena los datos bajo una Clave única ► Bajo la Clave, se agrupan varios atributos de tipo Clave-Valor, cada agrupación es una: Columna MODELOS NoSQL
  • 7. 2014 7 Orientadas a Documento ► Almacena los datos en Documentos (XML, JSON, BSON) ► Cada Documento se indexa bajo una Clave Única ► Permiten crear índices (simples/complejos) para cualquier atributo ► Amplio espectro en las Queries ► Son Consistentes, lo que penaliza la escritura de los datos ► Si el “formato” de cada Documento varía mucho con respecto al resto, penalizará el rendimiento de los índices MODELOS NoSQL
  • 8. 2014 8 Orientadas a Grafo ► Nuevo paradigma de Almacenamiento ► Registros pequeños con relaciones complejas ► Los registros se denominan Nodos y las relaciones Arcos ► Los Nodos se conectan mediante los Arcos ► Queries con caracter semántico ► Al tener relaciones tan fuertes entre los datos, son poco recomendables para un entorno distribuído ► Cuando queramos actualizar una gran cantidad de nodos MODELOS NoSQL
  • 9. 2014 9 Bases de datos NoSQL con las que trabajamos en BEEVA Amazon Redshift DynamoDB Bases de Datos como Servicio en AWS Bases de Datos Open Source MODELOS NoSQL
  • 10. 2014 10 Amazon Redshift (1/2) Amazon Redshift Qué es • Data Warehouse como servicio gestionado en Cloud, Basado en tecnología MPP Compatibilidad e integración • Basado en Postgres, SQL estándar: Conector ODBC y JDBC • Compatible con herramientas de ETL de mercado (PowerCenter, Talend, etc.) • Compatible con herramientas de BI y visualización de mercado (Mirostrategy, Tableau, etc.) • Migración de datos a bases de datos relacionales transparente (requiere gestión índices y claves) MODELOS NoSQL
  • 11. 2014 11 Amazon Redshift (2/2) Amazon Redshift Detalle técnico • Direct-attach storage y bloques de memoria de 1MB • Compresión 2-4x: diferente algoritmo en función del tipo de dato • Zone maps: optimización en la query • Opción de HW basado en discos SSD • Paralelización y distribución en query plan (C++) • Back-up automático, asíncrono, a S3; replicación síncrona en el cluster • Posibilidad de realizar snapshots on-demand o planificados • Redimensionamiento sencillo: se reconfigura automáticamente el SQL end-point • SSL en el leader node • Cifrado de datos en el cluster: AES-256 Principales beneficios • Data Warehouse a bajo coste, en pago por uso con Alto rendimiento en consultas • Servicio gestionado por AWS • Compatibilidad Postgres, SQL estándar MODELOS NoSQL
  • 12. 2014 12 MongoDB (1/2) Qué es • BBDD Open Source NoSQL orientada a documentos • Basada en documentos JSON (Binary-JSON) • Escalabilidad horizontal en HW Detalle técnico diferencial • Esquema dinámico • Adición de múltiples índices secundarios • Adición de índices Geoespaciales • Escalado horizontal mediante Sharding (NO Autoescalado) • Permite configuraciones de Alta Disponibilidad mediante Replica Sets • Posee integración nativa con Hadoop • Cada Documento puede almacenar un máximo de 16Mb • Se pueden almacenar objetos BLOB: Imágenes, videos, … • Framework Aggregation MODELOS NoSQL
  • 13. 2014 13 MongoDB (2/2) Compatibilidad e integración • Para migrar información es necesario desarrollar un agente SW o proceso batch específico que lleve a cabo la tarea. • Consideraciones sobre migraciones: • De SQL a NoSQL se pierden las relaciones entre tablas y las claves foráneas • Replantear la estrategia de índices para optimizar el rendimiento de las queries • De NoSQL a SQL, es necesario replantear la estrategia de tablas, relaciones y claves foráneas a utilizar y comprobar la estructura de los Documentos para normalizar los campos Principales beneficios • Alto rendimiento en Queries; escalabilidad • Versatilidad en las Queries • Open Source • Reducción de: Impedance Mismatch MODELOS NoSQL
  • 14. 2014 14 Neo4j (1/3) Qué es • Base de datos Open Source orientada a grafos • Cumple ACID Detalle técnico diferencial • Esquema dinámico • Neo4j es idóneo para resolver problemas de relaciones entre objetos o relaciones entre personas (social networks) • Neo4j sigue el modelo ‘property graph’ o grafo de propiedades • Formas de utilizar Neo4j: • Utiliza Cypher como lenguaje declarativo de consulta • API REST con algo más de funcionalidad que Cypher (esta tendencia va cambiando en las últimas versiones) • En casos especiales podemos utilizar plugins vía API • La versión Neo4j Community vs Neo4j Enterprise (licencia GPLv3 y comercial) • Permite realizar transacciones MODELOS NoSQL
  • 15. 2014 15 Neo4j (2/3) Compatibilidad e integración • No compatible con otros modelos de almacenamiento • Una solución habitual es complementar Neo4j con MongoDB Valoración: puntos positivos • Modelo de Datos basado en Relaciones Fuertes • Open Source • Comunidad muy Activa • Muy rápida para consultas de pocos grados de profundidad y miles de nodos • Consola de administración • Fácil importación de formatos propios .csv con plugin batch-import • Servidor fácil de configurar • Visualización Gráfica de las Respuestas • Permiten usar Neo4j de forma embedded a través de la API de Java para crear endpoints específicos. MODELOS NoSQL
  • 16. 2014 16 Neo4j (3/3) Valoración: puntos negativos • Neo4j Community no es escalable para cantidades de datos muy grandes • Consultas ineficientes si se almacena mucha información en los nodos • Neo4j prefiere que se almacene todo el grafo en memoria pero es ineficiente cachear todo si no todo se utiliza. • No permite sharding. • Neo4j no tiene gestión de usuarios ni autenticación: hay una extensión para autenticar, o como alternativa, se puede poner un proxy delante de la BD para autenticar. • No permite la exportación de datos • No recomendados cambios de versiones: • Existen cambios entre versiones en el formato binario de las BDs MODELOS NoSQL
  • 17. CONTÁCTANOS 902 20 25 52 hablemos@beeva.es www.beeva.es @beeva_es AUTOR Puesto del autor en BEEVA email@beeva.com