Sei sulla pagina 1di 9

INSTITUTO TECNOLOGICO DE

TEPIC
INGENIERIA EN TECNOLOGIAS DE LA
INFORMACION Y COMUNICACIONES

BASES DE DATOS DISTRIBUIDAS

ENSAYO:

NoSQL
PRESENTA:

AXEL SUNEM MORA OLVERA

Tepic, Nayarit a 30 de enero de 2015

INTRODUCCION
Actualmente vivimos en una sociedad llena de informacin, una
sociedad globalizada y conectada
Hemos hecho de nuestro mundo, un mundo dependiente de las
tecnologas de la informacin y comunicaciones, nos vemos con la
necesidad de estar comunicados y transmitir informacin, de una u otra
manera interactuamos con el entorno que nos rodea mediante datos, el
manejo, manipulacin y consulta de la informacin, que son los datos
procesados, es algo cotidiano y lo vemos implementado en todo.
Eso nos ha llevado a la creacin y control de bases de datos, que la
definicin en Wikipedia, nos dice es un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemticamente
para su posterior uso. Alguna vez nosotros hemos interactuado con
una, ya sea proporcionando datos, consultndolos, nuestra informacin
sea parte de una o quizs administrando una base de datos.
La manipulacin de datos e informacin a avanzado conforme pasa el
tiempo y desde hace ya unas dcadas se han creado los sistemas
gestores de bases de datos que funcionan con el dominante y lenguaje
por excelencia de bases de datos SQL, existe otro ms, menos utilizado,
pero que en el papel es mejor, el NoSQL.
El presente ensayo es acerca del NoSQL, su origen, desarrollo, uso y
futuro.

NoSQL
NoSQL es una clase de sistemas de administracin de bases de datos,
que difieren con el tradicional modelo de administracin de bases de
datos relacionales, el SQL, existen muchos sistemas administradores de
bases de datos, los cuales clasifican en relacionales, en orientados a
objetos y los relacionales orientados a objetos. Aunque, en esencia y en
la prctica, la mayora de todos estos motores de bases de datos, estn
basados en la arquitectura relacional y, todos estn soportados por el
famoso lenguaje de consultas SQL, algunos con variaciones para operar
los datos, esto ha hecho de SQL, el lenguaje tradicional y de por
excelencia, o de facto, para el manejo de bases de datos, debido a su
uso.
El concepto de NoSQL, su uso y desarrollo, ya en estos das es muy
conocido, aunque no es del todo popular, pues se sigue trabajando
cotidianamente en SQL y sigue siendo raro, trabajar con algn sistema
NoSQL, as como que sea enseado en las escuelas.
Quienes han hecho popular a NoSQL y han extendido su desarrollo y
enseanza, son las grandes compaas de internet como Google,
Amazon, Twitter y Facebook.
Porque?, porque estas compaas enfrentaron problemas con el
tratamiento de datos, que las tradicionales sistemas administradores de
bases de datos relacionales no solucionaban.
La web 2.0 se vio beneficiada con NoSQL:
Con el crecimiento de la web en tiempo real exista una necesidad de
proporcionar informacin procesada a partir de grandes volmenes de
datos que tenan unas estructuras horizontales ms o menos similares.
Estas compaas se dieron cuenta de que el rendimiento y sus
propiedades de tiempo real eran ms importantes que la coherencia, en
la que las bases de datos relacionales tradicionales dedicaban una gran
cantidad de tiempo de proceso. (Wikipedia, s.f.)
Pero lleg la web, el software como servicio, los servicios en la nube y
las startups de xito con millones de usuarios. Y con todo ello llegaron
los problemas de alta escalabilidad. (Genbetadev, 2011)

Es por eso que aparecieron los sistemas NoSQL, estos sistemas atacan a
los problemas que en SQL surgen cuando aumenta la complejidad de la
base de datos, para eso propone una estructura de almacenamiento
ms verstil.
Se puede decir que NoSQL emergi de la necesidad. Tim Perdure de
newtech.about.com, resume cual fue la necesidad por la cual emergi
NoSQL y lo describe en 3 conceptos:
Almacenamiento de datos, datos interconectados y complejidad de la
estructura de datos.
Del almacenamiento de datos dice que existe una gran cantidad de
datos en el mundo, de 2006 a 2010 aumento de 161 exabytes a 1000
exabytes, un exabyte equivale a mil millones de gigabytes.
Los datos siguen conectndose cada vez ms, los sistemas se crean
para ser interconectados.
NoSQL puede manejar estructuras de datos jerarquice anidados
fcilmente, en aplicaciones para redes sociales y la web semntica, la
tradicional SQL se queda corto. (Perdure, s.f.)
Ahora conozcamos ms de NoSQL, sus categoras de bases de datos
ms usadas:
Almacenes Key-Value
La idea principal es la existencia de una tabla hash donde hay una clave
nica y un puntero a un elemento particular de datos. Estas
asignaciones suelen ir acompaados de mecanismos de cach para
maximizar el rendimiento.
Bases de datos columnares
Como su nombre lo indica, guardan los datos en columnas en lugar de
renglones.
Con este cambio ganamos mucha velocidad en lecturas, ya que si
queremos consultar un nmero reducido de columnas, es muy rpido
hacerlo. Al final tenemos una base muy parecida a las key-value. Por
otro lado, este paradigma no es muy eficiente para realizar escrituras.
Bases de datos orientadas a documentos

Se inspiraron en Lotus Notes y son similares a las key-value. El modelo


es bsicamente versionado documentos que son colecciones de otras
colecciones de key-value Los documentos semi-estructurados se
almacenan en formatos como JSON, aunque puede ser XML.
Por ello este tipo de bases de datos son en gran medida los responsables
del hype actual de NoSQL. Ofrecen un gran performance y escalabilidad
sin perder del todo los beneficios del modelo relacional. Entre las bases
de datos de este tipo, estn los ms famosos ejemplos de la familia
NoSQL: Google BigTable, MongoDB, Apache CouchDB y Apache
Cassandra.
Bases de datos orientadas a grafos
Como su nombre lo indica, estas bases de datos almacenan los datos en
forma de grafo. Esto permite darle importancia no solo a los datos, sino
a las relaciones entre ellos. De hecho, las relaciones tambin pueden
tener atributos y puedes hacer consultas directas a relaciones, en vez de
a los nodos. Adems, al estar almacenadas de esta forma, es mucho
ms eficiente navegar entre relaciones que en un modelo relacional.
Los prinicipales sistemas de NoSQL con los siguientes:
Apache CouchDB, comnmente llamada CouchDB, es un gestor de
bases de datos de cdigo abierto, cuyo foco est puesto en la facilidad
de su uso y en ser "una base de datos que asume la web de manera
completa".1 Se trata de una base de datos NoSQL que emplea JSON para
almacenar los datos, JavaScript como lenguaje de consulta por medio de
MapReduce y HTTP como API.
MongoDB (de la palabra en ingls humongous que significa enorme)
es un sistema de base de datos NoSQL orientado a documentos,
desarrollado bajo el concepto de cdigo abierto.
MongoDB forma parte de la nueva familia de sistemas de base de datos
NoSQL. En vez de guardar los datos en tablas como se hace en las base
de datos relacionales, MongoDB guarda estructuras de datos en
documentos tipo JSON con un esquema dinmico (MongoDB llama ese
formato BSON), haciendo que la integracin de los datos en ciertas
aplicaciones sea ms fcil y rpida.
Apache Cassandra es una base de datos NoSQL distribuida y basada
en un modelo de almacenamiento de clave-valor, escrita en Java.

Permite grandes volmenes de datos en forma distribuida. Por ejemplo,


lo usa Twitter 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 mxima.
BigTable es un sistema de gestin de base de datos creado por Google
con las caractersticas de ser: distribuido, de alta eficiencia y propietario.
Est construido sobre GFS (Google File System), Chubby Lock Service, y
algunos otros servicios y programas de Google, y funciona sobre
'commodity hardware' (sencillos y baratos PCs con procesadores Intel).
Neo4j es un software libre de Base de datos orientada a grafos,
implementado en Java.1 2 Los desarrolladores describen a Neo4j como
un motor de persistencia embebido, basado en disco, completamente
transaccional Java que almacena datos estructurados en grafos ms que
en tablas.
Dynamo fue creado por Amazon.com y es el ms prominente de base
de datos NoSQL valor clave. Amazon estaba en la necesidad de una
plataforma distribuida altamente escalable para sus negocios de
comercio electrnico por lo que desarrollaron Dynamo. Amazon S3 utiliza
Dynamo como el mecanismo de almacenamiento.
SimpleDB es otra base de datos de Amazon. Se utiliza para Amazon
EC2 y S3, es parte de los Servicios Web de Amazon sea de pago segn el
uso.
Para diferenciar NoSQL de SQL, podemos resumir las caractersticas de
NoSQL en tres principales:
Ausencia de esquema en los registros de datos, escalabilidad horizontal
sencilla, y velocidad endiablada. (Genbetadev, 2011).
Qu le depara el futuro a NoSQL?
Las organizaciones que tienen necesidades de almacenamiento masivo
de datos estn pensando seriamente en NoSQL. Al parecer, el concepto
no est recibiendo tanta traccin en las organizaciones ms pequeas.
En una encuesta realizada por Information Week, el 44% de los
profesionales de TI de negocios no han odo hablar de NoSQL. Adems,
slo el 1% de los encuestados inform que NoSQL es una parte de su
direccin estratgica. Claramente, NoSQL tiene su lugar en nuestro

mundo conectado, pero tendr que seguir evolucionando para conseguir


el atractivo masivo que muchos piensan que podra tener. (Perdure, s.f.)
En el futuro, usars ms de un solo tipo de bases de datos. Aquella que
se adapte a tu aplicacin y ms an, aquella que se adapte a cierto caso
de uso de tu aplicacin. Por lo que no ser raro ver desarrollos que usen
ms de un solo tipo de base de datos. El punto es que debes seguir
adaptndote, perderle el miedo a salir de la seguridad de un RDBMS y
empezar a usar otras alternativas. (Camacho, 2010)

CONCLUSION
NoSQL nos ofrece un extenso abanico para trabajar de forma rpida,
precisa y efectiva bases de datos, es la gran alternativa al tradicional
SQL, al tradicional modelo relacional.
NoSQL ya tiene aos, pero su implementacin y actual auge tiene poco,
es el futuro de las bases de datos, cuyo objetivo principal es resolver los
problemas de perfomance y estabilidad de las bases de datos
relacionales.
El aumento de informacin en la nube, la web semntica y otros
aspectos que estn influyendo en el desarrollo de la sociedad
globalizada e interconectada, est siendo beneficiada con la
implementacin de NoSQL, aunque esto no quiere decir que SQL quede
en desuso, todava SQL tiene capacidades que en las aplicaciones
cotidianas a las que es sometido es perfecto y sigue dando buen
soporte.

Quizs evolucione NoSQL a tal modo de dejar de lado por completo a


SQL, como la tendencia actual lo marca, quizs ese sea su futuro.
Termino compartiendo la siguiente frase de Erick Camacho de sg.com:
Recuerda que no se trata de usar la mejor herramienta, sino de usar la
mejor herramienta para tu problema especfico.

BIBLIOGRAFIA
Camacho, E. (2010). http://sg.com.mx/revista/42/nosql-la-evolucion-las-basesdatos#.VMuldGiG8YN.
Genbetadev. (2011). http://www.genbetadev.com/bases-de-datos/el-conceptonosql-o-como-almacenar-tus-datos-en-una-base-de-datos-no-relacional.
Perdure, T. (s.f.).
http://newtech.about.com/od/databasemanagement/a/Nosql.htm.
Wikipedia. (s.f.). http://es.wikipedia.org/wiki/NoSQL.

Potrebbero piacerti anche