Apache Cassandra

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Apache Cassandra

Qué es Apache Cassandra

Apache Cassandra fue lanzada en el año 2008 y fue creada inicialmente por Facebook.

Más tarde fue traspasada a la Fundación Apache, convirtiéndose en una herramienta Open Source, que a día
de hoy la sigue manteniendo. Está inspirada tanto en Amazon Dynamodb como en Google BigTable.

Se trata de un software NoSQL distribuido y basado 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.
Principales características.
❏ Es una base de datos distribuida, es decir, vamos a tener nuestros servidores distribuidos.
❏ Escala linealmente, lo que significa que, como vemos en la imagen, si tenemos dos nodos, vamos a
poder realizar 100000 operaciones por segundo. Si tuviéramos cuatro nodos podremos realizar el
doble de operaciones, y así sucesivamente, cada vez que dupliquemos el número de nodos,
duplicaremos el número de operaciones por segundo.
❏ No sigue un patrón maestro-esclavo, sino que es peer-to-peer o P2P. Esto lo que conlleva es que
si se cae un nodo, el servicio puede seguir funcionando, no como en el patrón maestro-esclavo, en el
que, de forma resumida, si se cae el maestro el sistema cae también.
❏ Permite la escalabilidad horizontal, que es diferente a la escalabilidad vertical. En la segunda lo
que se aumenta es la máquina, como por ejemplo tener una máquina con 16 gigas de RAM y la
aumentamos a 32 gigas de RAM. Y en la primera tenemos una máquina con 16 gigas de RAM y lo
que hacemos es poner otra máquina también con 16 gigas de RAM trabajando en paralelo con la
otra.
Principales características.

❏ Es tolerante a fallos, gracias a que posee la replicación de datos, es decir, los datos cuando son
escritos en un nodo se replican en otros nodos, por lo que si uno de estos nodos cae, no pasa nada
porque el dato está replicado en otros dos.
❏ Permite definir el nivel de consistencia.
❏ Usa el lenguaje CQL, que es un lenguaje muy similar a SQL.
❏ Permite la replicación en varios data center, siendo cada data center un anillo de máquinas
Cassandra, ya que permite que el anillo 1 replique sus datos en el anillo 2.
❏ Es Open Source.
❏ Tiene una consistencia ajustable, es decir, en el Teorema CAP podemos tirar un poco más de
consistencia a costa de perder de las siglas del mismo.
❏ Tiene una fácil escalabilidad.
Ventajas
❏ Escalabilidad elástica
❏ Arquitectura peer to peer
❏ Grandes posibilidades de análisis
❏ Tolerancia a fallos
Desventajas
❏ Latencia
❏ Solicitudes excesivas y leer más datos ralentiza la transacción real, lo que genera problemas de latencia.
❏ Las uniones pueden ser un problema
❏ No hay soporte para unirse o subconsultas. Es posible que pueda encontrar una solución alternativa para este,
pero eso podría afectar el rendimiento y aumentar la sobrecarga. (punto anterior)
❏ Duplicación de datos
❏ Los datos se modelan en torno a consultas en lugar de su estructura debido a que los mismos datos se
almacenan varias veces.
❏ Lecturas lentas
❏ La administración de la memoria de JVM puede ser un problema

También podría gustarte