Apache Cassandra - Base de datos

19
APACHE CASSANDRA BASE DE DATOS

Transcript of Apache Cassandra - Base de datos

APACHE CASSANDRA

BASE DE DATOS

¿Qué es 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.

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.

Cassandra ofrece soporte robusto para múltiples centros de datos, con la replicación asincrónica sin necesidad de un servidor maestro, que permiten operaciones de baja latencia para todos los clientes.

Cassandra también ofrece un gran rendimiento. En 2012, investigadores de la Universidad de Toronto que estudian los sistemas NoSQL concluyeron que "En términos de escalabilidad, hay un claro ganador a través de nuestros experimentos. Cassandra logra el más alto rendimiento para el número máximo de nodos en todos los experimentos", aunque "esto tiene como precio una alta latencia de escritura y lectura"

CARACTERISTICAS PRINCIPALES

Descentralizado

Todos los nodos del clúster tiene el mismo rol. No hay un único punto de fallo.Losdatos se distribuyen a través del clúster (por loque cada nodo contiene datosdiferentes). No existe un nodo maestro por lo que cada nodo puede dar servicio acualquier solicitud.

Escalabilidad

El rendimiento de leer y escribir aumenta linealmente a medida que se añadennuevos nodos. Se pueden agregar nuevos nodos sin necesidad de interrumpir laejecución de la aplicación.

Tolerancia a fallos

Los datos se replican automáticamente a múltiples nodos para recuperarse frente afallos.Cassandra soporta replicación a través de multiples datacenter. Se puede reemplazarnodos 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 laslecturas y escrituras.

MANUAL DE INSTALACION DE CASSANDRA

Paso 1: Abrimos el instalador de CASSANDRA y aplastamos en el botón “NEXT”

Paso 2: Presionamos en el recuadro y damos en el visto, a continuación aplastamos en el botón “next”

Paso3: Escogemos la ubicación en donde queremos que se guarde nuestro programa y volvemos a presionar “next”

Paso 4: Damos clic en “next”

Paso 5: Presionamos clic en instalar

Paso 6: Al dar clic en instalar el programa empezara.

Paso 7: El programa finalizo y procedemos a dar clic en “Finish”

Paso 8: Al finalizado esto, podemos empezar a utilizar nuestro sistema y procedemos a crear una base de datos.

NO SQL

¿Qué es NoSQL?

En informática, NoSQL (a veces llamado "no sólo SQL") es una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado es que no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, consistencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Los sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar el hecho de que también pueden soportar lenguajes de consulta de tipo SQL.

Por lo general, los investigadores académicos se refieren a este tipo de bases de datos como almacenamiento estructurado, término que abarca también las bases de datos relacionales clásicas. A menudo, las bases de datos NoSQL se clasifican según su forma de almacenar los datos, y comprenden categorías como clave-valor, las implementaciones de BigTable, bases de datos documentales, y Bases de datos orientadas a grafos.

Ventajas

Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas.3

Pueden manejar enormes cantidades de datos.

No generan cuellos de botella.

Escalamiento sencillo.

Diferentes DBs NoSQL para diferentes proyectos.

Se ejecutan en clusters de máquinas baratas.

SISTEMAS

Bases de datos documentales

Bases de datos en grafo

Bases de datos clave/valor

Bases de datos multivalor

Bases de datos orientadas a objetos

Bases de datos tabular

Bases de datos de arrays