Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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
Tipos NoSQL
Base de datos clave/valor Cassandra BigTable Redis Voldemort
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}
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:
Resumen
Resumen y Preguntas