
1. TIPOS DE BASES DE DATOS NoSQL
1.1. Clave-valor
1.1.1. Cada elemento está identificado por una llave única, lo que permite la recuperación de la información de forma muy rápida. Habitualmente está almacenada como un objeto binario(BLOB)
1.1.1.1. Se caracterizan por ser muy eficientes tanto para las lecturas y las escrituras
1.1.1.1.1. Ejemplos: Cassandra, BigTable o HBase
1.1.1.1.2. Ejemplos: Cassandra, BigTable o HBase
1.2. Documentales
1.2.1. Almacena la información como un documento utilizando para ello una estructura simple como JSON o XML, donde se utiliza una clave única para cada registro
1.2.1.1. Este tipo permite realizar consultas más avanzadas sobre el contenido del documento Son las bases de datos NoSQL más versátiles. Se pueden utilizar en gran cantidad de proyectos
1.2.1.1.1. Ejemplos: MongoDB o CouchDB
1.3. Grafo
1.3.1. La información se representa como nodos de un grafo y sus relaciones con las aristas del mismo Su estructura debe estar totalmente normalizada, de forma que cada tabla tenga una sola columna y cada relación dos
1.3.1.1. Este tipo de bases ofrece una navegación más eficiente entre relaciones que en un modelo relacional
1.3.1.1.1. Ejemplos: Neo4j, InfoGrif o Virtuoso
1.3.1.2. Este tipo de bases ofrece una navegación más eficiente entre relaciones que en un modelo relacional
1.4. Orientadas a objetos
1.4.1. La información se representa mediante objetos
1.4.1.1. Ejemplos: Zope, Gemstone o Db4o
2. EJEMPLOS DE BASES DE DATOS NoSQL
2.1. Cassandra
2.1.1. Creada por Apache del tipo clave-valor Dispone de un lenguaje propio para realizar consultas CQL (Cassandra Query Language). Es una aplicación Java por lo que puede correr en cualquier plataforma que cuente con la JVM
2.2. Redis
2.2.1. Creada por Salvatore Sanfilippo y Pieter Noordhuis apoyado por VMWare; es del tipo clave-valor
2.2.1.1. No permite realizar consultas, solo se puede insertar y obtener datos
2.2.1.1.1. Creado en ANSI C, es compatible y funciona en sistemas como Unix, Linux, Solaris, OS/X
2.3. MongoDB
2.3.1. Creada por 10gen orientada a documentos, de esquema libre Cada entrada puede tener un esquema de datos diferente que no tiene que ver con el resto de registros almacenados
2.3.1.1. Es rápido a la hora de ejecutar operaciones ya qué está escrito en C++ Utiliza un sistema propio de documento conocido como BSON (evolución del JSON peo puede almacenar datos binarios)
2.4. CouchDB
2.4.1. Creado por Apache y escrito en lenguaje Erlang que funciona en la mayoría de GNU/Linux y OSX
2.4.1.1. Utiliza Restfull HTTP API como interfaz y JavaScript como principal lenguaje de interacción Para el almacenamiento de datos se utiliza archivos JSON
2.4.1.1.1. CouchDB permite la realización de las operaciones JOIN típicas de SQL