Apache Cassandra es una base de datos distribuida de código abierto diseñada para manejar grandes cantidades de datos a través de múltiples servidores de manera escalable, proporcionando alta disponibilidad sin puntos únicos de fallo. Ofrece características como escalabilidad lineal, simplicidad operativa, replicación de datos entre centros de datos y soporte para consistencia eventual o fuerte. Cassandra utiliza un diseño sin líderes en anillo que lo hace elegante y fácil de mantener.
2. INTRODUCCION
• Apache Cassandra, un proyecto Apache nivel superior nacida en Facebook y construido
en el Dynamo de Amazon y BigTable de Google, es una base de datos distribuida para
gestionar grandes cantidades de datos estructurados a través de muchos servidores de
las materias primas, mientras que proporciona un servicio de alta disponibilidad y ningún
punto único de fallo. Cassandra ofrece capacidades que las bases de datos relacionales y
otras bases de datos NoSQL simplemente no pueden igualar tales como: disponibilidad
continua, de potencia lineal escala, simplicidad operacional y distribución de datos fácil a
través de múltiples centros de datos y zonas de disponibilidad nube.
• Muchas empresas han desplegado y se benefició de Apache Cassandra incluyendo
algunas grandes empresas con éxito: apple, Comcast, Instagram, Spotify, eBay,
Rackspace, Netflix, y muchos más. Los entornos de producción más grandes tienen PB de
de datos en grupos de más de 75.000 nodos. Cassandra está disponible bajo la licencia
Apache 2.0.
• La arquitectura de Cassandra es responsable de su capacidad para escalar, ejecutar, y
ofrecen el tiempo de funcionamiento continuo. En lugar de utilizar un legado amo-
esclavo o un manual y la arquitectura fragmentada difíciles de mantener, Cassandra tiene
un diseño sin amo "anillo" que es elegante, fácil de instalar y fácil de mantener.
3. GENERALIDADES
• Apache Cassandra es…
Un sistema de gestión de base de datos distribuida de código abierto diseñado para manejar
grandes cantidades de datos a través de muchos servidores de los productos básicos,
proporcionando alta disponibilidad sin ningún punto único de fallo. Cassandra ofrece soporte
robusto para grupos que abarcan múltiples centros de datos, con la replicación asíncrona sin dueño
que permiten las operaciones de baja latencia para todos los clientes.
4. ¿CON LICENCIA O LIBRE?
• Apache Cassandra cuenta con Apache
License 2.0 que su principal
característica es que como algunos
otros productos de apache portan, es
que sean de software libre no hay que
asociar «software libre» a «software
gratuito», ya que, conservando su
carácter de libre, puede ser
distribuido comercialmente. A un a si
apache cassandra es gratuito y se
puede encontrar y descargar
directamente des de su pagina
“Software libre”
http://cassandra.apache.org/
5. USUARIOS PRINCIALES
• Muchas empresas han desplegado y se benefició de Apache
Cassandra incluyendo algunas grandes empresas con éxito: Apple,
Comcast, Instagram, Spotify, eBay, Rackspace, Netflix, y muchos
más.
6. USUARIOS CONOCIDOS
WalmartLabs (anteriormente Kosmix) usa Cassandra con SSD.
Facebook Usa Cassandra para su sistema de búsquedas en la bandeja de entrada, con una implementación
de más de 200 nodos.
Formspring usa Cassandra para contar respuestas, así como para almacenar datos como seguidores, usuarios
bloqueados, etc.
IBM realizó investigaciones para desarrollar un sistema de email basado en Cassandra.
Mahalo.com usa Cassandra para guardar la actividad de sus usuarios y temas para su sitio Q&A
Netflix usa Cassandra como base de datos de backend para su servicio de streaming
Openwave usa Cassandra como base de datos distribuida y como mecanismo de almacenamiento para si
plataforma de mensajes de próxima generación
Twitter anunció que esta planificando cambiar MySQL por Cassandra
Urban Airship Usa Cassandra con el servicio de almacenamiento movie, con más de 160 milliones de
aplicaciones instaladas en más de 80 millones de Dispositivos
Wikimedia Usa cassandra como base de datos de backend.
zoho usa Cassandra para una pre-visualización de su bandeja de entrada de Zoho Mail
7. HISTORIA
• Apache Cassandra se creó inicialmente en Facebook, para su
característica de “Inbox Search”. Sus autores fueron Avinash Lakshman
(unos de los autores de Amazon DynamoDB) y Prashant Malik.
• El desarrollo de Cassandra fue iniciado por, aunque parezca
curioso, Facebook, para intentar solventar la problemática relacionada con
el rendimiento del motor de búsquedas, concretamente con las
relacionadas en la comunicación entre usuarios.
• Debido a la verticalidad de soluciones de datos relacionales y a la
necesidad de ajustar el coste de la implementación, se diseñó Cassandra
para que las configuraciones de explotación fuesen altamente escalables,
horizontales y relativamente económicas.
8. EL SOFTWARE NO MUERE, SE DONA A LA
FUNDACIÓN APACHE
• Hace más de diez años un grupo de
desarrolladores que se había embarcado en la
ampliación del protocolo de Internet HTTP,
decidió fundar la Apache Software Foundation
(ASF) para dar soporte a proyectos de código
abierto que beneficiasen al público.
• del código de Cassandra desarrollado por la
red social de Mark Zuckerberg, Apache
Software Foundation ha actualizado su
popular base de datos distribuida que se basa
en código abierto con transacciones ligeras y
mejoras en CQL, entre otras cosas.
9. Apache Cassandra 2.0, ya disponible
La base de datos distribuida y de código abierto Cassandra entró en la incubadora de la
Apache Software Foundation (ASF) en 2009, se graduó como proyecto de nivel superior en
febrero de 2010 y fue liberada por primera vez en octubre de 2011.
Ahora, casi dos años después de ese primer logro, acaba de alcanzar su versión 2.0.
“Apache Cassandra se ha convertido en una de las bases de datos NO SQL más
utilizados del mundo y sirve como columna vertebral de algunas aplicaciones
muy populares hoy en día”, ha dicho Jonathan Ellis, vicepresidente del
proyecto, al anunciarse el lanzamiento.
Un lanzamiento que “vuelve más sencillo que nunca migrar desde bases de datos
relacionales y permite a los desarrolladores ser productivos rápidamente”, ha continuado
Ellis.
13. ¿Qué es Apache Cassandra?
• Apache Cassandra es una fuente
abierta de bases de datos no
relacionales masivamente
escalable que ofrece una
disponibilidad continua, de
potencia lineal, simplicidad
operacional y distribución de
datos fácil a través de múltiples
centros de datos y zonas de
disponibilidad nube.
14. ¿Qué es noSQL?
• Muchas de las aplicaciones en línea de hoy en día tienen requisitos de
base de datos que exceden las capacidades de los legados bases de
datos relacionales. La necesidad de una muy baja latencia, los niveles
hasta ahora desconocidos de escala, el tiempo de actividad continua,
la distribución global de los datos, la capacidad tanto escribir y leer
datos en cualquier lugar, y reducir tanto el software y los costos de
operación, todos han dado a luz a la categoría de la base de datos no
relacionales .
• Las bases de datos no relacionales utilizan nuevas y potencialmente
desconocidas arquitecturas y modelos de datos. Para satisfacer los
requisitos de las aplicaciones en línea modernos, estas nuevas bases
de datos.
16. PRINCIPALES CARACTERISTICAS Y BENEFICIOS DE
CASSANDRA
• Arquitectura masivamente escalable - un diseño sin señor que todos los
nodos son iguales, que proporciona simplicidad operativa y fácil
escalabilidad horizontal.
• Diseño de Active todas partes - todos los nodos se puede escribir y leer.
• Rendimiento de escala lineal - la posibilidad de añadir nodos sin bajar
produce aumentos previsibles en el rendimiento.
• Disponibilidad continua - ofrece redundancia de datos y la función del
nodo, que eliminan los puntos únicos de fallo y proporcionar el tiempo de
actividad constante.
• Detección de fallas y recuperación transparente - nodos que no pueden ser
fácilmente restaurados o reemplazados.
17. • Modelo de datos flexible y dinámico - soporta tipos de datos modernas con
escrituras rápidas y lee.
• Protección de datos Strong - un diseño comprometerse registro garantiza que
no haya pérdida de datos y construido en la seguridad con backup / restore
mantiene protegidos los datos y segura.
• Sintonizable consistencia de los datos - el apoyo a fuerte o eventual
coherencia de los datos a través de una agrupación de amplia distribución.
• La replicación de múltiples centros de datos - centro de datos cruzada (en
múltiples geografías) y la disponibilidad de soporte multi-zona en la nube para
escrituras / lecturas.
• La compresión de datos - datos comprimidos de hasta un 80% y sin sobrecarga
de rendimiento.
• CQL (Cassandra Query Language) - un lenguaje similar a SQL que hace pasar
de una base de datos relacional muy fácil.
18. ARQUITECTURA GENARAL
Cassandra tiene una arquitectura sin amo "anillo"
que es elegante, fácil de instalar y fácil de
mantener.
En Cassandra, todos los nodos tienen un papel
idéntico; no existe el concepto de un nodo
principal, con todos los nodos se comunican
entre sí a través de una distribuida, escalable
protocolo llamado “gossip”.
La arquitectura de Cassandra también significa
que, a diferencia de otros sistemas de amo-
esclavo o fragmentados, que no tiene ningún
punto único de fallo y por lo tanto es capaz de
ofrecer la verdadera disponibilidad y tiempo de
actividad continua.
19. LA LECTURA Y ESCRITURA DE DATOS
1. Los datos escritos a un nodo de Cassandra
se registra por primera vez en un registro en
el disco comprometerse
2. luego escriben en una estructura basada en
la memoria llamado mem-table.
3. Cuando el tamaño de un mem-table supera
un umbral configurable, los datos se
escriben a un archivo en el disco inmutable
llamado un SSTable.
4. Buffering escribe en la memoria de esta
manera permite que escribe siempre para
ser una operación totalmente secuencial,
con muchos megabytes de disco I / O
sucediendo al mismo tiempo, en lugar de
uno a la vez durante un largo período.
Los datos se escriben a Cassandra de una manera que proporciona tanto la
durabilidad de datos completa y alto rendimiento.
20. Cassandra Query Language
• CQL se asemeja a la de SQL estándar utilizado por todas las bases de datos
relacionales. Debido a esta similitud, se reduce la curva de aprendizaje para
los que vienen desde el mundo relacional.
• Tipos de datos CQL también reflejan la sintaxis RDBMS con (int, bigint,
decimal, etc.) numérico, carácter (ASCII, varchar, etc.), la fecha (fecha y
hora, etc.), no estructurada (burbuja, etc.) y tipos de datos especializados
(juego , lista, mapa, etc.) siendo apoyado.
• Varios CQL utilidades de línea de comandos como cqlsh y gráficos
herramientas como DataStax DevCenter se pueden utilizar para interactuar
con un grupo Cassandra, y controladores de clientes para Cassandra (Java,
C #, etc.) también apoyan CQL para desarrollar aplicaciones.
21. NOMBRE CASSANDRA
Desarrollador Apache Software Fundations
Versión inicial 2008
Lanzamiento actual 2.2.1
Licencia Código abierto
Lenguaje de implementación JAVA
Sistemas operativos de servidor Linux
OS X
Windows
Lenguajes de programación soportados C #
C++
Haskell
JAVA
PHP
Phyton
Rubí
soporte www.planetcassandra.org
Sitio web www.cassandra.apache.org