base datos nosql

Upload: j-carlos-yancce-b

Post on 20-Jul-2015

795 views

Category:

Documents


0 download

TRANSCRIPT

BASE DATOS NOSQLIntegrantes: Condea Flores, Moises Miguel Muante Velasquez, Mercedes Paucca Inca, Erick Jim Yancce Buleje Jean Carlos

DEFINICION DE NOSQL NoSQL "not only SQL es una categora general de sistemas de gestin de bases de datos que difiere de modelo relacionales clsicos (RDBMS) en diferente modos: Estos data stores no requieren esquemas de informacin fijas Evitan las operaciones JOIN y escalan horizontalmente

Introduccin a NoSQL

De hecho, tanto las bases de datos NoSQL como las relacionales son tipos de Almacenamiento Estructurado.

ARQUITECTURA DE LAS BBDD NOSQL

A menudo ofrecen slo garantas de consistencia dbiles, como por ejemplo eventual consistency, o transacciones restringidas a elementos de datos simples Emplean una arquitectura distribuida, donde los datos se guardan de modo redundante en distintos servidores, a menudo usando tablas hash distribuidas Suelen ofrecer estructuras de datos sencillas como arrays asociativos o almacenes de pares clave-valor

QUIN USA NOSQL?

No lo usan para todo, slo para algunas partes de sus sistemas empresariales:

Ubuntu DesktopCouch (CouchDB) Adobe y Mozilla (Hbase)

Twitter (Cassandra)

CARACTERSTICAS DEL NOSQL

No se requiere de esquema Auto-sharding (a veces llamada "elasticidad") -

Consulta distribuida de apoyo Integrado de almacenamiento en cach

VENTAJAS DE NOSQL Manejo De Enormes Cantidatos De Datos: esto es

VENTAJAS Y DESVENTAJAS

debido a su propia estructura,por ejemplo,hypertable,una implementacion de codigo abierto basasdo en bigtable(de google),puede escribir 1000 millones de celdas de datos poor dia.

Se Ejecutan En Cluster De Maquinas Baratas: estos

sistemas no requieren de apenas computacion, , en comparacin con los sistemas gestores de base de datos tradicionales y basados en SQL, por lo que se pueden montar en mquinas de un coste ms reducido y en mayor nmero, gracias a su nivel de escalabilidad.

VENTAJAS DE NOSQL

Solo Lo Estrictamente Necesario: son sistemas simples que

no tienen un sistema de consulta complejo ni con capacidad declarativa para en una sola lnea realizar una cantidad interna de operaciones desorbitada. No Generan Cuello De Botellas : el problema de fondo de los

sistemas SQL, es que deben de transcribir cada sentencia para poder ser ejecutada y, cada sentencia compleja requiere, adems de un nivel de ejecucin ms concreto para poderse llevar a cabo, por lo que constituye un punto de entrada comn, nico y conflictivo en base a rendimiento.

VENTAJAS DE NOSQL

Escalamiento Sencillo: NoSQL sustituye al antiguo escalar el

mantra de los gestores de las bases de datos con una nueva: "manera" en lugar de aadir ms servidores para manejar ms carga de datos, una base de datos NoSQL permite a una empresa distribuir la carga entre varios hosts a medida que aumenta la carga.

productos de cdigo abierto proporcionan a los desarrolladores grandes beneficios, sobre todo por su estado sin costo alguno. Otros beneficios: el software de cdigo abierto tiende a ser ms confiable, seguro y rpido de implementar que las alternativas propietarias. Gestores NoSQL populares son Cassandra, CouchDB, Hbase, MongoDB y Redis.Es De Cdigo Abierto

:Los

DESVENTAJAS DE NOSQL

No Estn Lo Suficientemente Maduros Para Algunas Empresas: A pesar de sus puestas en prctica en algunas grandes empresas, las bases de datos NoSQL an se enfrentan a un problema de credibilidad importante con muchas empresas. Los crticos sealan 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.La falta de experiencia :La novedad de NoSQL significa que no hay una gran cantidad de desarrolladores y administradores que conocen la tecnologa -lo que hace difcil a las empresas encontrar personas con los conocimientos tcnicos apropiados. Por el contrario, el mundo RDBMS tiene miles de personas muy cualificadas.

DESVENTAJAS DE NOSQL

Problemas de compatibilidad : A diferencia de las bases de datos relacionales, que comparten ciertos estndares, las bases de datos NoSQL tienen pocas normas en comn. Cada base de datos NoSQL tiene su propia API, las interfaces de consultas son nicas y tienen peculiaridades. Esta falta de normas significa que es imposible cambiar simplemente de un proveedor a otro, por si no quedara satisfecho con el servicio.El cdigo 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 pequeas, medianas y grandes empresas y tpicamente start-ups, los vendedores de cdigo abierto esperan ofrecer un soporte comparable. Generalmente un vendedor de cdigo abierto no tiene el alcance global, servicios de soporte, y la credibilidad de Oracle o IBM.

CASSANDRA

Cassandra es una base de datos NoSQL, hoy en da es un proyecto de Apache. Fue desarrollado por Facebook (la versin original fue construida de las mejores caractersticas de BigTable de Google y Dynamo de Amazon), en el 2008 fue liberado como un proyecto Open Source en Google Code, en el 2009 se convirti en un proyecto Apache Incubator, Y finalmente en el 2010 se convirti en un proyecto TOP-LEVEL

INFORMACIN

La informacin en las bases de datos relacionales, se almacenan en forma de filas, pero en Cassandra la informacin se almacena en Columnas con pares KeyValue para mltiples valores, que se agrupan en Columm Families (familia de columnas). Estas son fijas cuando una base de datos Cassandra es creado, pero las Columns se pueden agregar a la Column Families en cualquier momento. Por otra parte, las Columns se agregan solo a las Keys especificas, por lo tanto diferentes Keys pueden tener diferentes nmeros de Columns en cualquier

TERMINOLOGA DE CASSANDRA

Column: Es la unidad mas bsica de la representacin en el modelo de datos Cassandra. Una Column es un triplete de un Key (un nombre) un Value (un valor) y un Timestamp. El tipo de dato del Key y el Value son matrices de bytes de Java, el tipo de dato del Timestamp es un Long Primitive. Las Columns se ordenan por un tipo, que pueden ser uno de los siguientes:

Ejemplo en JSON:{ "name": "Email", "value": "[email protected]", "timestamp: 123456789

TERMINOLOGA DE CASSANDRAModelo de Datos: AsciiType BytesType LexicalUUIDType

1.- Keyspace -> Column Family 2.- Column Family Column Family Row ->

LongTypeTimeUUIDType UTF8Type

3.- Column Family Row -> Columns4.- Column -> Data Value

TERMINOLOGA DE CASSANDRA

Super Column: Es una Column cuyos Values no son Strings, sino uno o mas Columns que se llamaran SubColumns. Las SubColumns estan ordenadas, y el numero de columnas que se puede definir es ilimitada. La diferencia entre la Super Column y las Columns es que la Super Column no tiene TimeStamp definido.

TERMINOLOGA DE CASSANDRAModelo de Datos: 1.- Keyspace -> Super Column Family 2.- Super Column Family -> Super Column Family Row 3.- Super Column Family Row -> Super Columns 4.- Super Column -> Columns 5.- Columns -> Data ValueColumn Family: Es un contenedor para una coleccin ordenada de Columns. Es necesario definirlas. Keyspace: Es el contenedor para un Column Family. Usado para separar aplicaciones.

CARACTERSTICAS DE CASSANDRA

Fault Tolerant (Tolerancia a los fallos)

Flexivle Schema (Flexible esquema)Symmetric (Simtrica) Scalable (Escalable)

Support for Large Data (Apoyo para Grandes Datos)

CONCLUSION Las BBDD NoSQL son una clara alternativa a los RDBMS Sobre todo para algunas aplicaciones sociales y web que requieren elevada escalabilidad

No son idneas para todo, de hecho en la mayora de los casos las RDBMS deberan seguir siendo la primera opcin: La capacidad de hacer JOIN y las garantas ACID son muy importantes para muchas aplicaciones

Es muy posible que los RDBMS actuales evolucionen para incorporar capacidades de NoSQL

Dynamo

APLICACIN CON CASSANDRA

RELATIONAL VS.

Cassandra Model