SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
Un acercamiento a las bases de datos NoSQL
MSc. Javier Guillot Jiménez
Departamento de Programación
Facultad de Matemática y Computación
Universidad de La Habana
4 de octubre de 2015
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 1
Sumario
1 Introducción
Contexto actual
Necesidades actuales
2 NoSQL
Primeras propuestas
El término “NoSQL”
SGBDs NoSQL
3 Conclusiones
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 2
Introducción
Sumario
1 Introducción
Contexto actual
Necesidades actuales
2 NoSQL
Primeras propuestas
El término “NoSQL”
SGBDs NoSQL
3 Conclusiones
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 3
Introducción Contexto actual
Contexto actual
Las aplicaciones han evolucionado mucho en los últimos 15 años
Las grandes compañías web han crecido vertiginosamente en:
Cantidad de usuarios concurrentes
Volúmenes de datos procesados y almacenados
Explotación de datos semi-estructurados y no estructurados
La computación en la nube ha facilitado el acceso a servicios de
Internet que explotan diversos e inmensos volúmenes de datos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 4
Introducción Contexto actual
Big Users
Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 5
Introducción Contexto actual
Big Users
Ventas mundiales de dispositivos según su tipo (miles de unidades)
Gartner, Inc. (2013, abril). Forecast: Devices by Operating System and User Type, Worldwide, 2010-2017, 1Q13 Update.
Consultado el 5 de agosto de 2014 desde http://www.gartner.com/resId=2396815
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 6
Introducción Contexto actual
The Internet of Things
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 7
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Big Data
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 8
Introducción Contexto actual
Cloud computing
Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 9
Introducción Necesidades actuales
Necesidades actuales
¿Qué características deben tener los SGBDs de hoy día?
Sistemas cada vez más escalables
Sistemas con modelos de datos más flexibles
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 10
Introducción Necesidades actuales
Necesidades actuales
¿Qué características deben tener los SGBDs de hoy día?
Sistemas cada vez más escalables
Sistemas con modelos de datos más flexibles
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 10
Introducción Necesidades actuales
Escalamiento vertical vs. escalamiento horizontal
McCreary, D. (2013, 19 de noviembre). Making Sense of NoSQL. Disponible en: http://manning.com/mccreary (03/05/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 11
Introducción Necesidades actuales
Escalamiento vertical
Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 12
Introducción Necesidades actuales
Escalamiento horizontal
Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 13
Introducción Necesidades actuales
ACID
Atomicity - Consistency - Isolation - Durability
Una secuencia de operaciones (transacción):
Se ejecutará del todo o nada (A)
Una vez completada, la BD quedará en un estado en el que no se
viola ninguna restricción de integridad (C)
Las transacciones concurrentes son independientes y no se afectan
unas a otras (I)
Las modificaciones efectuadas por una transacción podrán recuperarse
ante fallas del sistema (D)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 14
Introducción Necesidades actuales
ACID
Ejemplo de transacción
McCreary, D. & Kelly, A. (2013). Making Sense of NoSQL: A guide for managers and the rest of us. Shelter Island, NY:
Manning Publications Co.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 15
Introducción Necesidades actuales
Teorema CAP
Brewer, E. A. (2000). Towards robust distributed systems. Trabajo presentado en PODC 2000, 16-19 de julio, Portland, Oregon.
Gilbert, S. & Lynch, N. (2002). Brewer’s conjecture and the feasibility consistent, available, partition-tolerant web services.
Newsletter ACM SIGACT News, 33(2), pp. 51-59.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 16
Introducción Necesidades actuales
Teorema CAP
(C) Consistencia: siempre que un dato es actualizado, todos los usuarios
tienen acceso a esa última versión
(A) Disponibilidad: cualquier operación puede ser ejecutada sin demora
(P) Tolerancia a particiones: los datos son distribuidos a través de dos o
más nodos de la red y el sistema puede seguir funcionando,
incluso, cuando algunos de estos nodos son totalmente
inaccesibles
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 16
Introducción Necesidades actuales
Teorema CAP
McCreary, D. (2013, 19 de noviembre). Making Sense of NoSQL. Disponible en: http://manning.com/mccreary (03/05/2014)
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 16
Introducción Necesidades actuales
BASE
Basically Available, Soft state and Eventually consistent
Las aplicaciones trabajan prácticamente todo el tiempo (basically
available)
La BD no tiene que ser consistente en todo momento (soft state)
Pero si no ocurren nuevas actualizaciones sobre un determinado dato,
en algún momento todos los usuarios tendrán acceso a la versión más
actual de este (eventually consistent)
Fox, A.; Gribble, S. D.; Chawathe, Y. Brewer, E. A. & Gauthier, P. (1997, octubre). Cluster-Based Scalable Network Services.
En Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles (SOSP-16), Saint-Malo, Francia.
Pritchett, D. (2008). Base: An Acid Alternative. Queue, 6(3), pp. 48-55. ACM.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 17
Introducción Necesidades actuales
Necesidades actuales
¿Qué características deben tener los SGBDs de hoy día?
Sistemas cada vez más escalables
Sistemas con modelos de datos más flexibles
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 18
Introducción Necesidades actuales
Limitaciones del modelo relacional
Las BDRs requieren la definición de un esquema rígido que dificulta
representar datos semi-estructurados y no estructurados
Modificar el diseño de una BDR una vez que ha sido poblada con
nuevos datos constituye una tarea ardua que se evita acometer
Se minimiza la cantidad de espacio requerido para el almacenamiento
a expensas de un aumento de la complejidad para consultar los datos
Complicada red de interrelaciones dificulta distribuir las BDRs en
múltiples servidores y garantizar a la vez el rendimiento en su gestión
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 19
Introducción Necesidades actuales
Limitaciones del modelo relacional
Se ajusta poco al paradigma OO utilizado en la mayoría de los
lenguajes de programación actuales
Esta situación ha intentado ser resuelta desde hace años con las
BDOOs (Atkinson et al., 1989; Atwood, 1985; Derret et al., 1985)
Estas no lograron ser ampliamente usadas por desarrolladores y
usuarios en general
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 19
NoSQL
Sumario
1 Introducción
Contexto actual
Necesidades actuales
2 NoSQL
Primeras propuestas
El término “NoSQL”
SGBDs NoSQL
3 Conclusiones
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 20
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
2004
MapReduce: Simplified Data Processing on Large Clusters
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
2004
MapReduce: Simplified Data Processing on Large Clusters
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
2004
MapReduce: Simplified Data Processing on Large Clusters
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
2004
MapReduce: Simplified Data Processing on Large Clusters
2006
Bigtable: A Distributed Storage System for Structured Data
“Bigtable is a distributed storage system for managing structured data
that is designed to scale to a very large size: petabytes of data across
thousands of commodity servers.”
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
2007
Dynamo: Amazon’s Highly Available Key-Value Store
“. . . customers should be able to view and add items to their shopping cart
even if disks are failing, network routes are flapping, or data centers are
being destroyed by tornados.”
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
2008
Cassandra – A Decentralized Structured Storage System
Propuesta inspirada en Bigtable y Dynamo
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL Primeras propuestas
Primeras propuestas
Google, Amazon, Facebook y LinkedIn fueron de las primeras
compañías en experimentar las limitaciones que imponían las
tecnologías relacionales
2008
Cassandra – A Decentralized Structured Storage System
Propuesta inspirada en Bigtable y Dynamo
2008
Project Voldemort
Propuesta inspirada en Dynamo
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 21
NoSQL El término “NoSQL”
El término “NoSQL”
Empleado por primera vez en el año 1998 por Carlo Strozzi, para
referirse a un SGBDR que no utilizaba SQL
Retomado en 2009 para nombrar los congresos de los partidarios de
las BDs no relacionales, distribuidas y de código abierto (NoSQL
2009, en San Francisco)
Revista Computerworld:
“NoSQLers came to share how they had overthrown the tyranny of slow,
expensive relational databases in favor of more efficient and cheaper ways
of managing data.”
Computerworld. (2009, junio). No to SQL? Anti-database movement gains steam. Consultado el 10 de julio de 2014 desde
http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 22
NoSQL El término “NoSQL”
El término “NoSQL”
NoSQL = ¿?
NoSQL = No to SQL
NoSQL = Not only SQL
Evans, E. (2009, 30 de octubre). NoSQL: What’s in a name? Consultado el 10 de julio de 2014 desde
http://www.deadcafe.org/2009/10/30/nosql_whats_in_a_name.html
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 23
NoSQL
Algunas opiniones
Eric Evans:
“The whole point of seeking alternatives is that you need to solve a
problem that relational databases are a bad fit for”
Evans, E. (2009, 30 de octubre). NoSQL: What’s in a name? Consultado el 10 de julio de 2014 desde
http://www.deadcafe.org/2009/10/30/nosql_whats_in_a_name.html
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 24
NoSQL
Algunas opiniones
Javier Soltero:
“Oracle would tell you that with the right degree of hardware and the right
configuration of Oracle RAC (Real Application Clusters) and other
associated magic software, you can achieve the same scalability. But at
what cost?”
Computerworld. (2009, junio). No to SQL? Anti-database movement gains steam. Consultado el 10 de julio de 2014 desde
http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 24
NoSQL
Algunas opiniones
Nati Shalom:
“Cost pressure also forced many organizations to look at more
cost-effective alternatives, and with that came research that showed that
distributed storage based on commodity hardware can be even more
reliable than many of the existing high end databases”
Shalom, N. (2009, 15 de diciembre). The Common Principles Behind The NOSQL Alternatives. Consultado el 10 de julio de 2014
desde http://natishalom.typepad.com/nati_shaloms_blog/2009/12/the-common-principles-behind-the-nosql-alternatives.html
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 24
NoSQL
Tendencias de búsqueda de Google de los términos
“RDBMS” y “NoSQL”
Google. (2014, 13 de noviembre). Tendencias de búsqueda de Google - Interés en Búsqueda en la Web: nosql, rdbms - Todo el
mundo, 2004 - hoy. Consultado el 13/11/2014 desde http://www.google.com/trends/explore?q=NoSQL%2C+RDBMS
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 25
NoSQL SGBDs NoSQL
SGBDs NoSQL
Características generales
No requieren de la definición de un esquema de la BD
Almacenan los datos de forma no relacional
Están diseñados para arquitecturas distribuidas
Pueden ser instalados en servidores de bajo costo
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 26
NoSQL SGBDs NoSQL
Principales exponentes según su modelo de datos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 27
NoSQL SGBDs NoSQL
Principales exponentes en el Cuadrante Mágico de Gartner
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 28
NoSQL SGBDs NoSQL
Principales exponentes en el Cuadrante Mágico de Gartner
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 28
NoSQL SGBDs NoSQL
SGBDs llave/valor
Características generales
Poseen un modelo de datos sencillo que permite almacenar y
recuperar valores de cualquier tipo a partir de una llave
Son ideales para el manejo de datos no estructurados
Favorecen una alta disponibilidad de los datos
Las operaciones de lectura y escritura tienen un desempeño altísimo
En general, no hay forma de recuperar un registro basándose en el
contenido de su valor
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 29
NoSQL SGBDs NoSQL
SGBDs llave/valor
Ejemplo
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 30
NoSQL SGBDs NoSQL
Voldemort (2008)
SGBDs llave/valor
Inspirado en Dynamo
Desarrollado por LinkedIn bajo una licencia libre de Apache
Realiza automáticamente la replicación y fragmentación de los datos
Escrito en Java
Existen bibliotecas para Java, Python, Ruby, C, C++, Lua y otros
¿Quién lo utiliza?: LinkedIn
Sitio oficial: http://project-voldemort.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 31
NoSQL SGBDs NoSQL
Riak (2008)
SGBDs llave/valor
Inspirado en Dynamo
Desarrollado por Basho bajo una licencia dual: una versión de código
abierto y otra comercial con soporte garantizado
Realiza automáticamente la replicación y fragmentación de los datos
Admite consultas MapReduce e índices secundarios
Escrito en Erlang
Ofrece una API HTTP RESTful y existen bibliotecas para Java,
Python, Perl, Erlang, Ruby, PHP, .NET y otros
¿Quién lo utiliza?: Comcast y Mochi Media
Sitio oficial: http://riak.basho.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 32
NoSQL SGBDs NoSQL
Redis (2009)
SGBDs llave/valor
Desarrollado por Salvatore Sanfilippo bajo la licencia BSD
Brinda un alto desempeño pues mayormente trabaja sobre la RAM
Escrito en C
Ofrece una interfaz de línea de comandos y existen bibliotecas para
Java, Python, Ruby, C, C++, Lua, Haskell y otros
¿Quién lo utiliza?: Craigslist
Sitio oficial: http://redis.io/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 33
NoSQL SGBDs NoSQL
Aerospike (2012)
SGBDs llave/valor
Liberado bajo la licencia AGPL en 2014
Enfocado en la alta disponibilidad y la tolerancia a fallas
Optimizado para el trabajo en discos de estado sólido (SSD)
Ofrece soporte para la replicación entre diversos centros de datos
Escrito en C
Existen bibliotecas para C, C#, Java, Ruby, PHP y Python
Sitio oficial: http://www.aerospike.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 34
NoSQL SGBDs NoSQL
SGBDs orientadas a columnas
Características generales
Poseen una estructura tabular en las que las filas admiten un número
variable de columnas (familias de columnas)
Facilitan la representación de datos semi-estructurados
Optimizadas para operaciones a nivel de columnas (contar, sumar,
promediar, etc.)
Logran altos niveles de escalabilidad al dividir las filas (partición
horizontal) y las columnas (partición vertical) y distribuirlas a través
de múltiples nodos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 35
NoSQL SGBDs NoSQL
SGBDs orientadas a columnas
Modelo de datos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 36
NoSQL SGBDs NoSQL
SGBDs orientadas a columnas
Modelo de datos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 36
NoSQL SGBDs NoSQL
SGBDs orientadas a columnas
Modelo de datos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 36
NoSQL SGBDs NoSQL
Cassandra (2008)
SGBDs orientadas a columnas
Inspirado en Bigtable y Dynamo
Proyecto de código abierto de Apache
Desarrollado inicialmente por Facebook
Ofrece un lenguaje de consultas –CQL– similar a SQL
Escrito en Java
Ofrece una interfaz de línea de comandos y una API para Java,
además existen bibliotecas para Python, PHP, .NET, Ruby y otros
¿Quién lo utiliza?: Facebook, Digg, Reddit, Twitter y otros
Sitio oficial: http://cassandra.apache.org/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 37
NoSQL SGBDs NoSQL
HBase (2011)
SGBDs orientadas a columnas
Inspirado en Bigtable
Desarrollado como parte de Hadoop
Hadoop es una implementación de código abierto de MapReduce,
desarrollado inicialmente por Yahoo!
Ofrece un lenguaje de consultas de alto nivel: Pig
Escrito en Java
¿Quién lo utiliza?: Facebook, Yahoo! y otros
Sitio oficial: http://hbase.apache.org/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 38
NoSQL SGBDs NoSQL
SGBDs orientadas a documentos
Características generales
Almacenan los datos en documentos XML, JSON u otros formatos
Ofrecen soporte para índices secundarios
Permiten trabajar con datos más complejos, admitiéndose
documentos (objetos) anidados
Se corresponde con la manera en que se modelan los objetos y sus
propiedades en los lenguajes OO
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 39
NoSQL SGBDs NoSQL
MongoDB (2009)
SGBDs orientadas a documentos
Desarrollado por 10gen bajo la licencia libre AGPL y soporte comercial
Almacena los datos en documentos en formato BSON (Binary JSON)
Realiza automáticamente la fragmentación de los datos
Ofrece un lenguaje de consultas similar a SQL
Escrito en C++
Ofrece una interfaz de línea de comandos JavaScript y una API
REST, además existen bibliotecas para C, C++, C#, Java,
JavaScript, Perl, Python, PHP, Ruby y otros
¿Quién lo utiliza?: Foursquare, Github, MTV Networks y otros
Sitio oficial: https://www.mongodb.org/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 40
NoSQL SGBDs NoSQL
CouchDB (2005)
SGBDs orientadas a documentos
Es un proyecto de Apache desde 2008
Almacena los datos en documentos JSON
Brinda una alta disponibilidad y replicación peer-to-peer
Escrito en Erlang
Ofrece una interfaz web para la administración y una API REST
¿Quién lo utiliza?: Apple, BBC, Canonical y otros
Sitio oficial: http://couchdb.apache.org/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 41
NoSQL SGBDs NoSQL
Couchbase (2011)
SGBDs orientadas a documentos
Desarrollado por Couchbase bajo una licencia libre de Apache con
soporte comercial
Combina las mejores características de CouchDB y Membase
Almacena los datos en documentos JSON
Su arquitectura se adapta automáticamente a los cambios en la
topología del clúster
Escrito en C, C++ y Erlang
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 42
NoSQL SGBDs NoSQL
Couchbase (2011)
SGBDs orientadas a documentos
Ofrece una interfaz web de administración y una API HTTP RESTful
Existen bibliotecas para Java, Ruby, .NET, C, PHP, Python y otros
Couchbase Lite: versión ligera para su uso en dispositivos móviles
¿Quién lo utiliza?: Adidas, Adobe, Beats Music, Disney, eBay, Honda,
Intel, LinkedIn, Mozilla, Nokia, Vodafone, Walmart y otros
Sitio oficial: http://www.couchbase.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 42
NoSQL SGBDs NoSQL
eXist (2001)
SGBDs orientadas a documentos
Desarrollado bajo una licencia libre (LGPL)
Almacena los datos en documentos XML
Brinda soporte para consultas XQuery y XSLT
Incorpora Lucene para búsquedas a texto completo
Escrito en Java
¿Quién lo utiliza?: Tibetan Buddhist Resource Center (TBRC),
ScoutDragon, Semanta y otros
Sitio oficial: http://exist-db.org/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 43
NoSQL SGBDs NoSQL
MarkLogic Server (2001)
SGBDs orientadas a documentos
Considerado un SGBD NoSQL híbrido (múltiples modelos de datos)
Desarrollado por MarkLogic bajo licencia dual: una versión libre y otra
comercial con soporte garantizado
Ofrece indexado universal
Satisface las propiedades ACID
Escrito en C++
¿Quién lo utiliza?: Springer, Condé Nast y otros
Sitio oficial: http://www.marklogic.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 44
NoSQL SGBDs NoSQL
SGBDs orientadas a grafos
Características generales
Los datos son almacenados en nodos interrelacionados unos con otros
Ideales para aquellos contextos en los que las relaciones son
fundamentales (ej: redes sociales)
Aplican algoritmos de búsqueda optimizados para grafos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 45
NoSQL SGBDs NoSQL
SGBDs orientadas a grafos
Ejemplo: representando relaciones de amistad
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 46
NoSQL SGBDs NoSQL
SGBDs orientadas a grafos
Ejemplo: representando relaciones de amistad
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 46
NoSQL SGBDs NoSQL
SGBDs orientadas a grafos
Ejemplo: representando relaciones de amistad
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 46
NoSQL SGBDs NoSQL
SGBDs orientadas a grafos
Clasificación según métodos de almacenamiento y procesamiento
Robinson, I.; Webber, J. & Eifrem, E. (2013). Graph Databases. Sebastopol, CA: O’Reilly Media, Inc.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 47
NoSQL SGBDs NoSQL
Neo4j (2007)
SGBDs orientadas a grafos
Desarrollado por Neo Technology bajo una licencia dual: una versión
libre (GPL) y otra comercial con soporte garantizado
Soporta consultas SPARQL
Satisface las propiedades ACID
Escrito en Java
Ofrece una interfaz web para la administración y una API REST,
además existen bibliotecas para Java, Python, Ruby, PHP y otros
¿Quién lo utiliza?: eBay, Walmart, Box.net y otros
Sitio oficial: http://www.neo4j.com/
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 48
NoSQL SGBDs NoSQL
Neo4j (2007)
SGBDs orientadas a grafos
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 49
Conclusiones
Sumario
1 Introducción
Contexto actual
Necesidades actuales
2 NoSQL
Primeras propuestas
El término “NoSQL”
SGBDs NoSQL
3 Conclusiones
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 50
Conclusiones
Conclusiones
Los SGBDs NoSQL constituyen una excelente opción para el
desarrollo de sistemas que requieren de una alta disponibilidad y el
trabajo eficiente con datos semi-estructurados y no estructurados
Existen múltiples opciones en el mundo de las tecnologías NoSQL y
resulta una tarea difícil seleccionar la más indicada según el caso
Deben considerarse las características del contexto de aplicación antes
de elegir una u otra variante
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 51
Lecturas recomendadas
Lecturas recomendadas I
Bhat, U. & Jadhav, S. (2010).
Moving Towards Non-Relational Databases.
2010 International Journal of Computer Applications, 1(13),
pp. 40-46. ISSN: 0975-8887.
Cattell, R. (2011).
Scalable SQL and NoSQL data stores.
ACM SIGMOD Record, 39(4), pp. 12-27.
Gajendran, S. K. (2012).
A Survey on NoSQL Databases
Reporte técnico extraído el 1/07/2013 desde
http://masters.donntu.edu.ua/2013/fknt/babich/library/article10.pdf
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 52
Lecturas recomendadas
Lecturas recomendadas II
Pokorný, J. (2013).
NoSQL databases: a step to database scalability in web environment.
International Journal of Web Information Systems, 9(1), pp. 69-82.
Strauch, C. & Kriha, W. (2011).
NoSQL Databases.
Lecture Notes on Selected Topics on Software-Technology Ultra-Large
Scale Sites, Stuttgart Media University. Extraído el 10/06/2013 desde
http://home.aubg.bg/students/ENL100/Cloud%20Computing
/Research%20Paper/nosqldbs.pdf
Vogels, W. (2008, 22 de diciembre).
Eventually Consistent - Revisited.
Consultado el 6/10/2014 desde http://www.allthingsdistributed.com
/2008/12/eventually_consistent.html
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 53
Lecturas recomendadas
Lecturas recomendadas III
Fowler, A. (2015).
NoSQL For Dummies.
Hoboken, NJ: John Wiley & Sons, Inc.
Hurwitz, J.; Nugent, A.; Halper, F. & Kaufman, M. (2013).
Big Data For Dummies.
Hoboken, NJ: John Wiley & Sons, Inc.
McCreary, D. & Kelly, A. (2013).
Making Sense of NoSQL: A guide for managers and the rest of us.
Shelter Island, NY: Manning Publications Co.
Tiwari, S. (2011).
Professional NoSQL.
Indianapolis, IN: John Wiley & Sons, Inc.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 54
Lecturas recomendadas
Lecturas recomendadas IV
Robinson, I.; Webber, J. & Eifrem, E. (2013).
Graph Databases.
Sebastopol, CA: O’Reilly Media, Inc.
Vaish, G. (2013).
Getting Started with NoSQL.
Birmingham, UK: Packt Publishing.
Warden, P. (2011).
Big Data Glossary.
Sebastopol, CA: O’Reilly Media, Inc.
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 55
Un acercamiento a las bases de datos NoSQL
MSc. Javier Guillot Jiménez
Departamento de Programación
Facultad de Matemática y Computación
Universidad de La Habana
4 de octubre de 2015
MSc. Javier Guillot Jiménez Universidad de La Habana
Un acercamiento a las bases de datos NoSQL 56

Más contenido relacionado

La actualidad más candente

CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidRicardo Monagas Medina
 
NoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraNoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraWladimir Cabarcas
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaLiz Armenteros
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Andrei Amador
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBScalia
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db.. ..
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 

La actualidad más candente (20)

MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Conceptos de NoSoloSQL
Conceptos de NoSoloSQLConceptos de NoSoloSQL
Conceptos de NoSoloSQL
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones Android
 
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
 
NoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache CassandraNoSQL: Un nuevo paradigma - Apache Cassandra
NoSQL: Un nuevo paradigma - Apache Cassandra
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 
Bd no sql conceptos basicos
Bd no sql conceptos basicosBd no sql conceptos basicos
Bd no sql conceptos basicos
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
Mongodb
MongodbMongodb
Mongodb
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Que es MongoDB
Que es MongoDBQue es MongoDB
Que es MongoDB
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Cloud Computing: Windows Azure
Cloud Computing: Windows AzureCloud Computing: Windows Azure
Cloud Computing: Windows Azure
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 

Destacado (19)

Introducción al mundo NoSQL
Introducción al mundo NoSQLIntroducción al mundo NoSQL
Introducción al mundo NoSQL
 
Sql vs nosql
Sql vs nosqlSql vs nosql
Sql vs nosql
 
Sql vs NoSQL
Sql vs NoSQLSql vs NoSQL
Sql vs NoSQL
 
NoSQL Databases: Why, what and when
NoSQL Databases: Why, what and whenNoSQL Databases: Why, what and when
NoSQL Databases: Why, what and when
 
How to Speed up your Database
How to Speed up your DatabaseHow to Speed up your Database
How to Speed up your Database
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
Oopphp5
Oopphp5Oopphp5
Oopphp5
 
Bd no sqlcb2
Bd no sqlcb2Bd no sqlcb2
Bd no sqlcb2
 
Bd nosql tecnicas III
Bd nosql tecnicas IIIBd nosql tecnicas III
Bd nosql tecnicas III
 
NoSql y MongoDB
NoSql y MongoDBNoSql y MongoDB
NoSql y MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Sql vs. NoSql
Sql vs. NoSqlSql vs. NoSql
Sql vs. NoSql
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using Hazelcast
 
Introduction to column oriented databases
Introduction to column oriented databasesIntroduction to column oriented databases
Introduction to column oriented databases
 
Modelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionalesModelos de datos relacionales y no relacionales
Modelos de datos relacionales y no relacionales
 
Hbase: Introduction to column oriented databases
Hbase: Introduction to column oriented databasesHbase: Introduction to column oriented databases
Hbase: Introduction to column oriented databases
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 

Similar a Un acercamiento a las bases de datos NoSQL

Similar a Un acercamiento a las bases de datos NoSQL (20)

BD-Tema-7.pdf
BD-Tema-7.pdfBD-Tema-7.pdf
BD-Tema-7.pdf
 
Big table por Matias tesoriero
Big table por Matias tesorieroBig table por Matias tesoriero
Big table por Matias tesoriero
 
Sergio cano a
Sergio cano aSergio cano a
Sergio cano a
 
S cano a actividad 4 4b
S cano a actividad 4 4bS cano a actividad 4 4b
S cano a actividad 4 4b
 
Base datos
Base datosBase datos
Base datos
 
Couchdb
CouchdbCouchdb
Couchdb
 
Bases de datos NoSQL Multi-Modelos, caso de estudio: OrientDB
Bases de datos NoSQL Multi-Modelos, caso de estudio: OrientDBBases de datos NoSQL Multi-Modelos, caso de estudio: OrientDB
Bases de datos NoSQL Multi-Modelos, caso de estudio: OrientDB
 
curso_mysql.pdf
curso_mysql.pdfcurso_mysql.pdf
curso_mysql.pdf
 
Cursos Big Data Open Source
Cursos Big Data Open SourceCursos Big Data Open Source
Cursos Big Data Open Source
 
Curso mysql modificado
Curso mysql modificadoCurso mysql modificado
Curso mysql modificado
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4j
 
Act4 basede datos
Act4 basede datosAct4 basede datos
Act4 basede datos
 
Act4 basede datos
Act4 basede datosAct4 basede datos
Act4 basede datos
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentes
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentes
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Base de datos no sql
Base de datos no sqlBase de datos no sql
Base de datos no sql
 
CSIC
CSIC CSIC
CSIC
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOn
 
14.- Servidor my sql
14.- Servidor my sql14.- Servidor my sql
14.- Servidor my sql
 

Último

Mapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfMapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfhees071224mmcrpna1
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería yocelynsanchezerasmo
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILeluniversocom
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfJC Díaz Herrera
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoSantiagoRodriguezLoz
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOsecundariatecnica891
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405rodrimarxim
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdfJC Díaz Herrera
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfeluniversocom
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOReluniversocom
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptx
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptxDEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptx
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptxYamile Divina Acevedo
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024eluniversocom
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Ivie
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
El guion museográfico. definición. componentes. parte 1.pptx
El guion museográfico. definición. componentes. parte 1.pptxEl guion museográfico. definición. componentes. parte 1.pptx
El guion museográfico. definición. componentes. parte 1.pptxAngelaMarquez27
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxYoladsCabarcasTous
 

Último (20)

Mapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdfMapa de riesgos de un cine, equipo 4.pdf
Mapa de riesgos de un cine, equipo 4.pdf
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
 
Las familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdfLas familias más ricas dentro del sionismo (2024).pdf
Las familias más ricas dentro del sionismo (2024).pdf
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASO
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405
 
Países por velocidad de sus misiles hipersónicos (2024).pdf
Países por velocidad de sus misiles hipersónicos  (2024).pdfPaíses por velocidad de sus misiles hipersónicos  (2024).pdf
Países por velocidad de sus misiles hipersónicos (2024).pdf
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptx
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptxDEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptx
DEFINICION DE GLOBALIZACION Y SU IMPACTOI EN LA EN LA CULTURA.pptx
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
 
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
PREGUNTAS Y ANEXOS CONSULTA POPULAR 2024
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
 
El guion museográfico. definición. componentes. parte 1.pptx
El guion museográfico. definición. componentes. parte 1.pptxEl guion museográfico. definición. componentes. parte 1.pptx
El guion museográfico. definición. componentes. parte 1.pptx
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptx
 

Un acercamiento a las bases de datos NoSQL

  • 1. Un acercamiento a las bases de datos NoSQL MSc. Javier Guillot Jiménez Departamento de Programación Facultad de Matemática y Computación Universidad de La Habana 4 de octubre de 2015 MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 1
  • 2. Sumario 1 Introducción Contexto actual Necesidades actuales 2 NoSQL Primeras propuestas El término “NoSQL” SGBDs NoSQL 3 Conclusiones MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 2
  • 3. Introducción Sumario 1 Introducción Contexto actual Necesidades actuales 2 NoSQL Primeras propuestas El término “NoSQL” SGBDs NoSQL 3 Conclusiones MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 3
  • 4. Introducción Contexto actual Contexto actual Las aplicaciones han evolucionado mucho en los últimos 15 años Las grandes compañías web han crecido vertiginosamente en: Cantidad de usuarios concurrentes Volúmenes de datos procesados y almacenados Explotación de datos semi-estructurados y no estructurados La computación en la nube ha facilitado el acceso a servicios de Internet que explotan diversos e inmensos volúmenes de datos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 4
  • 5. Introducción Contexto actual Big Users Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 5
  • 6. Introducción Contexto actual Big Users Ventas mundiales de dispositivos según su tipo (miles de unidades) Gartner, Inc. (2013, abril). Forecast: Devices by Operating System and User Type, Worldwide, 2010-2017, 1Q13 Update. Consultado el 5 de agosto de 2014 desde http://www.gartner.com/resId=2396815 MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 6
  • 7. Introducción Contexto actual The Internet of Things MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 7
  • 8. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 9. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 10. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 11. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 12. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 13. Introducción Contexto actual Big Data Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 14. Introducción Contexto actual Big Data MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 8
  • 15. Introducción Contexto actual Cloud computing Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 9
  • 16. Introducción Necesidades actuales Necesidades actuales ¿Qué características deben tener los SGBDs de hoy día? Sistemas cada vez más escalables Sistemas con modelos de datos más flexibles MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 10
  • 17. Introducción Necesidades actuales Necesidades actuales ¿Qué características deben tener los SGBDs de hoy día? Sistemas cada vez más escalables Sistemas con modelos de datos más flexibles MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 10
  • 18. Introducción Necesidades actuales Escalamiento vertical vs. escalamiento horizontal McCreary, D. (2013, 19 de noviembre). Making Sense of NoSQL. Disponible en: http://manning.com/mccreary (03/05/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 11
  • 19. Introducción Necesidades actuales Escalamiento vertical Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 12
  • 20. Introducción Necesidades actuales Escalamiento horizontal Couchbase. (2014, junio). Why NoSQL? Disponible en: http://info.couchbase.com/whyNoSQL-LP.html (10/07/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 13
  • 21. Introducción Necesidades actuales ACID Atomicity - Consistency - Isolation - Durability Una secuencia de operaciones (transacción): Se ejecutará del todo o nada (A) Una vez completada, la BD quedará en un estado en el que no se viola ninguna restricción de integridad (C) Las transacciones concurrentes son independientes y no se afectan unas a otras (I) Las modificaciones efectuadas por una transacción podrán recuperarse ante fallas del sistema (D) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 14
  • 22. Introducción Necesidades actuales ACID Ejemplo de transacción McCreary, D. & Kelly, A. (2013). Making Sense of NoSQL: A guide for managers and the rest of us. Shelter Island, NY: Manning Publications Co. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 15
  • 23. Introducción Necesidades actuales Teorema CAP Brewer, E. A. (2000). Towards robust distributed systems. Trabajo presentado en PODC 2000, 16-19 de julio, Portland, Oregon. Gilbert, S. & Lynch, N. (2002). Brewer’s conjecture and the feasibility consistent, available, partition-tolerant web services. Newsletter ACM SIGACT News, 33(2), pp. 51-59. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 16
  • 24. Introducción Necesidades actuales Teorema CAP (C) Consistencia: siempre que un dato es actualizado, todos los usuarios tienen acceso a esa última versión (A) Disponibilidad: cualquier operación puede ser ejecutada sin demora (P) Tolerancia a particiones: los datos son distribuidos a través de dos o más nodos de la red y el sistema puede seguir funcionando, incluso, cuando algunos de estos nodos son totalmente inaccesibles MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 16
  • 25. Introducción Necesidades actuales Teorema CAP McCreary, D. (2013, 19 de noviembre). Making Sense of NoSQL. Disponible en: http://manning.com/mccreary (03/05/2014) MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 16
  • 26. Introducción Necesidades actuales BASE Basically Available, Soft state and Eventually consistent Las aplicaciones trabajan prácticamente todo el tiempo (basically available) La BD no tiene que ser consistente en todo momento (soft state) Pero si no ocurren nuevas actualizaciones sobre un determinado dato, en algún momento todos los usuarios tendrán acceso a la versión más actual de este (eventually consistent) Fox, A.; Gribble, S. D.; Chawathe, Y. Brewer, E. A. & Gauthier, P. (1997, octubre). Cluster-Based Scalable Network Services. En Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles (SOSP-16), Saint-Malo, Francia. Pritchett, D. (2008). Base: An Acid Alternative. Queue, 6(3), pp. 48-55. ACM. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 17
  • 27. Introducción Necesidades actuales Necesidades actuales ¿Qué características deben tener los SGBDs de hoy día? Sistemas cada vez más escalables Sistemas con modelos de datos más flexibles MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 18
  • 28. Introducción Necesidades actuales Limitaciones del modelo relacional Las BDRs requieren la definición de un esquema rígido que dificulta representar datos semi-estructurados y no estructurados Modificar el diseño de una BDR una vez que ha sido poblada con nuevos datos constituye una tarea ardua que se evita acometer Se minimiza la cantidad de espacio requerido para el almacenamiento a expensas de un aumento de la complejidad para consultar los datos Complicada red de interrelaciones dificulta distribuir las BDRs en múltiples servidores y garantizar a la vez el rendimiento en su gestión MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 19
  • 29. Introducción Necesidades actuales Limitaciones del modelo relacional Se ajusta poco al paradigma OO utilizado en la mayoría de los lenguajes de programación actuales Esta situación ha intentado ser resuelta desde hace años con las BDOOs (Atkinson et al., 1989; Atwood, 1985; Derret et al., 1985) Estas no lograron ser ampliamente usadas por desarrolladores y usuarios en general MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 19
  • 30. NoSQL Sumario 1 Introducción Contexto actual Necesidades actuales 2 NoSQL Primeras propuestas El término “NoSQL” SGBDs NoSQL 3 Conclusiones MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 20
  • 31. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 32. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales 2004 MapReduce: Simplified Data Processing on Large Clusters MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 33. NoSQL Primeras propuestas Primeras propuestas 2004 MapReduce: Simplified Data Processing on Large Clusters MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 34. NoSQL Primeras propuestas Primeras propuestas 2004 MapReduce: Simplified Data Processing on Large Clusters MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 35. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales 2004 MapReduce: Simplified Data Processing on Large Clusters 2006 Bigtable: A Distributed Storage System for Structured Data “Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers.” MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 36. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales 2007 Dynamo: Amazon’s Highly Available Key-Value Store “. . . customers should be able to view and add items to their shopping cart even if disks are failing, network routes are flapping, or data centers are being destroyed by tornados.” MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 37. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales 2008 Cassandra – A Decentralized Structured Storage System Propuesta inspirada en Bigtable y Dynamo MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 38. NoSQL Primeras propuestas Primeras propuestas Google, Amazon, Facebook y LinkedIn fueron de las primeras compañías en experimentar las limitaciones que imponían las tecnologías relacionales 2008 Cassandra – A Decentralized Structured Storage System Propuesta inspirada en Bigtable y Dynamo 2008 Project Voldemort Propuesta inspirada en Dynamo MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 21
  • 39. NoSQL El término “NoSQL” El término “NoSQL” Empleado por primera vez en el año 1998 por Carlo Strozzi, para referirse a un SGBDR que no utilizaba SQL Retomado en 2009 para nombrar los congresos de los partidarios de las BDs no relacionales, distribuidas y de código abierto (NoSQL 2009, en San Francisco) Revista Computerworld: “NoSQLers came to share how they had overthrown the tyranny of slow, expensive relational databases in favor of more efficient and cheaper ways of managing data.” Computerworld. (2009, junio). No to SQL? Anti-database movement gains steam. Consultado el 10 de julio de 2014 desde http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 22
  • 40. NoSQL El término “NoSQL” El término “NoSQL” NoSQL = ¿? NoSQL = No to SQL NoSQL = Not only SQL Evans, E. (2009, 30 de octubre). NoSQL: What’s in a name? Consultado el 10 de julio de 2014 desde http://www.deadcafe.org/2009/10/30/nosql_whats_in_a_name.html MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 23
  • 41. NoSQL Algunas opiniones Eric Evans: “The whole point of seeking alternatives is that you need to solve a problem that relational databases are a bad fit for” Evans, E. (2009, 30 de octubre). NoSQL: What’s in a name? Consultado el 10 de julio de 2014 desde http://www.deadcafe.org/2009/10/30/nosql_whats_in_a_name.html MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 24
  • 42. NoSQL Algunas opiniones Javier Soltero: “Oracle would tell you that with the right degree of hardware and the right configuration of Oracle RAC (Real Application Clusters) and other associated magic software, you can achieve the same scalability. But at what cost?” Computerworld. (2009, junio). No to SQL? Anti-database movement gains steam. Consultado el 10 de julio de 2014 desde http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 24
  • 43. NoSQL Algunas opiniones Nati Shalom: “Cost pressure also forced many organizations to look at more cost-effective alternatives, and with that came research that showed that distributed storage based on commodity hardware can be even more reliable than many of the existing high end databases” Shalom, N. (2009, 15 de diciembre). The Common Principles Behind The NOSQL Alternatives. Consultado el 10 de julio de 2014 desde http://natishalom.typepad.com/nati_shaloms_blog/2009/12/the-common-principles-behind-the-nosql-alternatives.html MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 24
  • 44. NoSQL Tendencias de búsqueda de Google de los términos “RDBMS” y “NoSQL” Google. (2014, 13 de noviembre). Tendencias de búsqueda de Google - Interés en Búsqueda en la Web: nosql, rdbms - Todo el mundo, 2004 - hoy. Consultado el 13/11/2014 desde http://www.google.com/trends/explore?q=NoSQL%2C+RDBMS MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 25
  • 45. NoSQL SGBDs NoSQL SGBDs NoSQL Características generales No requieren de la definición de un esquema de la BD Almacenan los datos de forma no relacional Están diseñados para arquitecturas distribuidas Pueden ser instalados en servidores de bajo costo MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 26
  • 46. NoSQL SGBDs NoSQL Principales exponentes según su modelo de datos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 27
  • 47. NoSQL SGBDs NoSQL Principales exponentes en el Cuadrante Mágico de Gartner MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 28
  • 48. NoSQL SGBDs NoSQL Principales exponentes en el Cuadrante Mágico de Gartner MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 28
  • 49. NoSQL SGBDs NoSQL SGBDs llave/valor Características generales Poseen un modelo de datos sencillo que permite almacenar y recuperar valores de cualquier tipo a partir de una llave Son ideales para el manejo de datos no estructurados Favorecen una alta disponibilidad de los datos Las operaciones de lectura y escritura tienen un desempeño altísimo En general, no hay forma de recuperar un registro basándose en el contenido de su valor MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 29
  • 50. NoSQL SGBDs NoSQL SGBDs llave/valor Ejemplo MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 30
  • 51. NoSQL SGBDs NoSQL Voldemort (2008) SGBDs llave/valor Inspirado en Dynamo Desarrollado por LinkedIn bajo una licencia libre de Apache Realiza automáticamente la replicación y fragmentación de los datos Escrito en Java Existen bibliotecas para Java, Python, Ruby, C, C++, Lua y otros ¿Quién lo utiliza?: LinkedIn Sitio oficial: http://project-voldemort.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 31
  • 52. NoSQL SGBDs NoSQL Riak (2008) SGBDs llave/valor Inspirado en Dynamo Desarrollado por Basho bajo una licencia dual: una versión de código abierto y otra comercial con soporte garantizado Realiza automáticamente la replicación y fragmentación de los datos Admite consultas MapReduce e índices secundarios Escrito en Erlang Ofrece una API HTTP RESTful y existen bibliotecas para Java, Python, Perl, Erlang, Ruby, PHP, .NET y otros ¿Quién lo utiliza?: Comcast y Mochi Media Sitio oficial: http://riak.basho.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 32
  • 53. NoSQL SGBDs NoSQL Redis (2009) SGBDs llave/valor Desarrollado por Salvatore Sanfilippo bajo la licencia BSD Brinda un alto desempeño pues mayormente trabaja sobre la RAM Escrito en C Ofrece una interfaz de línea de comandos y existen bibliotecas para Java, Python, Ruby, C, C++, Lua, Haskell y otros ¿Quién lo utiliza?: Craigslist Sitio oficial: http://redis.io/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 33
  • 54. NoSQL SGBDs NoSQL Aerospike (2012) SGBDs llave/valor Liberado bajo la licencia AGPL en 2014 Enfocado en la alta disponibilidad y la tolerancia a fallas Optimizado para el trabajo en discos de estado sólido (SSD) Ofrece soporte para la replicación entre diversos centros de datos Escrito en C Existen bibliotecas para C, C#, Java, Ruby, PHP y Python Sitio oficial: http://www.aerospike.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 34
  • 55. NoSQL SGBDs NoSQL SGBDs orientadas a columnas Características generales Poseen una estructura tabular en las que las filas admiten un número variable de columnas (familias de columnas) Facilitan la representación de datos semi-estructurados Optimizadas para operaciones a nivel de columnas (contar, sumar, promediar, etc.) Logran altos niveles de escalabilidad al dividir las filas (partición horizontal) y las columnas (partición vertical) y distribuirlas a través de múltiples nodos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 35
  • 56. NoSQL SGBDs NoSQL SGBDs orientadas a columnas Modelo de datos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 36
  • 57. NoSQL SGBDs NoSQL SGBDs orientadas a columnas Modelo de datos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 36
  • 58. NoSQL SGBDs NoSQL SGBDs orientadas a columnas Modelo de datos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 36
  • 59. NoSQL SGBDs NoSQL Cassandra (2008) SGBDs orientadas a columnas Inspirado en Bigtable y Dynamo Proyecto de código abierto de Apache Desarrollado inicialmente por Facebook Ofrece un lenguaje de consultas –CQL– similar a SQL Escrito en Java Ofrece una interfaz de línea de comandos y una API para Java, además existen bibliotecas para Python, PHP, .NET, Ruby y otros ¿Quién lo utiliza?: Facebook, Digg, Reddit, Twitter y otros Sitio oficial: http://cassandra.apache.org/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 37
  • 60. NoSQL SGBDs NoSQL HBase (2011) SGBDs orientadas a columnas Inspirado en Bigtable Desarrollado como parte de Hadoop Hadoop es una implementación de código abierto de MapReduce, desarrollado inicialmente por Yahoo! Ofrece un lenguaje de consultas de alto nivel: Pig Escrito en Java ¿Quién lo utiliza?: Facebook, Yahoo! y otros Sitio oficial: http://hbase.apache.org/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 38
  • 61. NoSQL SGBDs NoSQL SGBDs orientadas a documentos Características generales Almacenan los datos en documentos XML, JSON u otros formatos Ofrecen soporte para índices secundarios Permiten trabajar con datos más complejos, admitiéndose documentos (objetos) anidados Se corresponde con la manera en que se modelan los objetos y sus propiedades en los lenguajes OO MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 39
  • 62. NoSQL SGBDs NoSQL MongoDB (2009) SGBDs orientadas a documentos Desarrollado por 10gen bajo la licencia libre AGPL y soporte comercial Almacena los datos en documentos en formato BSON (Binary JSON) Realiza automáticamente la fragmentación de los datos Ofrece un lenguaje de consultas similar a SQL Escrito en C++ Ofrece una interfaz de línea de comandos JavaScript y una API REST, además existen bibliotecas para C, C++, C#, Java, JavaScript, Perl, Python, PHP, Ruby y otros ¿Quién lo utiliza?: Foursquare, Github, MTV Networks y otros Sitio oficial: https://www.mongodb.org/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 40
  • 63. NoSQL SGBDs NoSQL CouchDB (2005) SGBDs orientadas a documentos Es un proyecto de Apache desde 2008 Almacena los datos en documentos JSON Brinda una alta disponibilidad y replicación peer-to-peer Escrito en Erlang Ofrece una interfaz web para la administración y una API REST ¿Quién lo utiliza?: Apple, BBC, Canonical y otros Sitio oficial: http://couchdb.apache.org/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 41
  • 64. NoSQL SGBDs NoSQL Couchbase (2011) SGBDs orientadas a documentos Desarrollado por Couchbase bajo una licencia libre de Apache con soporte comercial Combina las mejores características de CouchDB y Membase Almacena los datos en documentos JSON Su arquitectura se adapta automáticamente a los cambios en la topología del clúster Escrito en C, C++ y Erlang MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 42
  • 65. NoSQL SGBDs NoSQL Couchbase (2011) SGBDs orientadas a documentos Ofrece una interfaz web de administración y una API HTTP RESTful Existen bibliotecas para Java, Ruby, .NET, C, PHP, Python y otros Couchbase Lite: versión ligera para su uso en dispositivos móviles ¿Quién lo utiliza?: Adidas, Adobe, Beats Music, Disney, eBay, Honda, Intel, LinkedIn, Mozilla, Nokia, Vodafone, Walmart y otros Sitio oficial: http://www.couchbase.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 42
  • 66. NoSQL SGBDs NoSQL eXist (2001) SGBDs orientadas a documentos Desarrollado bajo una licencia libre (LGPL) Almacena los datos en documentos XML Brinda soporte para consultas XQuery y XSLT Incorpora Lucene para búsquedas a texto completo Escrito en Java ¿Quién lo utiliza?: Tibetan Buddhist Resource Center (TBRC), ScoutDragon, Semanta y otros Sitio oficial: http://exist-db.org/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 43
  • 67. NoSQL SGBDs NoSQL MarkLogic Server (2001) SGBDs orientadas a documentos Considerado un SGBD NoSQL híbrido (múltiples modelos de datos) Desarrollado por MarkLogic bajo licencia dual: una versión libre y otra comercial con soporte garantizado Ofrece indexado universal Satisface las propiedades ACID Escrito en C++ ¿Quién lo utiliza?: Springer, Condé Nast y otros Sitio oficial: http://www.marklogic.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 44
  • 68. NoSQL SGBDs NoSQL SGBDs orientadas a grafos Características generales Los datos son almacenados en nodos interrelacionados unos con otros Ideales para aquellos contextos en los que las relaciones son fundamentales (ej: redes sociales) Aplican algoritmos de búsqueda optimizados para grafos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 45
  • 69. NoSQL SGBDs NoSQL SGBDs orientadas a grafos Ejemplo: representando relaciones de amistad MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 46
  • 70. NoSQL SGBDs NoSQL SGBDs orientadas a grafos Ejemplo: representando relaciones de amistad MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 46
  • 71. NoSQL SGBDs NoSQL SGBDs orientadas a grafos Ejemplo: representando relaciones de amistad MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 46
  • 72. NoSQL SGBDs NoSQL SGBDs orientadas a grafos Clasificación según métodos de almacenamiento y procesamiento Robinson, I.; Webber, J. & Eifrem, E. (2013). Graph Databases. Sebastopol, CA: O’Reilly Media, Inc. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 47
  • 73. NoSQL SGBDs NoSQL Neo4j (2007) SGBDs orientadas a grafos Desarrollado por Neo Technology bajo una licencia dual: una versión libre (GPL) y otra comercial con soporte garantizado Soporta consultas SPARQL Satisface las propiedades ACID Escrito en Java Ofrece una interfaz web para la administración y una API REST, además existen bibliotecas para Java, Python, Ruby, PHP y otros ¿Quién lo utiliza?: eBay, Walmart, Box.net y otros Sitio oficial: http://www.neo4j.com/ MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 48
  • 74. NoSQL SGBDs NoSQL Neo4j (2007) SGBDs orientadas a grafos MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 49
  • 75. Conclusiones Sumario 1 Introducción Contexto actual Necesidades actuales 2 NoSQL Primeras propuestas El término “NoSQL” SGBDs NoSQL 3 Conclusiones MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 50
  • 76. Conclusiones Conclusiones Los SGBDs NoSQL constituyen una excelente opción para el desarrollo de sistemas que requieren de una alta disponibilidad y el trabajo eficiente con datos semi-estructurados y no estructurados Existen múltiples opciones en el mundo de las tecnologías NoSQL y resulta una tarea difícil seleccionar la más indicada según el caso Deben considerarse las características del contexto de aplicación antes de elegir una u otra variante MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 51
  • 77. Lecturas recomendadas Lecturas recomendadas I Bhat, U. & Jadhav, S. (2010). Moving Towards Non-Relational Databases. 2010 International Journal of Computer Applications, 1(13), pp. 40-46. ISSN: 0975-8887. Cattell, R. (2011). Scalable SQL and NoSQL data stores. ACM SIGMOD Record, 39(4), pp. 12-27. Gajendran, S. K. (2012). A Survey on NoSQL Databases Reporte técnico extraído el 1/07/2013 desde http://masters.donntu.edu.ua/2013/fknt/babich/library/article10.pdf MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 52
  • 78. Lecturas recomendadas Lecturas recomendadas II Pokorný, J. (2013). NoSQL databases: a step to database scalability in web environment. International Journal of Web Information Systems, 9(1), pp. 69-82. Strauch, C. & Kriha, W. (2011). NoSQL Databases. Lecture Notes on Selected Topics on Software-Technology Ultra-Large Scale Sites, Stuttgart Media University. Extraído el 10/06/2013 desde http://home.aubg.bg/students/ENL100/Cloud%20Computing /Research%20Paper/nosqldbs.pdf Vogels, W. (2008, 22 de diciembre). Eventually Consistent - Revisited. Consultado el 6/10/2014 desde http://www.allthingsdistributed.com /2008/12/eventually_consistent.html MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 53
  • 79. Lecturas recomendadas Lecturas recomendadas III Fowler, A. (2015). NoSQL For Dummies. Hoboken, NJ: John Wiley & Sons, Inc. Hurwitz, J.; Nugent, A.; Halper, F. & Kaufman, M. (2013). Big Data For Dummies. Hoboken, NJ: John Wiley & Sons, Inc. McCreary, D. & Kelly, A. (2013). Making Sense of NoSQL: A guide for managers and the rest of us. Shelter Island, NY: Manning Publications Co. Tiwari, S. (2011). Professional NoSQL. Indianapolis, IN: John Wiley & Sons, Inc. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 54
  • 80. Lecturas recomendadas Lecturas recomendadas IV Robinson, I.; Webber, J. & Eifrem, E. (2013). Graph Databases. Sebastopol, CA: O’Reilly Media, Inc. Vaish, G. (2013). Getting Started with NoSQL. Birmingham, UK: Packt Publishing. Warden, P. (2011). Big Data Glossary. Sebastopol, CA: O’Reilly Media, Inc. MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 55
  • 81. Un acercamiento a las bases de datos NoSQL MSc. Javier Guillot Jiménez Departamento de Programación Facultad de Matemática y Computación Universidad de La Habana 4 de octubre de 2015 MSc. Javier Guillot Jiménez Universidad de La Habana Un acercamiento a las bases de datos NoSQL 56