Cassandra
-
Upload
kevin-dominguez -
Category
Education
-
view
289 -
download
4
Transcript of Cassandra
![Page 1: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/1.jpg)
Base de Datos
![Page 2: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/2.jpg)
Cassandra: es una base de datos NoSQL, hoy en día es
un proyecto de Apache. Cassandra fue desarrollado
por Facebook (la versión original fue escrita por un ex
empleado de Amazon y otro de Microsoft), en el 2008
fue liberado como un proyecto open source en Google
code, en el 2009 se convirtió en un proyecto “Apache
Incubator“, y finalmente en el 2010 se convirtió en un
proyecto TOP-LEVEL.
Historia
![Page 3: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/3.jpg)
Es un sistema gestor de base de datos, NoSQL
y descentralizada.
¿Que es Cassandra?
![Page 4: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/4.jpg)
Una tabla de datos por cada instancia de Cassandra.
Cada familia de columnas puede contener o bien columnas o bien supercolumnas. Las supercolumnas son columnas son la agrupación de n-columnas.
Cada columna contiene elementos de la forma “Clave-Valor-Tiempo”, donde el valor del campo tiempo es definible por el usuario.
Cada fila de una tabla puede tomar valores en columnas distintas de una familia de columnas que otra fila, es decir, si se dispone de una familia de 5 columnas (A, B, C, D, E), la fila R1 puede tener valores en A y B mientras que la fila R2 puede tenerlos en A, C, D y E.
Características
![Page 5: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/5.jpg)
Column: Es la unidad mas básica de la representación en
el modelo de datos Cassandra. Una column es un triplete de
un key (un nombre) un value (un valor) y un timestamp. Los
valores son todos suministrados por el cliente. El tipo de
dato del key y el value son Matrices de bytes de Java, el tipo
de dato del timestamp es un long primitive. Las column son
inmutables para evitar problemas de multithreading. Las
columns se organizan dentro de las columns families.
Terminología de Cassandra
![Page 6: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/6.jpg)
Las columns se ordenan por un tipo:
AsciiType
BytesType
LexicalUUIDType
LongType
TimeUUIDType
UTF8Type
![Page 7: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/7.jpg)
Super Column: Es una column cuyos values no son
strings, sino una o mas columns, que en este contexto
se llamaran subcolumns. Las subcolumns están
ordenadas, y el numero de columnas que se puede
definir es ilimitada. las Super columns, a diferencias de
las columns, no tienen un timestamp definido. No son
recursivas, es decir, solamente tienen un nivel de
profanidad.
Terminología de Cassandra
![Page 8: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/8.jpg)
Column Family: Es mas o menos análogo a una
tabla en un modelo relacional. Se trata de un
contenedor para una colección ordenada de columns.
Debido a que cada column family se almacena en un
archivo separado, asegúrese de definir las columns
que sea probable que acceda juntas en la misma
column family. Tenemos que definir las column family
de la aplicación en el archivo de configuración.
Terminología de Cassandra
![Page 9: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/9.jpg)
Keyspace: Es el contenedor para un column family.
Es mas o menos análogo a una base de datos en un
modelo relacional, usado en Cassandra para separar
aplicaciones. Cuando una base de datos relacional es
una colección de tablas, un keyspace es una colección
ordenada de columns family. Tenemos que definir los
keyspace de la aplicación en el archivo de
configuración o usando métodos definidos en la API
Terminología de Cassandra
![Page 10: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/10.jpg)
Algunos usuarios famosos de Cassandra son:
–Digg
–Rackspace
–SimpleGEO
¿Quién usa Apache Cassandra?
![Page 11: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/11.jpg)
Escalabilidad horizontal (añade nuevo hardware cuando sea preciso)
Rápidas respuestas aunque la demanda crezca Elevadas velocidades de escritura para gestionar volúmenes de
datos incrementales Almacenamiento distribuido Capacidad de cambiar la estructura de datos cuando los usuarios
demandan más funcionalidad Una API sencilla y limpia para tu lenguaje de programación
favorito Detección automática de fallos No hay un punto de fallo único (cada nodo conoce de los otros) Descentralizada Tolerante a fallos Permite el uso de Hadoop para implementar Map Reduce Hinted hand off
Ventajas de Cassandra
![Page 12: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/12.jpg)
Hay algunas desventajas que un sistema de almacenamiento tan escalable ofrece en contrapartida: –No hay joins (a cambio de más velocidad) –No permite ordenar resultados en tiempo de consulta –No tiene SQL
•Pero desde la versión 0.8 tenemos CQL
Desventajas de Cassandra
![Page 13: Cassandra](https://reader035.fdocuments.co/reader035/viewer/2022072000/55d4af5cbb61ebc7688b45c6/html5/thumbnails/13.jpg)
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=cassandra
http://jesusnoseq.com/2013/03/cassandra/
http://jesusnoseq.com/2013/03/cassandra/
http://www.agevaled.com/2010/12/31/introduccion-a-apache-cassandra/
Referencias