You are on page 1of 4

QU SON LAS BASES DE DATOS NoSQL?

Las bases de datos NoSQL, son sistemas de almacenamiento de informacin que no


cumplen con el esquema entidad-relacin al que todos nos acostumbramos desde
las primeras asignaturas de bases de datos en las carreras de informtica. Mientras que
las tradicionales bases de datos relacionales basan su funcionamiento en tablas, joins y
transacciones ACID, las bases de datos No SQL no imponen una estructura de datos en
forma de tablas y relaciones entre ellas (no imponen un esquema pre-fijado de tablas),
en ese sentido son ms flexibles, ya que suelen permitir almacenar informacin en otros
formatos (como clave, Mapeo de Columnas, Documentos o Grafos). Adems de la
carencia de un esquema predeterminado, la principal caracterstica de las bases de datos
NoSQL es que estn pensadas para manipular enormes cantidades de informacin de
manera muy rpida. Para ello suelen almacenar toda la informacin que pueden en
memoria (utilizando el disco como una herramienta de persistencia.
La principal diferencia radica en cmo guarda los datos (por ejemplo un recibo):
- en una base de datos relacional tendramos que partir la informacin en diferentes
tablas y luego usar un lenguaje de programacin en la parte servidora para
transformar estos datos en objetos de la vida real.
- En NoSQL, simplemente guardas el recibo:
--- NoSQL es libre de schemas, no se disean las tablas, sino que su estructura se da
por adelantado.
Suelen funcionar bastante bien en hardware de bajo coste (PC's normales y corrientes),
y permiten el escalado horizontal sin perder rendimiento. Lo ms destacado de estos
sistemas es que no usan SQL como el principal lenguaje de consultas. Esta nueva forma
de trabajar responde a otra forma de organizacin de los datos que permiten una menor
rigidez de los datos y formas novedosas de trabajo.

Cundo usar NoSQL?


Las tecnologas NoSQL pueden ser usadas en los siguientes mbitos:
Redes sociales: Es obligatorio. Gracias a las redes sociales, sta tecnologa comenz a
despegar y mostrar utilidad en el campo de la informtica y la estadstica.
Desarrollo Web: Considero ms pertinente el uso de stas tecnologas en sta rea,
debido a la poca uniformidad de la informacin que encontramos en Internet, sin
embargo, es posible realizar stos desarrollos con SQL, como expuse anteriormente.
BigData: Como podemos observar en Search Business Analytics, la administracin de
grandsimas cantidades de informacin y su evidente heterogeneidad hace de NoSQL un
excelente candidato en sta rea.
Cloud (XaaS): el trmino XaaS (Everything as a service) que indica Cualquier cosa
como servicio (sic) y todos los temas relacionados a la nube, con NoSQL pueden
adaptarse casi a cualquier necesidad del cliente, que evidentemente son heterogneos.
En una aplicacin que requiera la lectura/escritura de cantidades ingentes de datos y
pueda dar servicio a millones de usuarios sin perder rendimiento, entonces debemos
plantearnos el uso de una base de datos No SQL. Las grandes redes sociales como
Linkedin las utilizan como medio fundamental de almacenamiento de informacin. Se
puede utilizar una base de datos No SQL para almacenar toda la informacin de una
aplicacin, aunque en la mayora de los casos se recurre a sistemas mixtos que
combinan los clsicos sistemas relacionales (fcilmente manipulables e interrogables
con el lenguaje SQL)con soluciones No SQL para aquellas funcionalidades que
requieren millones de consultas en tiempo real.
Pero la contra que realmente pone en duda su uso muchas veces es que las NoSQL no
proporcionan ninguna garanta ACID. Por decirlo de manera simple, un sistema ACID
cuando dice que un dato se ha guardado, se ha guardado. Ya pueden pasar cualquier
cosa que no vas a perder esa informacin. En cambio, las nosql te pueden decir que ya
han guardado el dato pero todava lo tienen por ah en memoria de manera temporal y si
en ese momento pasa algo extrao (se va la luz y el ordenador para, por ejemplo) el
dato puede que no se haya guardado (aunque tu pienses que si porque te lo ha
asegurado) y en ese caso habrs perdido ese dato para siempre.

PROJECT VOLDEMORT
Voldemort es una base de datos NoSQL creada por LinkedIn para solucionar un
problema de escalabilidad que tenia con las base de datos relacionales y luego donado a
la comunidad.
Voldemort es una base de datos NoSQL orientada a guardar datos de forma clave-valor.
Permite configurar diferentes Nodos los cuales contienen los datos y a la vez los datos
se van replicando de forma que si se cae un nodo la base siga trabajando.
Algunas caractersticas de Voldemort:
--Los datos se replican automticamente a travs de servidores mltiples.
--Los datos son automticamente particionados por lo tanto cada servidor contiene slo
un subconjunto de los datos totales
--Las Fallas en el servidor son manejado de forma transparente
--Permite sereailizar con diferentes frameworks Protocol Buffers, Thrift, Avro y Java
Serialization; adems permite seriabilizar objetos complejos como listas, arregles, etc.
--Los elementos de datos estn versionados para maximizar la integridad de los datos
sin comprometer la disponibilidad del sistema
--Cada nodo es independiente de otros nodos
--Un buen rendimiento solo nodo: se puede esperar 10-20k de operaciones por
segundo en funcin de las mquinas, la red, el sistema de disco, y el factor de
replicacin de datos
--Utiliza una estrategia que permite tener nodos en distintos lugares geogrficos.
--Voldemort es libre y fue escrito en java. Tiene una buena documentacin y una
comunidad activa.

SENSEI DB
Sensei es un sistema distribuido de datos, que fue construida para apoyar muchas
iniciativas de producto de LinkedIn, incluyendo la bsqueda en tiempo rea,l facetas
de la seal y la alimentacin de las noticias y fichas de la pgina principal . Es la base
de la bsqueda de LinkedIn y la infraestructura de datos.
Sensei es a la vez un motor de bsqueda y una base de datos. Est diseado para
consultar y navegar a travs de documentos que consisten de texto no estructurado y
estructurado. y metadatos.
Sensei soporta un leguaje de consulta llamado BQL (Browsing Query Language), que es
muy similar a SQL, pero que se adapta a este tipo de base de datos no relaciones.

GLOSARIO
Escalabilidad: es la propiedad deseable de un sistema, de estar preparado para hacerse
ms grande sin perder calidad en los servicios ofrecidos.
En general, tambin se podra definir como la capacidad del sistema informtico de
cambiar su tamao o configuracin para adaptarse a las circunstancias cambiantes.
La escala horizontalmente o escala significa agregar ms nodos a un sistema.
Search Business Analytics, es el descubrimiento y la comunicacin de patrones
significativos en los datos.
Base de Dato tipo Clave - Valor: Este tipo de bases de datos organizan la informacin
como pares de llaves y valores. Cada llave (o clave) se corresponde con un nico valor
o estructura de datos que contiene valores. Esta idea surgi en Amazon y fue
implementada con el nombre de Dynamo. Algunos otros ejemplos de este tipo de base
de datos son: Apache Cassandra, Project Voldemort, entre otros.
Metadatos : dato sobre el dato, ya que su intencin
era proporcionar la informacin mnima necesaria para identificar un recurso; digamos
que es la informacin insertada en los archivos por el software de edicin o creacin de
los mismos, estos metadatos contienen informacin acerca de la creacin del archivo
como: nombre de autor, autores anteriores, nombre de compaa, cantidad de veces que
el documento fue modificado, fecha de creacin

You might also like