Que es noSQL
No SQL es un ter mino en informática para agrupar una serie de alamacenes de datos no
relacionales que no proporcionan garantías ACID. Normalmente no tienen esquemas fijos de
tablas ni sentencias “JOIN”.
El término NOSQL fue acuñado a principios de 1999 por un empleado de Rackspace, Eric Evans,
cuando Johan Oskarsson de [Link] quiso organizar un evento para discutir bases de datos
distribuidas de código abierto. El nombre intenta describir el surgimiento de un número
creciente de bases de datos no relacionales y distribuidas que no suelen proveer garantías
ACID. El término ACID hace referencia a a un conjunto de características necesarias para que
una serie de instrucciones puedan ser consideradas como una transacción.
Sistemas
CouchDB, de Apache Apache CouchDB
Cassandra de Facebook
MongoDB, de 10gen MongoDB
RavenDB, de Hibernating Rhinos.
BaseX
eXist
SimpleDB
IBM Lotus Domino
Terrastore
Que es Cassandra?
Es una BD “noSQL” que soportaGRANDES cantidades de datos, fue desarrollada por
Facebook en 2007 para potencializar la búsqueda de su inbox y lo colocaron en
googlecode apartir del 2008,pero nunca actualizaron ni arreglaron errores entonces lo
pasaron para la FUNDACION APACHE y ahora es mantenida,
[Link] desde entonces el proyecto está corriendo bastante rápido y
con mejor soporte de la comunidad.
Cassandra fue inspirado por dynamo, usando DHT que son una clase de sistemas
distribuidos descentralizados tipo hash donde pares(clave, valor) son almacenados y
cualquier nodo puede recuperar de forma eficiente el valor con una clave(key). Esto
permite que las DHTs puedan escalar a cantidades de nodos extremadamente grandes.
En el caso de cassandra el “Valor” es una estructura indexada, donde cada columna es
una columna adentro de otra llamada supercolumna (jeje pero que fumada se metieron
esto XD). Este modelo de datos es muy similar al “BigTables” de Google.
Modelo de Datos
Keyspace: grupo de claves o base de datos/Esquema.
Columna: clave y valor o tabla de una columna y línea.
SuperColumna: mapa o tabla de n columnas
Familia de Columnas: Lista de mapas o tablas
Super Familia de Columnas: grupo de super familias usando una clave
QUIEN LO ESTA USANDO?
Cassandra está siendo usada por Digg, Facebook, Twitter, Reddit, Tackspace,
Clouskick, Cisco,simpleGeo, Ooyala,OpenX y muchas otras grandes compañías.
Estamos hablando de cluster de más de 100 TB de datos en más de 150 maquinas.
En julio del 2009 se definió el término para un evento y se refiere a las bases de datos
que no son relacionales, es mas hay algunos expertos que comentan que el termino seria
noREAL. Otra característica es que no las vemos como tablas fijas,si no mas boien algo
como estructuras de almacenamiento horizontal, evitando los JOINS porque ya no
tienen sentido en este esquema.
Tolerante a Fallas
La data es replicada automáticamente a múltiples nodos. Que se pueden remplazar sin
afectar los tiempos de caídas, y es descentralizado esto quiere decir que cada nodo es
idéntico al otro.
Ejemplos de Bases de Datos noSQL Existentes.
Libres
- Cassandra, de Facebook.
- HBase, de la fundación Apache
- Project Voldemort, de LinkedIn
Propietarios
- BigTable, de Google.
- Dynamo, de Amazon-