Está en la página 1de 14

Base de Datos NoSQL Caso: MongoDB

Yohan Graterol (Fedora Packager) Twitter: @yograterol E-Mail: yograterol@fedorapeople.org Web: www.yograterol.me
Este documento esta licenciado bajo Creative Common v3 http://creativecommons.org/licenses/by-nc-sa/3.0/gt/legalcode

Agenda

NoSQL? Tipos de Base de Datos NoSQL MongoDB Instalacin de MongoDB en Fedora/CentOS CRUD en MongoDB Resumen Preguntas

NoSQL?
Situacin actual:

YES, Not only SQL

Gran cantidad de informacin Vivimos conectados, metafricamente Auge de tecnologa orientada a la nube La concurrencia es importante

Ejemplo ---->

NoSQL?
Desventajas No utilizan SQL para las consultas No garantizan ACID (Atomicidad, coherencia, aislamiento y durabilidad) No soportan JOIN

NoSQL?
Ventajas :) Manejan gran cantidad de datos Escalan horizontalmente Cuello de botellas 0 Escalamiento sencillo El costo de implementacin es menor comparada con una BD relacional. Lenguajes de consultas orientadas a programadores.

Tipos NoSQL
Base de datos documentales MongoDB CouchDB RavenDB SimpleDB

Base de datos en grafo Neo4j AllegroGraph InfiniteGraph InfoGrid

Tipos NoSQL
Base de datos clave/valor Cassandra BigTable Redis Voldemort

Base de datos tabular HBase LevelDB HyperTable BigTable

MongoDB
MongoDB (Humongous) Creada por 10gen en el 2007 Lanzamiento oficial 2009 Licenciado en AGPL v3 (NOTA) Usa tipos de datos de JSON Almacena los datos en formato BSON Drivers para los lenguajes de programacin licenciados bajo la licencia de Apache

MongoDB
MongoDB (Humongous) Soporta consultas Ad Hoc (Por campos, rangos y expresiones regulares) Uso de JavaScript como lenguaje para su linea de comandos Se pueden almacenar funciones JavaScript en los documentos Almacena documentos utilizando GridFS Ejecuta JS del lado del servidor

MongoDB
Ejemplo de documento {evento: FLISOL, pais: Venezuela, estado: Carabobo, ciudad: San Diego, lugar: Universidad Jose Antonio Paez}

Instalando MongoDB en Fedora


MongoDB en Fedora sudo yum install -y mongodb mongodbserver Componentes instalados mongodb-server: Servidor mongo: Cliente/Linea de Comandos mongodump/restore: Herramientas para respaldar y recuperar base de datos.

CRUD en MongoDB
Create, Read, Update and Delete Create db.coleccion.insert(documento) Read db.coleccion.find/findOne(expresion) Update db.coleccion.update(documento_ori, documento_mod)

CRUD en MongoDB
Create, Read, Update and Delete Delete db.coleccion.remove(expresion) ObjectId 12 bytes 4 bytes: 3 bytes: 2 bytes: 3 bytes:

Tiempo de la maquina Identificador de la maquina PID Aleatorio

Resumen
Resumen y Preguntas

Un agradecimiento humongous por venir al FLISOL Valencia 2013

También podría gustarte