2. QUE ES NOSQL
NoSQL es especialmente útil cuando una empresa
necesita acceder y analizar grandes cantidades de
datos no estructurados o datos que se almacenan
de forma remota en varios servidores virtuales en
la nube.
3. Los sistemas de bases de datos NoSQL crecieron con
las principales compañías de Internet, como Google,
Amazon, Twitter y Facebook. Estas tenían que
enfrentarse a desafíos con el tratamiento de datos que
las tradicionales RDBMS no solucionaban . Con el
crecimiento de la web en tiempo real existía una
necesidad de proporcionar información procesada a
partir de grandes volúmenes de datos que tenían unas
estructuras horizontales más o menos similares.
4. ARQUITECTURA
Típicamente las bases de datos relacionales
modernas han mostrado poca eficiencia en
determinadas aplicaciones que usan los datos de
forma intensiva, incluyendo el indexado de un gran
número de documentos, la presentación de
páginas en sitios que tienen gran tráfico, y en sitios
de streaming audiovisual. Las implementaciones
típicas de RDBMS se han afinado o bien para una
cantidad pequeña pero frecuente de lecturas y
escrituras o para un gran conjunto de
transacciones que tiene pocos accesos de
escritura. Por otro lado NoSQL puede servir gran
cantidad de carga de lecturas y escrituras.
5. Las arquitecturas NoSQL frecuentemente aportan
escasas garantías de consistencia, tales como
consistencia de eventos o transaccional restringida
a ítems únicos de datos. Hay dos sistemas que han
sido desplegados y que aportan aislamiento
snapshot para almacenamientos de columna: El
sistema Percolator de Google basado en el sistema
BigTable y el sistema transaccional de Hbase
desarrollado por la universidad de Waterloo.
6. APACHE CASSANDRA
Apache Cassandra es una base de datos NoSQL
distribuida y basada 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.
7. El modelo de datos de Cassandra consiste en
particionar las filas, que son reorganizadas en
tablas . Las claves primarias de cada tabla tiene
un primer componente que es la clave de partición.
Dentro de una partición, las filas son agrupadas por
las columnas restantes de la clave.
Las demás columnas pueden ser indexadas por
separado de la clave primaria
Las tablas se pueden crear, eliminar y alterar en
tiempo de ejecución sin bloquear actualizaciones y
consultas.
8. VENTAJAS DE CASSANDRA
Rápidas respuestas aunque la demanda crezca
Elevadas velocidades de escritura para gestionar
volúmenes de datos incrementales
Almacenamiento distribuido
Capacidad de cambiar la estructura de datos cuando los
usuarios demandan más funcionalidad
Una API sencilla y limpia para tu lenguaje de
programación favorito
Detección automática de fallos
No hay un punto de fallo único (cada nodo conoce de los
otros)
Descentralizada
Tolerante a fallos
9. ¿QUIÉN USA APACHE CASSANDRA?
Digg
Facebook
Twitter
Rackspace
SimpleGEO
10. CARACTERISTICAS
Descentralizado
Todos los nodos del clúster tiene el mismo rol. No hay un
único punto de fallo. Los datos se distribuyen a través del
clúster (por lo que cada nodo contiene datos diferentes).
No existe un nodo maestro por lo que cada nodo puede
dar servicio a cualquier solicitud.
Soporta replicación y replicación de multiples data
center
Las estrategias de replicación son configurables .
Cassandra está diseñado como un sistema distribuido,
para el despliegue de un gran número de nodos a través
de múltiples centros de datos. La arquitectura distribuida
de Cassandra esta diseñado para desplegarse sobre
multiples data center, tener redundancia y recuperarse
ante desastres.
11. Escalabilidad
El rendimiento de leer y escribir aumenta linealmente
a medida que se añaden nuevos nodos. Se pueden
agregar nuevos nodos sin necesidad de interrumpir la
ejecución de la aplicación.
Tolerancia a fallos
Los datos se replican automáticamente a múltiples
nodos para recuperarse frente a fallos. Cassandra
soporta replicación a través de multiples datacenter.
Se puede reemplazar nodos que presenten fallos sin
tiempo de inactividad o interrupción de la aplicación.
Consistencia
Se ofrece la elección de el nivel de consistencia para
las lecturas y escrituras.
12. Soporte MapReduce
Cassandra esta integrado con Apache Hadoop para
soportar MapReduce. Tambien existe soporte
para Apache Pig y Apache Hive.
Lenguaje de consulta
Cassandra introduce CQL (Cassandra Query
Language), una alternativa similar a SQL para la
interfaz RPC tradicional. Existen drivers disponibles
para Java (JDBC), Python (DBAPI2), Node.JS
(Helenus), Go (gocql) and C++
13. INSTALACION DE CASSANDRA
Descargar el instalador de cassandra puedes
encontrarlo en las siguientes páginas
http://cassandra.apache.org/download/
http://www.datastax.com/download