0% encontró este documento útil (0 votos)
32 vistas5 páginas

Cassandra

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 5

UNIVERSIDAD DE COLIMA

FACULTAD DE INGENIERA
ELECTROMECNICA

CASSANDRA

INGENIERA EN SISTEMAS
COMPUTACIONALES
6 D

HERNNDEZ CUELLAR CHRISTOPHER


GUILLERMO

M.C.ENRIQUE CARLOS ROSALES BUSQUETS

8 DE ABRIL DE 2016

Cassandra es una base de datos de cdigo abierto cuya principal caracterstica es que
fusiona Dynamo, de Amazon con BigTable, de Google, siendo ambas implementaciones de
cdigo cerrado. Est desarrollada en Java, un lenguaje de programacin cross-platform.

El desarrollo de Cassandra fue iniciado por Facebook, para intentar solventar la


problemtica relacionada con el rendimiento del motor de bsquedas, concretamente con
las relacionadas en la comunicacin entre usuarios (Inbox Search). Esta funcionalidad
implica un gran volumen de datos a almacenar, con una perspectiva de crecimiento muy
alta el cual en la implementacin de Cassandra tuvo gran xito y la necesidad de ofrecer
un nivel de calidad de servicio fijado (SLA, Acuerdo de Nivel de Servicio).
Debido a la verticalidad de soluciones de datos relacionales y a la necesidad de ajustar el
coste de la implementacin, se dise Cassandra para que las configuraciones de
explotacin fuesen altamente escalables, horizontales y relativamente econmicas. Con
este objetivo en mente, se ampli el espectro de funcionalidades de la plataforma Facebook
a las que dara servicio, y no nicamente la Inbox Search como se provision en un inicio.
En 2008 Cassandra fue liberada por Facebook, pasando a ser de cdigo abierto, y
actualmente es la gente de Apache (http://cassandra.apache.org) quien la mantiene. Esta
caracterstica es la que hace de Cassandra una base de datos NoSQL realmente
interesante, ya que aparte de combinar lo mejor de Dynamo (consistencia eventual) con lo
mejor de BigTable (familias de columnas) es gratuita y de libre uso y distribucin.
Cassandra comparte con Dynamo el mecanismo de membresa de los nodos, siendo sta
comunicada mediante un mecanismo de Gossiping, as como la alta disponibilidad
conseguida mediante replicacin de nodos, mientras que por otra parte implementa un
mecanismo de estimacin/deteccin de fallos mediante acumulacin.
Con estos paralelismos entre Cassandra, Dynamo y BigTable, y con los desarrollos
ininterrumpidos que se estn realizando por parte del equipo de Apache, sin duda alguna
hablamos de una base de datos con mucho futuro por delante. Si por si mismas las bases
de datos NoSQL ofrecen fiabilidad y rendimiento all donde las relacionales son incapaces
de hacerlo (se entiende que sin grandes desembolsos econmicos), nos encontramos ya
con sitios web como Facebook, Digg o Twitterque han hecho el switch de bases de datos
relacionales (tpicamente MySQL) a Cassandra de forma exitosa.

Caractersticas
Las caractersticas del modelo de datos de Cassandra es el siguiente:

Esquema dinmico. El esquema que define la estructura de los datos puede cambiar
en tiempo de ejecucin.

No hay un nico punto de fallo. Los datos se replican automticamente a varios


nodos. Perder un nodo no causa la baja del clster.
Alta disponibilidad. Los datos ests disponibles la mayor parte del tiempo gracias a
la redundancia que introduce la replicacin de datos.
Particionamiento de los datos. La topologa de Cassandra es la de un anillo a travs
del cual se distribuyen los datos para minimizar cuellos de botella en el acceso a los
mismos.
Escalabilidad horizontal. Hasta un alto nmero de mquinas la capacidad de
cmputo aumenta linealmente con el nmero de mquinas.
Capacidad para manejar cientos de gigabytes de datos.
Soporte profesional: varias empresas dan soporte y construyen productos sobre
Cassandra: Datastax, Acunu.

Terminologa usada en Cassandra


Column: Es la unidad ms bsica en el modelo de datos de 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 column se organizan dentro de las columns families.
Las column se ordenan por un tipo, que pueden ser uno de los siguientes:
o AsciiType
o BytesType
o LongType
o TimeUUIDType
o UTF8Type

SuperColumn: Es una column cuyos values son una o ms columns, que en este contexto
se llamaran subcolumns. Las subcolumns estn 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. Column Family. Es mas o menos anlogo a una tabla en un
modelo relacional. Se trata de un contenedor para una coleccin ordenada de columns.
Cada column family se almacena en un archivo separado
Keyspace: Es el contenedor para las column family. Es mas o menos anlogo a una base
de datos en un modelo relacional, usado en Cassandra para separar aplicaciones. Un
keyspace es una coleccin ordenada de columns family.
Clster: Conjunto de mquinas que dan soporte a Cassandra y son vistas por los clientes
como una nica mquina.

Modelo de datos

Bibliografa
[1]: http://www.nosql.es/blog/nosql/cassandra.html
[2]: http://eventos.citius.usc.es/bigdata/workshops/Cassandra.pdf

También podría gustarte