Nosql

15
NOSQL Apache cassandra

Transcript of Nosql

Page 1: Nosql

NOSQLApache cassandra

Page 2: Nosql

¿Qué es no SQL?

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.

Page 3: Nosql

¿Por qué aparecen los sistemas NoSQL?

Las bases de datos relacionales no tienen nada de malo: Precisamente gracias al transcurso de los años, hemos logrado aprender técnicas bastante comunes para normalizarlas en la medida de lo posible, escalarlas según crece la demanda, y utilizarlas como sistema de persistencia para almacenar información desde nuestro lenguaje procedural u orientado a objetos favorito (entre otros). La cuota de uso de software como SQLite, MySQL, PostgreSQL u Oracle, por poner cuatro ejemplos conocidos, es muy alta, encontrándose en la mayor parte de los desarrollos modernos.

Los sistemas NoSQL intentan atacar este problema proponiendo una estructura de almacenamientomás versátil, aunque sea a costa de perder ciertas funcionalidades como las transacciones que engloban operaciones en más de una colección de datos, o la incapacidad de ejecutar el producto cartesiano de dos tablas (también llamado JOIN) teniendo que recurrir a la desnormalización de datos.

Page 4: Nosql

Inicios de NoSQL Carlo Strozzi usó el término NoSQL en 1998 para referirse

a su base de datos. Era una base de datos open-source, ligera, que no ofrecía un interface SQL, pero sí seguía el modelo relacional, Strozzi sugiere que, ya que el actual movimiento NoSQL "Se sale completamente del modelo relacional, debería, por tanto, haberse llamado 'NoREL', o algo así."

Eric Evans, un empleado de Rackspace, reintrodujo el término NoSQL cuando Johan Oskarsson de Last.fm quiso organizar un evento para discutir bases de datos distribuidas de código abierto. El nombre intentaba recoger el número creciente de bases de datos no relacionales y distribuidas que no garantizaban ACID, atributo clave en las RDBMS clásicas.

Page 5: Nosql

VENTAJAS Estos sistemas responden a las necesidades

de escalabilidad horizontal que tienen cada vez más empresas.

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.

Page 6: Nosql

DESVENTAJAS El código abierto puede significar una "mancha" en el soporte para

las empresas.- Mientras que los principales proveedores de RMBMS tales como Oracle, IBM y Sybase ofrecen buenos soportes a pequeñas, medianas y grandes empresas y típicamente start-ups, los vendedores de código abierto esperan ofrecer un soporte comparable -con excepción de un puñado de clientes blue-chip. Generalmente un vendedor de código abierto no tiene el alcance global, servicios de soporte, y la credibilidad de Oracle o IBM.

No están lo suficientemente maduros para algunas empresas.- A pesar de sus puestas en práctica en algunas grandes empresas, las bases de datos NoSQL aún se enfrentan a un problema de credibilidad importante con muchas empresas. Los críticos señalan la falta de madurez de NoSQL y los posibles problemas de inestabilidad, mientras que citan la madurez, y una gran funcionalidad y estabilidad de los RDBMSes.

Page 7: Nosql
Page 8: Nosql

¿Qué es 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. Por ejemplo, lo usa Twittre 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.

Page 9: Nosql

HISTORIA Apache Cassandra fue inicialmente

desarollada en Facebook para impulsar las búsqueda en la bandeja de entrada por Avinash Lakshman uno de los autores deAmazon's Dynamo y Prashant Malik. Fue lanzada como un proyecto open source de Google code en julio de 2008. En marzo de 2009, se transformó en un proyecto de Apache Incubator. El 17 de febrero de 2010 se graduó como un proyecto de alto nivel.

Page 10: Nosql

CARACTERISTICAS DescentralizadoTodos 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 centerLas 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.EscalabilidadEl rendimiento de leer y escribir aumenta linealmente a medida que se añaden nuevos nodos.

Page 11: Nosql

Se pueden agregar nuevos nodos sin necesidad de interrumpir la ejecución de la aplicación.Tolerancia a fallosLos 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.ConsistenciaSe ofrece la elección de el nivel de consistencia para las lecturas y escrituras.Soporte MapReduceCassandra esta integrado con Apache Hadoop para soportar MapReduce. Tambien existe soporte para Apache Pig y Apache Hive. Lenguaje de consultaCassandra 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++.

Page 12: Nosql

ARQUITECTURA Esta es una visión general de la arquitectura orientada a los usuarios

de Cassandra Cassandra . La información se basa principalmente en J Ellis OSCON 09

presentación ¿Por Cassandra MySQL impulsa demasiados E / S aleatorias Soluciones basados en archivos requieren demasiados bloqueos La nueva cara de los datos Escala hacia fuera, no hacia arriba Balanceo de carga en línea , el crecimiento del clúster esquema flexible Consultas orientado a Key -CAP cuenta CAP teorema El teorema CAP ( Brewer ) establece que usted tiene que escoger dos de consistencia , disponibilidad, tolerancia de reparto No se puede tener a los tres al mismo tiempo y obtener una latencia aceptable. Cassandra valora disponibilidad y tolerancia Partición ( AP ) . Soluciones de compromiso entre la coherencia y la latencia son sintonizables en Cassandra . Usted puede obtener una fuerte coherencia con Cassandra (con un aumento de la latencia ) . Pero , no se puede obtener el bloqueo de filas : es una victoria definitiva para HBase . Nota : Hbase valora Consistencia y creación de particiones de tolerancia ( CP )

Page 13: Nosql

La base de datos Apache Cassandra NoSQL código abierto se ha convertido rápidamente en la plataforma de gestión de datos preferido para Web, aplicaciones móviles , y la IO que necesitan para escalar y realizar en entornos distribuidos que consisten en múltiples centros de datos y / o nubes . Sin señor de Cassandra , arquitectura nada compartida proporciona a las empresas con el tiempo de actividad constante para sus transaccionales / aplicaciones de bases de datos operacionales , así como un modelo de datos flexible, capaz de almacenar de hoy los tipos de datos modernos y simplicidad operativa para facilitar la gestión de bases de datos . La Producción- Certificado Cassandra en Datastax Empresa se basa en código abierto Cassandra para ofrecer una plataforma de base de datos lista para la empresa.

Page 14: Nosql
Page 15: Nosql

Christopher Jaramillo

3ro Informática