2. ¿Qué es CASSANDRA?
Apache Cassandra es una base de datos NoSQL distribuida y basada en un
modelo de almacenamiento de «clave-valor», de código abierto que está
escrita en Java. Permite grandes volúmenes de datos en forma distribuida.
Por ejemplo, lo usa Twitter para su plataforma. Su objetivo principal es la
escalabilidad lineal y la disponibilidad. La arquitectura distribuida de
Cassandra está basada en una serie de nodos iguales que se comunican con un
protocolo P2P con lo que la redundancia es máxima. Está desarrollada
por Apache Software Foundation.
3. Cassandra ofrece soporte robusto para múltiples centros de datos, con la replicación
asincrónica sin necesidad de un servidor maestro, que permiten operaciones de baja
latencia para todos los clientes.
Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la
Universidad de Toronto que estudian los sistemas NoSQL concluyeron que "En términos
de escalabilidad, hay un claro ganador a través de nuestros experimentos. Cassandra
logra el más alto rendimiento para el número máximo de nodos en todos los
experimentos", aunque "esto tiene como precio una alta latencia de escritura y
lectura"
4. CARACTERISTICAS PRINCIPALES
Descentralizado
Todos los nodos del clúster tiene el mismo rol. No hay un único punto de fallo.Los
datos se distribuyen a través del clúster (por loque cada nodo contiene datos
diferentes). No existe un nodo maestro por lo que cada nodo puede dar servicio a
cualquier solicitud.
Escalabilidad
El rendimiento de leer y escribir aumenta linealmente a medida que se añaden
nuevos nodos. Se pueden agregar nuevos nodos sin necesidad de interrumpir la
ejecución de la aplicación.
5. Tolerancia a fallos
Los datos se replican automáticamente a múltiples nodos para recuperarse frente a
fallos.
Cassandra soporta replicación a través de multiples datacenter. Se puede reemplazar
nodos que presenten fallos sin tiempo de inactividad o interrupción de la aplicación.
Consistencia
Se ofrece la elección de el nivel de consistencia para las
lecturas y escrituras.
16. ¿Qué es NoSQL?
En informática, NoSQL (a veces llamado "no sólo SQL") es una amplia clase de
sistemas de gestión de bases de datos que difieren del modelo clásico del sistema
de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más
destacado es que no usan SQL como el principal lenguaje de consultas. Los datos
almacenados no requieren estructuras fijas como tablas, normalmente no soportan
operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia,
aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Los
sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar el hecho de que
también pueden soportar lenguajes de consulta de tipo SQL.
Por lo general, los investigadores académicos se refieren a este tipo de bases de
datos como almacenamiento estructurado, término que abarca también las bases
de datos relacionales clásicas. A menudo, las bases de datos NoSQL se clasifican
según su forma de almacenar los datos, y comprenden categorías como clave-
valor, las implementaciones de BigTable, bases de datos documentales, y Bases de
datos orientadas a grafos.
17. Ventajas
Estos sistemas responden a las necesidades de escalabilidad horizontal que
tienen cada vez más empresas.3
Pueden manejar enormes cantidades de datos.
No generan cuellos de botella.
Escalamiento sencillo.
Diferentes DBs NoSQL para diferentes proyectos.
Se ejecutan en clusters de máquinas baratas.
18. SISTEMAS
Bases de datos documentales
Bases de datos en grafo
Bases de datos clave/valor
Bases de datos multivalor
Bases de datos orientadas a objetos
Bases de datos tabular
Bases de datos de arrays
19. Bibliografía
Capriolo, Edward (July 15, 2011). Cassandra High Performance Cookbook (1st
edición). Packt Publishing. p. 324. ISBN 1-84951-512-3.
Hewitt, Eben (December 15, 2010). Cassandra: The Definitive Guide (1st
edición). O'Reilly Media. p. 300. ISBN 978-1-4493-9041-9.
http://es.wikipedia.org/wiki/NoSQL