Documente Academic
Documente Profesional
Documente Cultură
Universidad de Cartagena
Programa de Ingeniera de Sistemas
Sistemas de Informacin Gerencial
Cartagena D. T. y C.
2014
Origen
El termino NOSQL cobija varios productos, varios conceptos relacionados sobre
almacenamiento, gestin de datos y datos voluminosos. Es lo que denominan
un trmino umbrella (sombrilla) porque cobija varias elementos.
El trmino fue acuado por Calor Strozzi en 1998 y resucitado por Eric Evans
(un empleado de Rackspace,) en 2009 y el mismo sugiri se llamasen estas
bases de datos como Big Data
Las bases de datos NOSQL no nacieron en 2009 sino que se remontan a la
poca de las bases de datos de red y jerrquicas y una serie de productos que
no eran relacionales que resuelven problemas que no tienen las caractersticas
similares a los de: amazon.com, Facebook, YouTube, twitter, Netflix, Yahoo,
EBay, Hulu,IBM, y que en la poca en que surgieron no se tena internet.
Desde 1965 (Knut 2010) se han venido desarrollando productos para
almacenamiento masivo, datos multivalor, de red (grafos) , jerrquicos
Problemtica
Se han creado ms datos en los ltimos dos aos que todos los aos
anteriores, se han creado datos del orden de ExaBytes (10 a la 18) por ao. Los
datos son ms entrelazados y conectados, son datos
menos estructurados y
datos a escala de la web, con mucha lectura escritura, los esquemas
(schemas) cambian frecuentemente, por ejemplo las aplicaciones sociales no
necesitan el mismo nivel de ACID y la orientacin del software es hacia
servicios (PasS: programas como Servicios)
El problema aparece con los sistemas de millones de transacciones al da
contra la base de datos, otra elemento ms es que se necesita cada vez
mayor flexibilidad para escalar (escalabilidad) y porque para solucionarlo se
estaban adquiriendo mayores y ms potentes computadores
Por tanto las bases de datos NOSQL intentan resolver problemas de
almacenamiento masivo, alto desempeo, procesamiento masivo de
transacciones (sitios con alto transito) y en trminos generales ser alternativas
NOSQL a problemas de persistencia y almacenamiento masivo (voluminoso) de
informacin para las organizaciones.
Pero la gran diferencia es como almacenan los datos. Por ejemplo una factura
en el modelo relacional termina guardndose en 4 tablas (con 3 o 4 llaves
forneas asociaciones involucradas) y en NOSQL simplemente guardan la
factura y no se disea las tablas ni su estructura por adelantado, se almacena,
por ejemplo una clave (nmero de la factura) y el Objeto (la factura)
Unido a lo anterior podemos afirmar que en las bases de datos relacionales: la
lectura de datos es muy costosa, existe mucha transaccionalidad innecesaria,
se asumen que los datos son densos y bien estructurados, tienen problema de
escalabilidad horizontal y no todos los problemas se pueden modelar para una
base un RDBMS.
Usuarios
La tabla siguiente muestra algunos ejemplos de empresas que estn
usando BD NOSQL:
Cassandra
HBase
MongoDB
Redis
Hadoop
Clasificacin
Segn el teorema de CAP o teorema de Brewer (ao 2000), las bases de datos
solo pueden garantizar dos de tres caractersticas:
Consistencia
Disponibilidad (Availability)
Tolerancia a particiones.
De clave Valor
Documentos
Familia de columnas
Grafos
De clave Valor
Este grupo de bases de datos NOSQL cuyo precursor fue Big Table de Google
tiene un Modelo con pares clave-Valor
Especialmente tiles para problemas de escrituras masivas de Streaming
Transaciones tipo son: put (key, value), get(key), remove(key)
Ejemplos: Dynamo Amazon, Cassaandra, Voldemort, Redis.
Cassandra fue iniciado por Facebook y hoy es un proyecto Apache de cdigo
Abierto (escrito en java).
De Familias de Columnas.
Son almacenamientos de datos orientados a Columnas
Ejemplos : Casandra, Hbase..)
De documentos
Las bases de datos de este grupo permiten la gestin de informacin semiestructurada orientadas a documentos, son similares a registros, direccionados
por una clave unica, y se pueden recuperar con su contenido.
Tienen un modelado muy natural orientado a la web.
Ejemplos : Couchdb , Mongodb, riak
De Grafos
Los nodos son entidades y los arcos con relaciones y contienen informacin con
uso a menudo de tablas hash distribuidas y ofrecen estructuras de datos
sencillas como arrays asociativos o almacenes de pares claves valor.
Ejemplos : Neo4j, Flockdb (twiter)
Tienen una arquitectura distribuida con datos almacenados redundantemente
en distintos servidores