SlideShare una empresa de Scribd logo
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

PPTX
Les Base de Données NOSQL -Presentation -
DOCX
Etapas del Proceso de la Ingeniería del Software
PPTX
Bases de Datos No Relacionales
PPTX
Front end y Back-end
PPTX
Cubos ppt
PDF
Modelo de desarrollo de software
PPTX
Unidad III procedimientos
PPTX
Estimación de Proyectos de Software
Les Base de Données NOSQL -Presentation -
Etapas del Proceso de la Ingeniería del Software
Bases de Datos No Relacionales
Front end y Back-end
Cubos ppt
Modelo de desarrollo de software
Unidad III procedimientos
Estimación de Proyectos de Software

La actualidad más candente (20)

PDF
Fundamentos de Pruebas de Software - Introducción
PPTX
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
PPSX
Conceptos basicos calidad software
PDF
Tutorial de ESSENCE y SEMAT por Jonás Montilva y Judith Barrios
PPTX
No sql Orientado a documento
PDF
Présentation des bases de données NoSql
PPTX
2. El proceso del software
PDF
Evolución y clasificación de los lenguajes de programación
PPT
Master Data Management
PPT
Pruebas De Software
DOCX
Estructura de un router
KEY
Intro to Neo4j presentation
PPTX
Les Base de Données NOSQL
PPTX
Base de datos de Cafeteria en MARIADB
PDF
Herramientas de programación para desarrolladores
PDF
Manual Básico Knime
PPTX
Gestor de almacenamiento
PPTX
Que es api
PDF
Cours Big Data Part I
Fundamentos de Pruebas de Software - Introducción
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Conceptos basicos calidad software
Tutorial de ESSENCE y SEMAT por Jonás Montilva y Judith Barrios
No sql Orientado a documento
Présentation des bases de données NoSql
2. El proceso del software
Evolución y clasificación de los lenguajes de programación
Master Data Management
Pruebas De Software
Estructura de un router
Intro to Neo4j presentation
Les Base de Données NOSQL
Base de datos de Cafeteria en MARIADB
Herramientas de programación para desarrolladores
Manual Básico Knime
Gestor de almacenamiento
Que es api
Cours Big Data Part I
Publicidad

Destacado (20)

PDF
Introducción al mundo NoSQL
PDF
NoSQL: Introducción a las Bases de Datos no estructuradas
PPTX
Sql vs nosql
PPTX
Bd no sql conceptos basicos
PPTX
Sql vs NoSQL
PDF
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
KEY
NoSQL Databases: Why, what and when
PDF
How to Speed up your Database
PDF
Bases de Datos NoSQL
PPTX
Introducción a NoSQL
PPTX
NoSQL bases de datos no relacionales
PPTX
PDF
Oopphp5
PPTX
PPTX
Bd nosql tecnicas III
PPSX
Presentacion BD NoSQL
PDF
NoSql y MongoDB
PPTX
Sql vs. NoSql
PDF
Distributed applications using Hazelcast
Introducción al mundo NoSQL
NoSQL: Introducción a las Bases de Datos no estructuradas
Sql vs nosql
Bd no sql conceptos basicos
Sql vs NoSQL
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
NoSQL Databases: Why, what and when
How to Speed up your Database
Bases de Datos NoSQL
Introducción a NoSQL
NoSQL bases de datos no relacionales
Oopphp5
Bd nosql tecnicas III
Presentacion BD NoSQL
NoSql y MongoDB
Sql vs. NoSql
Distributed applications using Hazelcast
Publicidad

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

PDF
BD-Tema-7.pdf
PDF
Bases de Datos No Relacionales: Escalabilidad y Modelos NoSQL
PPT
Big table por Matias tesoriero
PPTX
S cano a actividad 4 4b
PPTX
Sergio cano a
PPTX
Base datos
PDF
Bases de datos NoSQL Multi-Modelos, caso de estudio: OrientDB
PDF
curso_mysql.pdf
PPT
Cursos Big Data Open Source
PDF
Curso mysql modificado
PDF
NoSql introducción -Innova4j
PDF
NoSQL: Un Cambio de Paradigma - Apache Cassandra
PPTX
Act4 basede datos
PPTX
Act4 basede datos
PDF
Introducción a las Bases de Datos NoSQL.
PPTX
Las principales bases de datos existentes
PPTX
Las principales bases de datos existentes
PDF
Sql o NoSql en Informática Médica
DOCX
Apache CouchDB
BD-Tema-7.pdf
Bases de Datos No Relacionales: Escalabilidad y Modelos NoSQL
Big table por Matias tesoriero
S cano a actividad 4 4b
Sergio cano a
Base datos
Bases de datos NoSQL Multi-Modelos, caso de estudio: OrientDB
curso_mysql.pdf
Cursos Big Data Open Source
Curso mysql modificado
NoSql introducción -Innova4j
NoSQL: Un Cambio de Paradigma - Apache Cassandra
Act4 basede datos
Act4 basede datos
Introducción a las Bases de Datos NoSQL.
Las principales bases de datos existentes
Las principales bases de datos existentes
Sql o NoSql en Informática Médica
Apache CouchDB

Último (20)

PDF
MORFOLOGIA (ASPECTO FORMACION DE PALABRAS).pdf
PPTX
Abdomen HosAESREBBweubeehkrhkqhrkhehrjktil.pptx
PDF
Presentación para empoderar a un equipo a factirar
PPTX
INDUCCION Y ORIENTACION DE LA EMPRESA VALE
PPT
2010_06 FSI_ASBA Pruebas de Stress de Riesgo de Crédito El Caso Peruano MLUY_...
PDF
dhjhfjhjcnjhghhhdfhuhhchchuuhuhduhduddyhdu
PPTX
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
PDF
Unidad Nº 1 Introduccion a Estadísticas
PDF
RADIOGRAFIA DEL PARQUE AUTOMOTOR EN BOLIVA Y PROYECCIONES 2025-2030.pdf
PPTX
CRITERIOS DE UN SERVICIO DE INTENSIVO presen.pptx
PDF
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
PDF
lavado de manos_20250805_212935_0000.pdf
PPSX
Unidad II - Diseño de una solucion 2025.ppsx
PPTX
Inteligencia_Artificialdelosk_Mujer.pptx
PPTX
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
PPTX
EPCE_EXCEL 365 CURSO DE ENTRENAMIENTO.pptx
PDF
MAPAMENTALLa tendencia pedagógica basada en competencias hacia una.pdf
PDF
REPORTE DE INCIDENCIA DELICTIVA IRAPUATO 1ER SEMESTRE 2025
PPTX
Las buenas costumbres en la familiaaaaaaa
PPTX
Precio optimo de venta para un emprendimiento familiar
MORFOLOGIA (ASPECTO FORMACION DE PALABRAS).pdf
Abdomen HosAESREBBweubeehkrhkqhrkhehrjktil.pptx
Presentación para empoderar a un equipo a factirar
INDUCCION Y ORIENTACION DE LA EMPRESA VALE
2010_06 FSI_ASBA Pruebas de Stress de Riesgo de Crédito El Caso Peruano MLUY_...
dhjhfjhjcnjhghhhdfhuhhchchuuhuhduhduddyhdu
Embarazo en adolescentes ksjsjjdkxkxkxkxxj
Unidad Nº 1 Introduccion a Estadísticas
RADIOGRAFIA DEL PARQUE AUTOMOTOR EN BOLIVA Y PROYECCIONES 2025-2030.pdf
CRITERIOS DE UN SERVICIO DE INTENSIVO presen.pptx
PRESENTACION DE LA ASIGNATURA materiales no convencionales.pdf
lavado de manos_20250805_212935_0000.pdf
Unidad II - Diseño de una solucion 2025.ppsx
Inteligencia_Artificialdelosk_Mujer.pptx
TICS EN HONDURAS, PAIS DE CENTROAMERICA.pptx
EPCE_EXCEL 365 CURSO DE ENTRENAMIENTO.pptx
MAPAMENTALLa tendencia pedagógica basada en competencias hacia una.pdf
REPORTE DE INCIDENCIA DELICTIVA IRAPUATO 1ER SEMESTRE 2025
Las buenas costumbres en la familiaaaaaaa
Precio optimo de venta para un emprendimiento familiar

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