A p a c h e _ C a s s a n d r a _ N o S Q L
cassandra
La base de datos con arquitectura descentralizada
A p a c h e _ C a s s a n d r a _ N o S Q L
Definición
Es una bese de datos NoSQL distribuida,
altamente escalable y orientada a columnas,
diseñada para manejar grandes volúmenes de
datos distribuidos en múltiples servidores sin un
único punto de falla.
O r i g e n _ y _ d e s a r r o l l o _ i n i c i a l
CREACIÓN EN FACEBOOK (2007-2008)
Cassandra fue inicialmente desarrollada en Facebook por Avinash
Lakshman y Prashant Malik, con la necesidad de gestionar la
creciente cantidad de datos generados por la funcionabilidad de
búsqueda de la bandeja de entrada de los usuarios de Facebook.
Fue inspirada en
PUBLICACIÓN COMO CÓDIGO ABIERTO Aamazon Dynamo (para
el manejo de datos
distribuidos y tolerancia a
En julio de 2008, Facebook liberó Cassandra como un proyecto de fallos) y Google BigTable
código abierto, Esto permitió a la comunidad de desarrolladores (para el almacenamiento
contribuir al desarrollo y mejora de la base de datos basado en columnas)
A a p a c h e _ I n c u b a t i o n _ y _ D e s a r r o l l o _ P o s t e r i o r
INGRESO A APACHE APACHE TOP-LEVEL
INCUBAT0R PROJECT
En marzo de 2009, En febrero del 2010,
Cassandra salió del
Cassandra fue
Apache Incubator y se
aceptada en el
convirtió en un
Apache Incubator, un
proyecto de alto nivel
programa de la
de Apache, conocido
Apache Software
como Apache
Foundation para
Cassandra. Este
proyectos nuevos que
reconocimiento indicó
buscan convertirse en
que Cassandra había
proyectos de alto alcanzado un nivel de
nivel. madurez y estabilidad
adecuado para su uso.
A d o p c i ó n _ y _ C r e c i m i e n t o
ADOPCIÓN POR GRANDES EMPRESAS
A lo largo de la década de 2010, Cassandra fue adoptada por numerosas empresas grandes y
tecnológicas, incluyendo Netflix, Twitter, eBay y Reddit, gracias a su capacidad para manejar
grandes volúmenes de datos y su alta [Link] utilizó Casandra para gestionar
los datos de usuario y mejorar la personalización de las recomendaciones
de contenido
EVOLUCIÓN Y MEJORAS TÉCNICAS
Durante estos años, se añadieron muchas características nuevas y se mejoraron las
existentes, algunas mejoras notables incluyen el soporte para múltiples centros de
datos, la optimización de la eficiencia del almacenamiento y la consulta de datos, y las
mejoras en la gestión de la consistencia y la replicación de datos.
C a r a c t e r í s t i c a s _ c l a v e _ d e _ C a s s a n d r a
Arquitectura descentralizada
Características Modelo de datos flexible
principales
Cassandra NoSQL cuenta con Consistencia y disponibilidad
una serie de características que
permiten al usuario tener un
mejor manejo y control de los Particionamiento y
datos. replicación de datos
Lenguaje de Consula (CQL)
V e n t a j a s _ d e _ u s a r _ c a s s a n d r a
ALTA ESCALABILIDAD
RENDIMIENTO
DISPONIBILIDAD HORIZONTAL
Gracias a su Se pueden Diseñada para
arquitectura añadir más manejar
distribuida, nodos al clúster grandes
Cassandra es sin necesidad de volúmenes de
extremadamente reestructurar o datos y cargas
fiable y puede rediseñar la de trabajo
soportar fallos de base de datos. pesadas con
nodo sin baja latencia.
interrupción.
Empresas que usan Cassandra
Netflix: Utiliza Cassandra para almacenar y gestionar
grandes volúmenes de datos de usuario, incluyendo el
historial de visualización, recomendaciones personalizadas
y otros metadatos.
Facebook: Originalmente desarrollada por Facebook,
Cassandra se utilizó para gestionar la función de búsqueda
en la bandeja de entrada de mensajes de los usuarios.
Spotify: Emplea Cassandra para gestionar las listas de
reproducción de los usuarios, actividades y
recomendaciones de música.
Apple: Apple utiliza Cassandra para varios
servicios en la nube, manejando grandes volúmenes
de datos de usuario.
eBay: Emplea Cassandra para indexar y almacenar
grandes volúmenes de datos de búsqueda.
Instagram: Utiliza Cassandra para manejar su función
de feed, almacenando datos relacionados con las
publicaciones y actividades de los usuarios.
Reddit: Utiliza Cassandra para almacenar datos
de comentarios y publicaciones de los usuarios.
Uber: Emplea Cassandra para gestionar datos
relacionados con el seguimiento de viajes y
ubicaciones en tiempo real.
Comcast: Utiliza Cassandra para gestionar datos
de sus servicios de televisión y streaming.
Cassandra es una elección popular para empresas que necesitan manejar grandes cantidades
de datos de manera eficiente y con alta disponibilidad. Su capacidad para escalar
horizontalmente y operar en múltiples centros de datos la hace ideal para aplicaciones
críticas a nivel empresarial, especialmente aquellas que requieren procesamiento de datos
en tiempo real y servicios en la nube.
Conclusión
Cassandra es una opción potente y flexible para aplicaciones que
requieren alta disponibilidad, escalabilidad y capacidad de manejar
grandes volúmenes de datos. Sin embargo, es crucial evaluar las
necesidades específicas de tu proyecto y considerar las
características y limitaciones de Cassandra antes de implementarla