Apache Cassandra

11
Miguel Ángel Huamanvilca Chahua Curso: Administración de Base de Datos – VI ciclo

description

cassandra_db

Transcript of Apache Cassandra

Diapositiva 1

Miguel ngel Huamanvilca ChahuaCurso: Administracin de Base de Datos VI cicloNoSQL, tambin llamado no solo SQL,es una amplia clase de sistemas de gestin de bases de datos que se diferencian del modelo clsico del sistema de gestin de bases de datos relacionales (RDBMS) en aspectos importantes, el ms destacado es: no usanSQLcomo el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas y mayormente no soportan operacionesJOIN.BASE DE DATOS NoSQL

BASE DE DATOS NoSQL Las Bases de Datos NoSQL crecieron con las principales compaas de Internet, como Google, Amazon, Twitter y Facebook. stas tenan que enfrentarse a desafos con el tratamiento de datos que las tradicionales RDBMS no solucionaban. Con el crecimiento de la web en tiempo real exista una necesidad de proporcionar informacin procesada a partir de grandes volmenes de datos que tenan unas estructuras horizontales ms o menos similares. Estas compaas se dieron cuenta que el rendimiento y sus propiedades de tiempo real eran ms importantes que la coherencia, en la que las RDBMS dedicaban una gran cantidad de tiempo de proceso.

BASE DE DATOS NoSQL En ese sentido, frecuentemente, las bases de datos NoSQL estn altamente optimizadas para las operaciones recuperar y agregar, y normalmente no ofrecen mucho ms que la funcionalidad de almacenar los registros (p.ej. almacenamiento clave-valor). La prdida de flexibilidad en tiempo de ejecucin, comparado con los sistemas RDBMS, se ve compensada por ganancias significativas en escalabilidad y rendimiento cuando se trata con ciertos modelos de datos.

Modelo de Almacenamiento Clave - ValorEn un sistema RDBMS tenemos bases de datos y dentro de cada base de datos tenemos tablas formadas por filas y columnas. En cambio en un sistema clave-valor tenemos contenedores, tambin se les llamacabinets, en cada contenedor podemos tener tantas parejas de clave-valor como queramos. En cada contenedor podemos tener datos de la misma naturaleza o totalmente diferente.A cada clave se asocia un valor (clave=valor), por ejemplo: Nombre=Jose, Apellido=Hernandez.

[email protected]/04/[email protected]/02/[email protected] de Datos RelacionalBase de Datos Clave ValorIDUsuario1pepe2juan3marioID usuarioClaveValor1nombreJose [email protected] [email protected] [email protected] CassandraApache Cassandraes una base de datosNoSQL(o tambin No Solo SQL),distribuida y basada en un modelo de almacenamiento de clave-valor, escrita enJava. Permite grandes volmenes de datos en forma distribuida. 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 (peer to per) con lo que la redundancia es mxima.

Protocolo P2PHistoriaApache Cassandra fue desarrollada para impulsar su funcin de bsqueda de Bandeja de entrada de Facebook por Avinash Lakshman y Prashant Malik.Fue lanzado como un proyecto de cdigo abierto en julio de 2008.En marzo de 2009, se convirti en unproyecto de Apache.El 17 de febrero 2010 se gradu como un proyecto de nivel superior.

HistoriaLanzamientos despus de la graduacin incluyen0.6, lanzado 12 de abril 2010, aade soporte para el almacenamiento en cach integrado yApache HadoopMapReduce0.7, lanzado 08 de enero 2011, aadida ndices secundarios y los cambios de esquema en lnea.0.8, lanzado 02 de junio 2011, aade el idioma Cassandra Query (CQL), auto-tuning memtables, y el apoyo a las actualizaciones sin tiempo de inactividad1.0, lanzado 17 de octubre 2011, agreg la compresin integrada, nivelada compactacin y mejora el rendimiento de lectura1.1, lanzado 23 de abril 2012, aadi auto-tuning cachs, el aislamiento a nivel de fila, y soporte para ssd mixta / hilado despliegues disco1.2, lanzado 02 de enero 2013, aadi la agrupacin en los nodos virtuales, la comunicacin entre nodos, lotes atmicas y seguimiento de solicitudes2.0, lanzado 04 de septiembre 2013, aadi transacciones ligeras, disparadores, la mejora de compactadoras.

En las versiones inciales utilizaba un API(Application Programming Interface) propia para poder acceder a la base de datos. En los ltimos tiempos estn apostando por un lenguaje denominado CQL (Cassandra Query Language) que posee una sintaxis similar a SQL aunque con muchas menos funcionalidades. Esto hace que iniciarse en el uso de la misma sea ms sencillo. Permite acceder en Java desde JDBC (Java Database Connectivity).

GRACIAS