Sunteți pe pagina 1din 12

INSTITUTO SUPERIOR DE EDUCACION RURAL (ISER)

BASE DE DATOS NOSQL MONGODB

SAIR ALBERTO PINEDA GAMBOA COD: 1094267818

JESUS DAVID MENESES PEA COD: 1094267586

TEC. GESTION DE REDES Y SISTEMAS TELEINFORMATICOS

ASIGNATURA: PROGRAMACION WEB PROFESOR: ING. SERGIO PEALOZA

PAMPLONA, 13 DE SEPTIEMBRE DE 2011

INTRODUCCION

Cuando nos dijeron -el trabajo es hacer una base de datos no relacional, la expresin de muchos de nosotros demostr la incapacidad de asumir un reto. Sabiendo que durante la mayor parte del tiempo estamos trabajando con bases de datos relacionales; aadindole a esto que NOSQL es un lenguaje prcticamente desconocido para nosotros. Pero, despus de consultar, leer y analizar toda la informacin que encontramos sobre las bases de datos NOSQL principalmente en MONGODB nos dimos a la tarea de explorar este lenguaje y demostrar que los cambios experimentales de un SGBD SQL a uno que sea NOSQL nos brinda la capacidad de hacer comparaciones, criticas y de tomar la decisin sobre cual es mejor para manejar nuestras bases de datos futuras. Ya tenemos dos opciones en nuestro banco de conocimientos para realizar nuestros futuros trabajos, y aunque los niveles de complejidad son diferentes no limitan la capacidad que tenemos como estudiantes de sistemas para aprender y mejorar. Por supuesto la gran mayora tal vez optemos por las bases de datos relacionales; otros quizs no, todo depende de la forma en la que se quiera trabajar y de la escalabilidad que cada quien tome para sus proyectos. Este trabajo no pretende que migremos totalmente a las bases de datos NOSQL, sino que las conozcamos, que veamos sus ventajas, sus debilidades y que pensemos que siempre hay ms de dos opciones para escoger cuando trabajamos con los sistemas informticos.

OBJETIVOS

Adquirir los conocimientos pertinentes sobre las bases de datos NOSQL.

Conocer las bondades de las bases de datos NOSQL. Crear una base de datos NOSQL e interactuar con ella. Comparar MONGODB con los sistemas de bases de datos SQL que previamente conocemos.

Proyectar futuros trabajos utilizando MONGODB como SGBD.

CONCEPTOS PREVIOS

NOSQL: Originalmente el trmino NOSQL, que fue acuado en 1998, se refera a una base de datos relacional de cdigo abierto que no usaba un lenguaje de consultas SQL. MONGODB: (tomado de http://www.mongodb.org/ ) MongoDB es una solucin escalable y de alto rendimiento, de cdigo abierto, orientado a documento de bases de datos. Escrito en C + +. Caractersticas: Orientada a documentos de almacenamiento JSON-estilo de los documentos con esquemas dinmicos ofrecen simplicidad y potencia. Apoyo ndice completo ndice de todos los atributos, al igual que usted est acostumbrado. Replicacin y alta disponibilidad Espejo a travs de redes LAN y WAN para la escala y la paz de la mente. Auto-Sharding Escala horizontal sin comprometer la funcionalidad. Consulta Rica, basada en documentos consultas. Rpido en Actualizaciones Modificadores atmica para la contencin-libre. Mapa / Reducir Flexible de agregacin y procesamiento de datos. GridFS Almacenar archivos de cualquier tamao, sin complicar su stack. Soporte comercial Apoyo a las empresas de clase, capacitacin y consultora disponibles.

MARCO TEORICO

ltimamente est muy de moda el uso de bases de datos NOSQL o lo que es lo mismo, bases de datos no relacionales y distribuidas que no proporcionan garantas ACID, es decir, que no proporcionan garantas de que una serie de instrucciones puedan ser consideradas como una transaccin. Los sistemas relacionales modernos se han visto afectados por problemas de rendimiento en cierto tipo de aplicaciones que hacen un uso intensivo o extremo de los datos, como por ejemplo; indexar un nmero ingente de documentos, servir pginas en servidores con un trfico elevado, servir contenido multimedia en streaming. Las implementaciones de sistemas relacionales, por lo general, estn diseadas para soportar pequeas pero frecuentes transacciones de lecto-escritura o grandes bateras de transacciones donde el acceso de escritura no es comn. Por otro lado, los servicios diseados con NOSQL soportan un intenso volumen de operaciones de lecto-escritura. Lo cierto es que la proliferacin de aplicaciones (sobre todo aplicaciones web) que utilizan estos sistemas de bases de datos no relacionales ha sido espectacular en los ltimos tiempos, y por si alguien duda de la puesta en produccin de sistemas bajo estas tecnologas de almacenamiento de datos tan solo mencionando que Digg, Facebook y eBay han desplegado infraestructuras NOSQL de forma completamente satisfactoria. Cada vez es ms evidente que el movimiento NOSQL est dejando de ser una moda para convertirse en una alternativa real. Conviene, sin embargo, no perder el norte respecto a este tema: las bases de datos relacionales no llevan funcionando 40 aos por nada, es decir, cada enfoque cumple con su cometido y es fundamental conocer cundo se ha de aplicar una solucin y cuando otra. Quizs, la mayor parte de las veces una combinacin de ambas perspectivas sea lo idneo, hacindose necesario un profundo y detallado conocimiento de la problemtica que se desea resolver antes de establecer la tecnologa a utilizar. Esto implica conocer de antemano ciertos aspectos como el modelo de datos, la durabilidad, el escenario de uso, los lenguajes de programacin y la facilidad de implantacin. Modelo de datos. Una vez hemos comenzado a hablar sobre el almacenamiento de los datos necesitamos pensar en nuestras necesidades. Son estas necesidades las que nos permitirn modelar los datos, y es aqu donde aparece la primera cosa que se necesita comprender: el NOSQL puede ser libre de esquema, pero aun as seguirs necesitando modelar tus datos. Cuando hablamos del modelado de datos en el mundo NOSQL las cosas pueden variar un poco. Si se va utilizar una base de datos documental ser necesario modelar los

datos como documentos, si se va a usar un herramienta clave-valor el diseo ser completamente diferente, y lo mismo ocurre con soluciones tabulares y basadas en grafo. Un consejo: cuanto menos recursos tengas para modelar, ms difcil ser el proceso (por ejemplo, modelar usando clave-valor es algo ms complicado que modelar usando documentos). Manipulacin de los datos. A la vez que se analizan los datos a modelar hay que pensar en las formas de manipulacin necesarias. Si por ejemplo se requiere un motor de consulta ad-hoc, el almacenamiento clave-valor no es lo adecuado, quizs MongoDB sea una mejor solucin. Las consultas son normalmente fciles de efectuar sobre documentos o grafos. Usando clave-valor estaras limitado a consultar nicamente las claves, y la mayora de las soluciones tabulares estn tambin basadas en las claves (los valores devueltos sern colecciones de columnas). Escenario. El tercer punto que debe quedar claro cuando se piensa en una herramienta NOSQL es el escenario de uso. Si la idea es usarlo en una nica mquina (lo que llamamos un nodo simple) las soluciones cuya durabilidad estn basadas en la rplica de datos, como MongoDB o Riak, no son lo ms adecuado. Si el despliegue de la solucin va a ser en la nube, habra que preocuparse de si se desea utilizar una base de datos en grafos, ya que es realmente difcil escalar este tipo de estructuras de datos. Si bien ya se est trabajando en este sentido en sistemas como InfiniteGraph.

IMPLEMENTANDO UNA BASE DE DATOS CON MONGODB (MEDIANTE PANTALLAZOS AL SISTEMA) INGRESAR AL MONGODB. En la lnea de comandos de la terminal escribimos mongo CREAR NUESTRA BASE DE DATOS CON EL COMANDO USE seguido del nombre que deseamos para nuestra base de datos.

CREAR UNA COLECCIN ES SENCILLO Y ADEMAS INMEDIATAMENTE SE LE PUEDEN INSERTAR DATOS MEDIANTE EL COMANDO db.tabla.insert({parametros})

VISUALIZAR LAS TABLAS MEDIANTE EL COMANDO db.tabla.find()

BORRAR DATOS SE HACE DE LA SIGUIENTE MANERA MEDIANTE EL COMANDO db.tabla.remove({parametros})

ACTUALIZAR LOS DATOS EN UNA COLECCIN SE REALIZA MEDIANTE EL COMANDO db.tabla.update({parmetros})

ALGUNAS OTRAS CREACIONES DE COLECCIONES E INSERCIONES EN ELLAS.

CONCLUSIONES

Las bases de datos no relacionales aunque poseen un nivel de complejidad para nosotros ya que no habamos tenido la oportunidad de trabajar con ellas hasta ahora, resaltan la versatilidad de los sistemas informticos, y nos permiten adquirir un carcter ms profundo hacia la orientacin de nuestros conocimientos y prever las oportunidades del manejo de dichas bases de datos.

Al comparar los clsicos sistemas de bases de datos con el MONGODB puede decirse que ambos son muy cmodos y que permiten modelar los datos a nuestra conveniencia, claro est que en los sistemas SQL hay muchas reglas y excepciones que hay que tener en cuenta porque obviamente son sistemas relacionales, en MONGODB tambin hay que tomar algunas consideraciones pero ya en cuanto al lenguaje porque al no tener que normalizar los datos se ingresan de la manera en la que cada administrador lo considere correcto.

No hay que dejar de lado el tema de la seguridad con los datos; tanto en SQL como en NOSQL se debe ofrecer al usuario final la total privacidad de estos en cuanto se ingresan a la base de datos. De igual manera garantizar el fcil acceso a los mismos.

Luego de conocer bsicamente lo que son las bases de datos NOSQL podemos abstraer que son sistemas estables mientras se mantenga un orden en las colecciones.

Es importante el estudio de estos sistemas de bases de datos ya que puede darse la oportunidad de innovar o dado el caso renovar muchos sistemas de informacin, claro est que se debe alcanzar un nivel ptimo de conocimientos para realizar esta labor.

INFOGRAFIA

http://apiscam.blogspot.com/2011/06/que-es-nosql.html

http://versae.es/nosql-para-principiantes

http://www.nosql.es/blog/nosql/que-es-nosql.html

http://www.mongodb.org/

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