Você está na página 1de 13

ING.

EN SISTEMAS
COMPUTACIONALES
ADMINISTRACION DE BASE DE

2/22/17
DATOS

APACHE CASSANDRA
Historia, caractersticas y versiones
INTRODUCCION

Apache Cassandraes una base de datos


documentaldistribuida y basada en un
modelo de almacenamiento de clave-
valor, de cdigo abierto que est escrita
enJava. Permite grandes volmenes de
datos en forma distribuida. Por ejemplo, lo
usaTwitterpara 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 mxima. Est
desarrollada porApache Software
Foundation.
POR QU CASSANDRA?

Su nombre est inspirado por la sacerdotisa


Cassandra de la mitologa griega, que tena el
don de la profeca, y predijo el engao del
Caballo de Troya.
HISTORIA
El desarrollo inicial de Cassandra
tiene su origen en Facebook, que lo
dise para potenciar la funcionalidad
de bsqueda en el inbox. En 2008 fue Avinash Lakshman
liberado como proyecto open source y
en febrero de 2010 se convirti en un
proyecto top-level (de alto nivel) de la
fundacin Apache.Est inspirado e
influenciado por los papers deAmazon
Dynamo de 2007 y deGoogle BigTable
de 2006. Hoy en da est mantenido y
desarrollado por la compaaDatastax. Prashant Malik
ARQUITECTURA Y
CARACTERSTICAS

Cassandra nos proporciona tolerancia a


particiones y disponibilidad, pero a cambio de ser
eventualmente consistente, tal y como define el
teorema CAP. El nivel de consistencia puede ser
configurado, segn nos interese, incluso a nivel
de query (consultas).
Es distribuida, lo quiere decir que la informacin
est repartida a lo largo de los nodos del cluster.
Adems ofrece alta disponibilidad, de manera
que si alguno de los nodos se cae el servicio no se
degradar.
Escala linealmente, lo que quiere decir que el rendimiento de
forma lineal respecto al nmero de nodos que aadamos. Por
ejemplo, si con 2 nodos soportamos 100.000 operaciones por
segundo, con 4 nodos soportaremos 200.000. Esto da mucha
predictibilidad a nuestros sistemas.
Escala de forma horizontal, lo que quiere decir que podemos

escalar nuestro sistema aadiendo nuevos nodos basados en


hardware commodity de bajo coste.
Implementa una arquitectura Peer-to-Peer, lo que elimina los puntos
de fallo nico y no sigue patrones maestro-esclavo como otros sistemas
de almacenamiento. De esta manera cualquiera de los nodos puede
tomar el rol de coordinador de una query. Ser el driver el que decida
qu nodo quiere que sea el coordinador.
Los datos son repartidos a lo largo del cluster en base a un token nico
calculado para cada fila por una funcin hash. Los nodos se reparten
equitativamente el rango de tokens que va de -2 63a 263, esto define el
nodo primario. Internamente Cassandra replicar los datos entre los
nodos con la poltica que le definamos, por ejemplo definiendo el factor
de replicacin. Adems soporta el concepto de data center para
agrupar los nodos lgicamente y tener los datos ms cerca del usuario.
LENGUAJE CQL
Cassandra Query Language (CQL) es el lenguaje de acceso a
datos en Cassandra, es un derivado reducido de SQL. En
Cassandra los datos estn desnormalizados de manera que el
concepto de joins o subqueries no existe.
Podemos interactuar con Cassandra mediante CQL a travs de

la shell. de CQL, cqlshell. Tambin podemos usar


herramientas grficas comoDevCentero a travs de los
drivers soportados para mltiples lenguajes de programacin.
MODELADO DE DATOS
Tambin combina propiedades de una base de datos clave-
valor y una orientada a columnas. Como podemos ver en el
siguiente diagrama la informacin se organiza de manera
que toda fila tiene una clave nica y una serie de pares de
clave, valor de columna. Es importante tener en mente estas
caractersticas a la hora de disear nuestro modelo de
datos.
COLUMNAS LLAVE (O NOMBRES DE
FILA
COLUMNAS )

FILA
LLAV
E

VALORES DE LAS COLUMNAS (O


CELDAS)
Cuando diseemos nuestro modelo debemos de guiarnos
por el patrn de acceso a los datos, hay que hacer un
anlisis de las queries que pretendemos ejecutar contra
nuestro sistema y de esta forma podremos disear un
modelo eficiente que pueda sacar partido de las ventajas
de Cassandra.
Es importante tambin definir adecuadamente la clave de
particin de nuestro datos, ya que Cassandra se basar
en esta clave para distribuir los datos a lo largo del
cluster. Si queremos aprovechar nuestro cluster debemos
pensar en distribuir los datos para evitar cuellos de
botella. Tambin es recomendable, dado nuestro patrn
de consulta, intentar minimizar el nmero de particiones
a las que hay que acceder durante una lectura.
VERSIONES

Fecha liberacin
Versin ltima version Fecha liberacin Estado
original
Ya no tiene
0.6 2010-04-12 0.6.13 2011-04-18
soporte
Ya no tiene
0.7 2011-01-10 0.7.10 2011-10-31
soporte
Ya no tiene
0.8 2011-06-03 0.8.10 2012-02-13
soporte
Ya no tiene
1.0 2011-10-18 1.0.12 2012-10-04
soporte
Ya no tiene
1.1 2012-04-24 1.1.12 2013-05-27
soporte
Ya no tiene
1.2 2013-01-02 1.2.19 2014-09-18
soporte
Ya no tiene
2.0 2013-09-03 2.0.17 2015-09-21
soporte
2.1 2014-09-16 2.1.13 2016-02-08 Tiene soporte
2.2 2015-07-20 2.2.5 2016-02-08 Tiene soporte
3.0 2015-11-09 3.0.5 2016-04-11 Tiene soporte
3.2 2015-11-09 3.2.1 2016-01-18 Tiene soporte
ltima
3.7 2016-06-13 3.7 2016-06-13
liberacin
SISTEMAS OPERATIVOS
Windows 7/8/10 tambin las versiones 2008 y
2012.
Todas las distribuciones de Mac OS X 10.x

Todas las distribuciones de Linux.

Red Hat Enterprise Linux / CentOS 6.5 o


posterior.
FUENTES DE INFORMACION
https://academy.datastax.com/planet-
cassandra/cassandra
https://www.paradigmadigital.com/dev/cassandra
-la-dama-de-las-bases-de-datos-nosql/
http://cassandra.apache.org/download/

http://www.nosql.es/blog/nosql/cassandra.html

Você também pode gostar