A NoSQL (originalmente en referencia a "no SQL " o "no relacional") [1] de base de datos proporciona un mecanismo para el almacenamiento y recuperación de datos que se modela en medios distintos de las relaciones tabulares utilizados en bases de datos relacionales . Estas bases de datos existen desde finales de la década de 1960, pero el nombre "NoSQL" no se acuñó hasta principios del siglo XXI, [2] provocado por las necesidades de las empresas Web 2.0 . [3] [4] Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real . [5]Los sistemas NoSQL a veces también se denominan "No solo SQL" para enfatizar que pueden admitir lenguajes de consulta similares a SQL o sentarse junto a bases de datos SQL en arquitecturas persistentes políglotas . [6] [7]
Las motivaciones para este enfoque incluyen simplicidad de diseño , escalado "horizontal" más simple a grupos de máquinas (que es un problema para las bases de datos relacionales), [2] un control más fino sobre la disponibilidad y la limitación del desajuste de impedancia relacional de objeto . [8] Las estructuras de datos utilizadas por las bases de datos NoSQL (por ejemplo , par clave-valor , columna ancha , gráfico o documento ) son diferentes de las que se utilizan de forma predeterminada en las bases de datos relacionales, lo que hace que algunas operaciones sean más rápidas en NoSQL. La idoneidad particular de una base de datos NoSQL determinada depende del problema que debe resolver. A veces, las estructuras de datos utilizadas por las bases de datos NoSQL también se consideran "más flexibles" que las tablas de bases de datos relacionales. [9]
Muchas tiendas NoSQL comprometen la coherencia (en el sentido del teorema CAP ) a favor de la disponibilidad, la tolerancia de partición y la velocidad. Las barreras para una mayor adopción de las tiendas NoSQL incluyen el uso de lenguajes de consulta de bajo nivel (en lugar de SQL, por ejemplo), la falta de capacidad para realizar uniones ad hoc entre tablas, la falta de interfaces estandarizadas y enormes inversiones previas en bases de datos relacionales existentes. . [10] La mayoría de las tiendas NoSQL carecen de transacciones ACID verdaderas , aunque algunas bases de datos las han convertido en elementos centrales de sus diseños.
En cambio, la mayoría de las bases de datos NoSQL ofrecen un concepto de " consistencia eventual ", en el que los cambios de la base de datos se propagan a todos los nodos "eventualmente" (generalmente en milisegundos), por lo que las consultas de datos pueden no devolver datos actualizados inmediatamente o pueden resultar en la lectura de datos que son no es exacto, un problema conocido como lecturas obsoletas. [11] Además, algunos sistemas NoSQL pueden exhibir escrituras perdidas y otras formas de pérdida de datos . [12] Algunos sistemas NoSQL proporcionan conceptos como el registro de escritura anticipada para evitar la pérdida de datos. [13] Para el procesamiento de transacciones distribuidas en múltiples bases de datos, la consistencia de los datos es un desafío aún mayor que es difícil tanto para NoSQL como para las bases de datos relacionales. Las bases de datos relacionales "no permiten que las restricciones de integridad referencial abarquen las bases de datos". [14] Pocos sistemas mantienen tanto las transacciones ACID como los estándares X / Open XA para el procesamiento de transacciones distribuidas. [15] Las bases de datos relacionales interactivas comparten técnicas de análisis de relés conformacionales como una característica común. [16] Las limitaciones dentro del entorno de la interfaz se superan mediante el uso de protocolos de virtualización semántica, de modo que los servicios NoSQL son accesibles para la mayoría de los sistemas operativos. [17]
Historia
El término NoSQL fue utilizado por Carlo Strozzi en 1998 para nombrar su ligera base de datos relacional de código abierto Strozzi NoSQL que no exponía la interfaz estándar de lenguaje de consulta estructurado (SQL), pero que seguía siendo relacional. [18] Su RDBMS NoSQL es distinto del concepto general de bases de datos NoSQL de alrededor de 2009. Strozzi sugiere que, debido a que el actual movimiento NoSQL "se aparta del modelo relacional por completo, debería haber sido llamado más apropiadamente 'NoREL'", [19] refiriéndose a "no relacional".
Johan Oskarsson, entonces desarrollador de Last.fm , reintrodujo el término NoSQL a principios de 2009 cuando organizó un evento para discutir " bases de datos no relacionales distribuidas de código abierto ". [20] El nombre trató de la etiqueta de la aparición de un número creciente de no relacionales, almacenes de datos distribuidos, incluyendo clones de código abierto de de Google Bigtable / MapReduce y de Amazon DynamoDB .
Tipos y ejemplos
Hay varias formas de clasificar las bases de datos NoSQL, con diferentes categorías y subcategorías, algunas de las cuales se superponen. Lo que sigue es una clasificación básica por modelo de datos, con ejemplos:
- Columna ancha : Azure Cosmos DB , Accumulo , Cassandra , Scylla , HBase .
- Documento : Azure Cosmos DB , Apache CouchDB , ArangoDB , BaseX , Clusterpoint , Couchbase , eXist-db , IBM Domino , MarkLogic , MongoDB , OrientDB , Qizx , RethinkDB
- Valor clave : Azure Cosmos DB , Aerospike , Apache Ignite , ArangoDB , Berkeley DB , Couchbase , Dynamo , FoundationDB , InfinityDB , MemcacheDB , MUMPS , Oracle NoSQL Database , OrientDB , Redis , Riak , SciDB , SDBM / Flat File dbm , ZooKeeper
- Gráfico : Azure Cosmos DB , AllegroGraph , ArangoDB , InfiniteGraph , Apache Giraph , MarkLogic , Neo4J , AgensGraph , OrientDB , Virtuoso
Una clasificación más detallada es la siguiente, basada en una de Stephen Yen: [21] [22]
Tipo | Ejemplos notables de este tipo |
---|---|
Caché de clave-valor | Apache Ignite , Couchbase , Coherence , eXtreme Scale , Hazelcast , Infinispan , Memcached , Redis , Velocity |
Almacén de valor clave | Azure Cosmos DB , ArangoDB , Aerospike , Couchbase , Redis |
Almacén de clave-valor (eventualmente consistente) | Azure Cosmos DB , base de datos Oracle NoSQL , Dynamo , Riak , Voldemort |
Almacén de clave-valor (pedido) | FoundationDB , InfinityDB , LMDB , MemcacheDB |
Tienda de tuplas | Río Apache , GigaSpaces |
Base de datos de objetos | Objetividad / DB , Prest , ZopeDB |
Almacén de documentos | Azure Cosmos DB , ArangoDB , BaseX , Clusterpoint , Couchbase , CouchDB , DocumentDB , eXist-db , IBM Domino , MarkLogic , MongoDB , Qizx , RethinkDB , Elasticsearch |
Tienda de columna ancha | Azure Cosmos DB , Amazon DynamoDB , Bigtable , Cassandra , Google Cloud Datastore , HBase , Hypertable , Scylla |
Base de datos nativa de modelos múltiples | ArangoDB , Azure Cosmos DB , OrientDB , MarkLogic |
Las bases de datos de correlación son independientes del modelo y, en lugar del almacenamiento basado en filas o en columnas, utilizan almacenamiento basado en valores.
Almacén de valor clave
Los almacenes de valores clave (KV) utilizan la matriz asociativa (también denominada mapa o diccionario) como modelo de datos fundamental. En este modelo, los datos se representan como una colección de pares clave-valor, de modo que cada clave posible aparece como máximo una vez en la colección. [23] [24]
El modelo clave-valor es uno de los modelos de datos no triviales más simples y, a menudo, se implementan modelos de datos más ricos como una extensión del mismo. El modelo clave-valor se puede extender a un modelo ordenado discretamente que mantiene las claves en orden lexicográfico . Esta extensión es computacionalmente poderosa, ya que puede recuperar de manera eficiente rangos de claves selectivos . [25]
Las tiendas de valores clave pueden utilizar modelos de coherencia que van desde la coherencia eventual hasta la serialización . Algunas bases de datos admiten el pedido de claves. Hay varias implementaciones de hardware, y algunos usuarios almacenan datos en la memoria (RAM), mientras que otros en unidades de estado sólido (SSD) o discos giratorios (también conocidos como unidad de disco duro (HDD)).
Almacén de documentos
El concepto central de un almacén de documentos es el de "documento". Si bien los detalles de esta definición difieren entre las bases de datos orientadas a documentos, todas asumen que los documentos encapsulan y codifican datos (o información) en algunos formatos o codificaciones estándar. Las codificaciones en uso incluyen XML, YAML y JSON y formas binarias como BSON . Los documentos se direccionan en la base de datos a través de una clave única que representa ese documento. Otra característica definitoria de una base de datos orientada a documentos es una API o lenguaje de consulta para recuperar documentos en función de su contenido.
Las diferentes implementaciones ofrecen diferentes formas de organizar y / o agrupar documentos:
- Colecciones
- Etiquetas
- Metadatos no visibles
- Jerarquías de directorios
En comparación con las bases de datos relacionales, las colecciones podrían considerarse análogas a las tablas y los documentos análogos a los registros. Pero son diferentes: cada registro en una tabla tiene la misma secuencia de campos, mientras que los documentos en una colección pueden tener campos que son completamente diferentes.
Grafico
Las bases de datos de gráficos están diseñadas para datos cuyas relaciones están bien representadas como un gráfico que consta de elementos conectados por un número finito de relaciones. Los ejemplos de datos incluyen relaciones sociales, enlaces de transporte público, mapas de carreteras, topologías de red, etc.
- Bases de datos gráficas y su lenguaje de consulta
Nombre | Idioma (s) | Notas |
---|---|---|
AllegroGraph | SPARQL | Tienda triple RDF |
Amazonas Neptuno | Gremlin , SPARQL | Base de datos de gráficos |
ArangoDB | AQL, JavaScript , GraphQL | Documento DBMS multimodelo , base de datos de gráficos y almacén de valores clave |
Azure Cosmos DB | Duendecillo | Base de datos de gráficos |
DEX / Sparksee | C ++ , Java , C # , Python | Base de datos de gráficos |
FlockDB | Scala | Base de datos de gráficos |
IBM DB2 | SPARQL | RDF triple store agregado en DB2 10 |
InfiniteGraph | Java | Base de datos de gráficos |
MarkLogic | Java , JavaScript , SPARQL , XQuery | Base de datos de documentos multimodelo y almacenamiento triple RDF |
Neo4j | Cifrar | Base de datos de gráficos |
Virtuoso de OpenLink | C ++ , C # , Java , SPARQL | Híbrido de motor de base de datos y middleware |
Oráculo | SPARQL 1.1 | RDF triple tienda agregada en 11g |
OrientDB | Java , SQL | Base de datos de gráficos y documentos de varios modelos |
OWLIM | Java , SPARQL 1.1 | Tienda triple RDF |
Sentido Profium | Java , SPARQL | Tienda triple RDF |
Sqrrl Enterprise | Java | Base de datos de gráficos |
Base de datos de objetos
- db4o
- Piedra preciosa / S
- InterSystems Caché
- JADE
- ObjectDatabase ++
- ObjectDB
- Objetividad / DB
- ObjectStore
- ODABA
- Prest
- Reino
- Virtuoso de OpenLink
- Base de datos de objetos Versant
- ZODB
Tabular
- Apache Accumulo
- Mesa grande
- Apache Hbase
- Hipertabla
- Mnesia
- Virtuoso de OpenLink
Tienda de tuplas
- Río Apache
- GigaSpaces
- Tarantool
- TIBCO ActiveSpaces
- Virtuoso de OpenLink
Base de datos de tienda triple / cuádruple (RDF)
- AllegroGraph
- Apache JENA (es un marco, no una base de datos)
- MarkLogic
- Ontotexto-OWLIM
- Base de datos Oracle NoSQL
- Sentido Profium
- Virtuoso Universal Server
Alojado
- Azure Cosmos DB
- Amazon DynamoDB
- Amazon DocumentDB
- Amazon SimpleDB
- Base de datos de Clusterpoint
- Capa de datos de Cloudant (CouchDB)
- Freebase
- Google Cloud Datastore
- Servicios de almacenamiento de Microsoft Azure
- Virtuoso de OpenLink
- Atlas de MongoDB
Bases de datos multivalor
- Base de datos de selección D3
- Motor de almacenamiento extensible (ESE / NT)
- InfinityDB
- InterSystems Caché
- Base de datos jBASE Pick
- Software mvBase Rocket
- Software mvEnterprise Rocket
- Northgate Information Solutions Reality, la base de datos original de Pick / MV
- OpenQM
- OpenInsight (Windows) y Advanced Revelation (DOS) de Revelation Software
- UniData Rocket U2
- UniVerse Rocket U2
Base de datos multimodelo
- Azure Cosmos DB
- Apache Ignite [26] [27]
- ArangoDB
- Couchbase
- FoundationDB
- MarkLogic
- OrientDB
- Base de datos Oracle
Actuación
Ben Scofield calificó las diferentes categorías de bases de datos NoSQL de la siguiente manera: [28]
Modelo de datos | Actuación | Escalabilidad | Flexibilidad | Complejidad | Funcionalidad |
---|---|---|---|---|---|
Almacén de valor clave | elevado | elevado | elevado | ninguno | variable (ninguna) |
Tienda orientada a columnas | elevado | elevado | moderar | bajo | mínimo |
Tienda orientada a documentos | elevado | variable (alto) | elevado | bajo | variable (baja) |
Base de datos de gráficos | variable | variable | elevado | elevado | Teoría de grafos |
Base de datos relacional | variable | variable | bajo | moderar | álgebra relacional |
Las comparaciones de rendimiento y escalabilidad a veces se realizan con el punto de referencia YCSB .
Manejo de datos relacionales
Dado que la mayoría de las bases de datos NoSQL carecen de capacidad para combinaciones en consultas, el esquema de la base de datos generalmente debe diseñarse de manera diferente. Hay tres técnicas principales para manejar datos relacionales en una base de datos NoSQL. (Consulte la tabla Compatibilidad con combinaciones y ACID para bases de datos NoSQL que admiten combinaciones).
Varias consultas
En lugar de recuperar todos los datos con una consulta, es común realizar varias consultas para obtener los datos deseados. Las consultas NoSQL suelen ser más rápidas que las consultas SQL tradicionales, por lo que el costo de las consultas adicionales puede ser aceptable. Si fuera necesario un número excesivo de consultas, uno de los otros dos enfoques es más apropiado.
Almacenamiento en caché, replicación y datos no normalizados
En lugar de almacenar solo claves externas, es común almacenar valores externos reales junto con los datos del modelo. Por ejemplo, cada comentario de blog puede incluir el nombre de usuario además de una identificación de usuario, proporcionando así un fácil acceso al nombre de usuario sin necesidad de otra búsqueda. Sin embargo, cuando cambia un nombre de usuario, será necesario cambiarlo en muchos lugares de la base de datos. Por lo tanto, este enfoque funciona mejor cuando las lecturas son mucho más comunes que las escritas. [29]
Anidar datos
Con bases de datos de documentos como MongoDB, es común colocar más datos en un número menor de colecciones. Por ejemplo, en una aplicación de blogs, se puede optar por almacenar los comentarios dentro del documento de la publicación del blog para que con una sola recuperación se obtengan todos los comentarios. Por lo tanto, en este enfoque, un solo documento contiene todos los datos que necesita para una tarea específica.
ACID y únase al apoyo
Una base de datos está marcada como compatible con propiedades ACID (atomicidad, consistencia, aislamiento, durabilidad) u operaciones de unión si la documentación de la base de datos hace esa afirmación. Sin embargo, esto no significa necesariamente que la capacidad sea totalmente compatible de manera similar a la mayoría de las bases de datos SQL.
Base de datos | ÁCIDO | Uniones |
---|---|---|
Aerospike | sí | No |
Apache Ignite | sí | sí |
ArangoDB | sí | sí |
Couchbase | sí | sí |
CouchDB | sí | sí |
DB2 | sí | sí |
InfinityDB | sí | No |
LMDB | sí | No |
MarkLogic | sí | Sí [nb 1] |
MongoDB | sí | Sí [nb 2] |
OrientDB | sí | Sí [nb 3] |
- ^ Las uniones no se aplican necesariamente a las bases de datos de documentos, pero MarkLogic puede hacer uniones utilizando semántica. [30]
- ^ MongoDB no admite unirse desde una colección fragmentada. [31]
- ^ OrientDB puede resolver uniones 1: 1 utilizando enlaces almacenando enlaces directos a registros externos. [32]
Ver también
- Teorema de CAP
- Comparación de sistemas de gestión de bases de datos de objetos
- Comparación de software de almacenamiento estructurado
- Base de datos de correlación
- C ++
- Escalabilidad de la base de datos
- Caché distribuida
- Facetas de búsqueda
- Base de datos MultiValue
- Base de datos multimodelo
- Triplestore
- Bases de datos independientes del esquema
Referencias
- ^ http://nosql-database.org/ "DEFINICIÓN NoSQL: Bases de datos de próxima generación que abordan principalmente algunos de los puntos: ser no relacional, distribuido, de código abierto y escalable horizontalmente".
- ↑ a b Leavitt, Neal (2010). "¿Las bases de datos NoSQL cumplirán su promesa?" (PDF) . Computadora IEEE . 43 (2): 12-14. doi : 10.1109 / MC.2010.58 . S2CID 26876882 .
- ^ Mohan, C. (2013). La historia se repite: aspectos sensibles y no senSQL del alboroto NoSQL (PDF) . Proc. 16ª Conf. Int. sobre la ampliación de la tecnología de bases de datos.
- ^ "Amazon vuelve al futuro con la base de datos 'NoSQL'" . CON CABLE. 19 de enero de 2012 . Consultado el 6 de marzo de 2017 .
- ^ "Los RDBMS dominan el mercado de las bases de datos, pero los sistemas NoSQL se están poniendo al día" . DB-Engines.com. 21 de noviembre de 2013 . Consultado el 24 de noviembre de 2013 .
- ^ "NoSQL (no solo SQL)" .
Base de datos NoSQL, también llamada Not Only SQL
- ^ Fowler, Martin . "NosqlDefinition" .
muchos defensores de NoSQL dicen que no significa un "no" a SQL, sino que no solo significa SQL
- ^ Destilado de NoSQL: una breve guía para el mundo emergente de la persistencia políglota. Addison-Wesley Educational Publishers Inc, 2009, ISBN 978-0321826626 .
- ^ Vogels, Werner (18 de enero de 2012). "Amazon DynamoDB: un servicio de base de datos NoSQL rápido y escalable diseñado para aplicaciones de escala de Internet" . Todas las cosas distribuidas . Consultado el 6 de marzo de 2017 .
- ^ Grolinger, K .; Higashino, WA; Tiwari, A .; Capretz, MAM (2013). "Gestión de datos en entornos de nube: almacenes de datos NoSQL y NewSQL" (PDF) . Aira, Springer . Consultado el 8 de enero de 2014 .
- ^ "Jepsen: MongoDB rancio lee" . Aphyr.com . 20 de abril de 2015 . Consultado el 6 de marzo de 2017 .
- ^ "Análisis de datos de gran volumen en la plataforma reactiva Typesafe" . Slideshare.net . Consultado el 6 de marzo de 2017 .
- ^ Fowler, Adam. "10 conceptos erróneos de NoSQL" . Dummies.com . Consultado el 6 de marzo de 2017 .
- ^ "¡No! A SQL y no! A NoSQL | Tantos manuales de Oracle, tan poco tiempo" . Iggyfernandez.wordpress.com . Consultado el 6 de marzo de 2017 .
- ^ Chapple, Mike. "El modelo ACID" . about.com .
- ^ Fiore, S. (2011). Gestión de bases de datos en red y en la nube . Springer Science & Business Media. pag. 210.
- ^ Lawrence, Integración y virtualización de sistemas relacionales SQL y NoSQL, incluidos MySQL y MongoDB (2014). "Integración y virtualización de sistemas relacionales SQL y NoSQL incluyendo MySQL y MongoDB". Congreso Internacional de Ciencia Computacional e Inteligencia Computacional 1 .
- ^ Lith, Adam; Mattson, Jakob (2010). "Investigación de soluciones de almacenamiento para grandes datos: una comparación de soluciones de almacenamiento de datos escalables y de buen rendimiento para la extracción en tiempo real y la inserción de datos por lotes" (PDF) . Gotemburgo: Departamento de Ingeniería y Ciencias de la Computación, Universidad Tecnológica de Chalmers. pag. 70 . Consultado el 12 de mayo de 2011 .
Carlo Strozzi utilizó por primera vez el término NoSQL en 1998 como nombre para su base de datos relacional de código abierto que no ofrecía una interfaz SQL [...]
- ^ "Sistema de gestión de bases de datos relacionales NoSQL: página de inicio" . Strozzi.it. 2 de octubre de 2007 . Consultado el 29 de marzo de 2010 .
- ^ "NoSQL 2009" . Blog.sym-link.com. 12 de mayo de 2009. Archivado desde el original el 16 de julio de 2011 . Consultado el 29 de marzo de 2010 .
- ^ Yenes, Stephen. "NoSQL es un carro sin caballos" (PDF) . NorthScale . Consultado el 26 de junio de 2014 .[ enlace muerto ]
- ^ Strauch, Christof. "Bases de datos NoSQL" (PDF) . págs. 23-24 . Consultado el 27 de agosto de 2017 .
- ^ Sandy (14 de enero de 2011). "Almacenes de valores clave y el movimiento NoSQL" . http://dba.stackexchange.com/questions/607/what-is-a-key-value-store-database : Stackexchange . Consultado el 1 de enero de 2012 .
Los almacenes de valores clave permiten al desarrollador de aplicaciones almacenar datos sin esquema. Por lo general, estos datos constan de una cadena que representa la clave y los datos reales que se consideran el valor en la relación "clave-valor". Los datos en sí mismos suelen ser algún tipo de primitiva del lenguaje de programación (una cadena, un número entero o una matriz) o un objeto que está siendo ordenado por los enlaces del lenguaje de programación al almacén de clave-valor. Esta estructura reemplaza la necesidad de un modelo de datos fijo y permite un formato adecuado.
Mantenimiento de CS1: ubicación ( enlace ) - ^ Seeger, Marc (21 de septiembre de 2009). "Tiendas de valor clave: una descripción práctica" (PDF) . http://blog.marc-seeger.de/2009/09/21/key-value-stores-a-practical-overview/ : Marc Seeger . Consultado el 1 de enero de 2012 .
Los almacenes de valores clave proporcionan una alternativa de alto rendimiento a los sistemas de bases de datos relacionales con respecto al almacenamiento y acceso a datos. Este documento proporciona una breve descripción de algunos de los almacenes clave-valor disponibles actualmente y su interfaz con el lenguaje de programación Ruby.
Mantenimiento de CS1: ubicación ( enlace ) - ^ Katsov, Ilya (1 de marzo de 2012). "Técnicas de modelado de datos NoSQL" . Ilya Katsov . Consultado el 8 de mayo de 2014 .
- ^ https://apacheignite.readme.io/docs Ignite Documentación
- ^ https://www.infoworld.com/article/3135070/data-center/fire-up-big-data-processing-with-apache-ignite.html fire-up-big-data-processing-with-apache- encender
- ^ Scofield, Ben (14 de enero de 2010). "NoSQL - Muerte a las bases de datos relacionales (?)" . Consultado el 26 de junio de 2014 .
- ^ "Pasar de lo relacional a NoSQL: cómo empezar" . Couchbase.com . Consultado el 11 de noviembre de 2019 .
- ^ "¿No se pueden unir con MarkLogic? ¡Es solo una cuestión de semántica! - General Networks" . Gennet.com . Consultado el 6 de marzo de 2017 .
- ^ "Restricciones de colección fragmentada" . docs.mongodb.com . Consultado el 24 de enero de 2020 .
- ^ "Referencia SQL · Manual de OrientDB" . OrientDB.com . Consultado el 24 de enero de 2020 .
Otras lecturas
- Sadalage, Pramod; Fowler, Martín (2012). NoSQL Distilled: una breve guía para el mundo emergente de la persistencia políglota . Addison-Wesley. ISBN 978-0-321-82662-6.
- McCreary, Dan; Kelly, Ann (2013). Dar sentido a NoSQL: una guía para los gerentes y el resto de nosotros . ISBN 9781617291074.
- Wiese, Lena (2015). Gestión avanzada de datos para bases de datos SQL, NoSQL, Cloud y distribuidas . DeGruyter / Oldenbourg. ISBN 978-3-11-044140-6.
- Strauch, Christof (2012). "Bases de datos NoSQL" (PDF) .
- Moniruzzaman, AB; Hossain, SA (2013). "Base de datos NoSQL: Nueva Era de Bases de Datos para Big Data Analytics - Clasificación, Características y Comparación". arXiv : 1307.0191 . Código bibliográfico : 2013arXiv1307.0191M . Cite journal requiere
|journal=
( ayuda ) - Orend, Kai (2013). "Análisis y clasificación de bases de datos NoSQL y evaluación de su capacidad para reemplazar una capa de persistencia relacional de objetos". CiteSeerX 10.1.1.184.483 . Cite journal requiere
|journal=
( ayuda ) - Krishnan, Ganesh; Kulkarni, Sarang; Dadbhawala, Dharmesh Kirit. "Método y sistema para compartir, consolidar y reportar información versionada" .
enlaces externos
- Strauch, Christoph. "Documento técnico NoSQL" (PDF) . Stuttgart: Hochschule der Medien.
- Edlich, Stefan. "Lista de bases de datos NoSQL" .
- Neubauer, Peter (2010). "Bases de datos de gráficos, NOSQL y Neo4j" .
- Bushik, Sergey (2012). "Una comparación independiente del proveedor de bases de datos NoSQL: Cassandra, HBase, MongoDB, Riak" . NetworkWorld.
- Zicari, Roberto V. (2014). "Almacenes de datos NoSQL - artículos, artículos, presentaciones" . odbms.org .