Sunteți pe pagina 1din 5

Ensayo acerca de bases de datos NOSQL

Sergio Andrs Girado Arnedo


0221020021

Universidad de Cartagena
Programa de Ingeniera de Sistemas
Sistemas de Informacin Gerencial
Cartagena D. T. y C.
2014

Bases de datos NOSQL


Introduccin
Las bases de datos (BD) tradicionales son las relacionales que usan un
lenguaje Estndar para su manipulacin y gestin, el SQL que nace en 1974
basado en Modelo de EF COD. SQL tiene ms de 37 aos de vida. Son ejemplos
de bases de datos relacionales: ORACLE, MYSQL, SQL Server, POTGRESS, DB2,
etc Su xito se bas en que son una solucin para los problemas de gestin y
estructuracin de la informacin de las organizaciones, con un fundamento
matemtico muy fuerte, lenguaje estandarizado (aceptado y adoptado) para
su gestin (SQL), con metodologas estructuradas formales para el diseo de
los sistemas de informacin de las organizaciones y con principios de diseo
como la regla ACID (atmica consistente aislada y Durable). Estas plataformas
tienen muchas herramientas desarrolladas.
Las bases de datos NOSQL son un conjunto de bases de datos que no se
ajustan al modelo de bases de datos relacionales y sus caractersticas, estas no
tienen esquemas, no usan SQL ni permiten joins, no garantizan la propiedad
ACID, escalan horizontalmente, hacen uso amplio de la memoria principal del
computador, resuelven el problema de los altos volmenes de informacin y la
inmensa cantidad de consultas y transacciones diarias, en resumen no son
relacionales.
Pero en qu consisten? Porque surgieron? cual es la mejor solucin para un
problema x determinado para qu tipo de problemas se debe considerar las
alternativas NOSQL? Se debera usar una Solucin NOSQL para un problema
que tradicionalmente se ha resuelto con bases de datos relacionales? Qu se
debe tener en cuenta? Reemplazarn las bases de datos relacionales?
Este trabajo pretende dar algunas respuestas a estas inquietudes que genera
la tecnologa de bases de datos NOSQL que vienen en vertiginoso desarrollo,
especialmente desde el 2009.

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

(arboles), con estructuras B+, productos de procesamiento de transacciones de


alto desempeo llave valor (GTM en 2000 de cdigo abierto) Por ejemplo
Neo4j empez en el ao 2000, pero si algo contribuyo al desarrollo de los
productos NOSQL fueron la serie de papers publicados por Google en 2003,
2004 y 2006 sobre cmo construir una infraestructura escalable para el
procesamiento paralelo de grandes (enormes) cantidades de datos, que origino
Hadoop (y luego Hadoop MapReduce de Yahoo) , ms tarde en 2007 Amazon
liber su historia sobre Dynamo el almacenamiento llave/Valor de alta
disponibilidad. (Shashank 2011)
La innovacin clave de MapReduce es la capacidad de hacer una consulta,
dividindola y ejecutndola en paralelo a la vez, a travs de muchos servidores
sobre un conjunto de datos inmenso.
En el 2012 la cantidad de productos NOSQL paso a ser un poco ms de 120
(Sergey, 2012)

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

Digg, Twitter, Rackspace, IBM, Reddit., Accenture, Adobe,


Ericsson Cisco, HP, Netflix, openwave, Facebook, WebEx,
Pitney bowes. , Real, Symantec,

HBase

Adobe, Powerset, Stumbleupon, Yahoo, Twitter, Facebook

MongoDB

SourceForge, Justin.tv, foursquare, Bit.ly.


www.gov.uk beta .SAP, MTV, Athena Capital Research,
Disney, IGN, The National Archives, Guardian., NYTimes,
Forbes, Foursquare, LexisNexis, CERN, Springer, and Doodle

Redis

Github, The Guardian, Craigslist

Hadoop

Amazon/A9 , Adobe, AOL, , Ebay , Facebook, Hulu media


service, IBM Blue , Last.fm, LinkedIn, New York Times,
Microsoft Powerset, Rackspace, Twitter, Yahoo

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.

Las BD relacionales satisfacen las caractersticas CA: es decir Consistencia y


disponibilidad pero tiene serios problemas con la Tolerancia a particiones
(muchos nodos), para la nube se requiere escalabilidad y se necesita
sacrificar consistencia.
Las BD NOSQL manejan un concepto similar al ACID y se denomina para ellas
BASE (Basically Available, Soft-State y Eventual Consistency) donde es de
prioridad la disponibilidad sobre la consistencia, es decir que el sistema no
estar probablemente en cada instante del tiempo en estado consistente.
Las bases de datos se han venido clasificando principalmente en cuatro (4)
grupos:
1.
2.
3.
4.

De clave Valor
Documentos
Familia de columnas
Grafos

Veamos cada uno de estos grupos

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

S-ar putea să vă placă și