SciELO - Scientific Electronic Library Online

 
 issue7Publicidad En La NubeGeorreferenciación author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

    Related links

    • Have no cited articlesCited by SciELO
    • Have no similar articlesSimilars 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 ]