Services on Demand
Article
Indicators
Related links
Cited by SciELO
Similars in SciELO
Bookmark
Revista de Información, Tecnología y Sociedad
Print version ISSN 1997-4044
RITS no.7 La Paz Nov. 2012
Artículo
NoSQL en la NUBE
Maria Luisa Candia Condori
Universidad Mayor de San Andres
Facultad de Ciencia Puras y Naturales
Carrera de Informática
Simulación de sistemas
Maruluca1@hotmail.com
RESUMEN
Es importante recordar que tanto las base de datos relacionales como las que no son relacionales fueron creadas para solucionar problemas persistentes y que ambas prestan servicios que son fundamentales en sistemas específicos. Unos en bases de datos SQL y normalizados cumpliendo la atomicidad, coherencia, aislamiento y durabilidad (ACID) en la nube y otros que no usan el SQL dando simplemente consistencia eventual, estructura distribuida, escalabilidad horizontal, tolerancia a fallos y redundancia también en la nube.
Palabras Claves
SQL, NoSQL
1.INTRODUCION
En los último años, han surgido nuevas tecnologías basadas en otro tipo de sistemas que no son modelos relacionales los cuales manipulan grandes volúmenes de datos donde su principal característica es la rapidez que se puede almacenar y recuperar grandes cantidades de información, lo que cuenta primordialmente en estas bases de datos es el rendimiento y sus propiedades de tiempo real que la coherencia que las bases de datos relacionales las manejan dedicando mucho tiempo al proceso. distribuidas, mismos que se desarrolla a continuación.
2.NoSQ

"NoSQL( llamado "no sólo SQL") es una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado que no usan SQL como el principal lenguaje de consultas. Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, coherencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente"[ 1 ].
3.HISTORIA DEL TERMINO
EL término NoSQL utilizado por Strozzi en 1998 y se refería a una base de datos relacional de código abierto que no usaba SQL (Structured Query lenguage).
En 2009, Eric Evans, un empleado de Rackspace, reintroduce el término NoSQL cuando Johan Oskarsson de Last.fm quiso organizar un evento para discutir bases de datos distribuidas de código abierto1 no relacionales.
4.CARACTERISTICAS
Las más comunes entre todas las implementaciones de bases de datos distribuidas no relacionales, propietarias o no, suelen ser las siguientes:
Consistencia Eventual: No cuentan con mecanismos rígidos de consistencia. Esta flexibilidad hace que la consistencia se dé, eventualmente, cuando no se modifican los datos durante un periodo de tiempo. Esto se conoce también como BASE (Basically Available Soft-state Eventual Consistency, o coherencia eventual flexible básicamente disponible).
Estructura distribuida: Generalmente se distribuyen los datos mediante mecanismos de tablas de hash distribuidas (DHT) ya que realmente se trata, según las distintas implementaciones, de redes p2p.
Escalabilidad horizontal: La implementación típica se realiza en muchos nodos de capacidad de procesado limitado, en vez de utilizar grandes Mainframes.
Tolerancia a fallos y Redundancia[2].
5 .IMPLEMENT ACION

"Dentro de las bases de datos que pertenecen al movimiento NoSQL, existen varios acercamientos tales como:
- Orientadas a documento como CouchDB o MongoDB.
- Orientadas a grafos como Neo4j.
- Clave/valor, como SimpleDB o Voldemort.
- Orientadas a objetos como Db4o.
- Tabulares como Cassandra o Hypertable.
Para saber si se puede emplear o no una base de datos NoSQL se requiere un análisis previo de las condiciones existentes y de los objetivos que se pretenden lograr con el uso de la misma"[3].
6. VENTAJA DE NoSQL
Pueden manejar enormes cantidades de datos: esto es debido a su propia estructura distribuida. Por ejemplo, HyperTable, una implementación de código abierto basada en BigTable (de Google), puede escribir 1000 millones de celdas de datos por día. Al igual que BigTable, con MapReduce, es capaz de manejar 20 petabytes diarios.
Se ejecutan en clusters de máquinas baratas con un costo reducido gracias a su nivel de escalabilidad.
No generan cuellos de botella por lo que su rendimiento es alto.
Solo lo estrictamente necesario, son sistemas simples que no tienen un sistema de consulta complejo.
7 DESVENTAJAS
No necesariamente sirve para todos los casos. En entornos de sistemas de información, en gestión de cuentas, y entornos en los que es preferible que los datos puedan tener algo más de inteligencia, en lugar de algo más de rapidez, estos sistemas no son aconsejables, ya que la única, pero mayor desventaja de estos es que no respetan ACID.
Llegó la web, y con él, problemas de escalabilidad que no tienen los sistemas SQL, llegan a ser muy complejos.
Los sistemas Nosql son incapaces de ejecutar JOINS, pero proponen una estructura de almacenamiento versátil debido a que la web tiene millones de usuarios y la escalabilidad no es problema, por esta razón los servicios en la nube proponen aún programación con el lanzamiento de bases de datos no relacionales.
8.PROGRAMACION EN LA NUBE
Amazon lanza DynamoDB, una base de datos NoSQL desarrollada internamente

Amazon Web Services ha anunciado el lanzamiento de DynamoDB, una base de datos NoSQL que ha desarrollado y probado internamente Amazon durante estos últimos años. La demanda de bases de datos NoSQL está en claro auge debido al crecimiento de los volúmenes de datos y aplicaciones web actuales. Por eso Amazon sabiendo esta necesidad ha añadido un nuevo miembro a su oferta de bases de datos en la nube compuesta hasta ahora por RDS (base de datos relacional) y SimpleDB(NoSQL)[4].
9.CONCLUSIÓN
Depende mucho que tipo de sistemas de información esta uno trabajando para elegir de manera adecuada las bases de datos SQL o las NoSQL.
Existen casos particulares en los que se puede utilizar estos sistemas especialmente en telefonía donde es más importante la velocidad y la capacidad para poder manejar gran cantidad de información, y uno puede ahorrar líneas y líneas de código y obviamente dinero, sí, es una solución real, con respecto a la escalabilidad y concurrencia de la información dentro de la plataforma tecnológica.
En los casos donde la integridad de los datos y sus reglas de negocios son importantes es necesario utilizar las bases de datos con soporte SQL.
Por lo que, podemos concluir que en estos últimos años las empresas están proporcionando servicios mucho más agiles y no será necesario contar con servidores sino utilizar los que se encuentran en la nube.
10.REFERENCIAS
[1] http://es.wikipedia.org/wiki/NoSQL [ Links ]
[2] http://www.nosql.es/blog/nosql/que-es-nosql.html [ Links ]
[3] http://revista.jovenclub.cu/?p=541 [ Links ]
[4] http://www.genbetadev.com/tag/nosql [ Links ]











