Cassandra

512 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
512
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cassandra

  1. 1. Base de Datos
  2. 2. 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.
  3. 3. Es un sistema gestor de base de datos, NoSQL y descentralizada.
  4. 4.     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 “ClaveValor-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.
  5. 5. 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.
  6. 6. Las columns se ordenan por un tipo:  AsciiType  BytesType  LexicalUUIDType  LongType  TimeUUIDType  UTF8Type
  7. 7. 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.
  8. 8. 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.
  9. 9. 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
  10. 10. Algunos usuarios famosos de Cassandra son:  –Digg  –Facebook  –Twitter  –Rackspace  –SimpleGEO
  11. 11.             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
  12. 12.  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
  13. 13.  http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=cassan dra  http://jesusnoseq.com/2013/03/cassandra/  http://jesusnoseq.com/2013/03/cassandra/  http://www.agevaled.com/2010/12/31/introduccion-a-apachecassandra/

×