Las bases de datos NoSQL están creciendo con gran rapidez debido a sus emocionantes características como más flexibilidad y escalabilidad, arquitectura sin esquemas, fácil soporte de replicación, API simple, consistente / BASE (no ACID), soporte para datos grandes y más. Los tipos de bases de datos NoSQL son: almacenes de valores clave, almacenes de familias de columnas, bases de datos de documentos, bases de datos de gráficos. MongoDB, CouchDB, CouchBase, Cassandra, HBase, Redis, Riak, Neo4J son las populares bases de datos NoSQL. MongoDB, CouchDB, CouchBase son bases de datos NoSQL orientadas a documentos, Redis y Riak son almacenes de valor clave, Cassandra y HBase son almacenes de familia de columnas y Neo4J es una base de datos gráfica. Discutamos estos tipos de bases de datos en detalle.
1. Almacenes de valores clave
La idea principal aquí es usar una tabla de hachís donde hay una clave única y un puntero a un dato en particular. El modelo de clave/valor es el más simple y fácil de implementar. Pero es ineficaz cuando sólo está interesado en consultar o actualizar parte de un valor, entre otras desventajas.
Ejemplos: Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB, Amazon SimpleDB, Riak
2. Columna Tiendas familiares
Estos fueron creados para almacenar y procesar grandes cantidades de datos distribuidos en muchas máquinas. Todavía hay claves pero apuntan a múltiples columnas. Las columnas están ordenadas por familia de columnas.
Ejemplos: Cassandra, HBase
3. Bases de datos de documentos
Estos fueron inspirados por Lotus Notes y son similares a las tiendas de valor clave. El modelo es básicamente documentos versionados que son colecciones de otras colecciones de valor clave. Los documentos semi-estructurados se almacenan en formatos como el JSON. Las bases de datos de documentos son esencialmente el siguiente nivel de clave/valor, permitiendo valores anidados asociados a cada clave. Las bases de datos de documentos permiten realizar consultas de forma más eficiente.
Ejemplos: CouchDB, MongoDb
4. Bases de datos de gráficos
En lugar de tablas de filas y columnas y la rígida estructura de SQL, se utiliza un modelo gráfico flexible que, de nuevo, puede escalar a través de múltiples máquinas. Las bases de datos NoSQL no proporcionan un lenguaje de consulta declarativo de alto nivel como el SQL para evitar horas extras en el procesamiento. Más bien, la consulta de estas bases de datos es específica del modelo de datos. Muchas de las plataformas NoSQL permiten interfaces REST para los datos, mientras que otras ofrecen API de consulta.
Ejemplos de ello: Neo4J, InfoGrid, Infinite Graph