Universidad Peruana de Ciencias e Informática

Mario Ernesto Huayta Sáenz
INTRODUCCION
MongoDB es un sistema de base de datos multiplataforma orientado a documentos, de
esquema libre. Esto signifi...
TERMINOLOGIA BASICA

En MongoDB, cada registro o conjunto de datos se denomina documento. Los documentos se
pueden agrupar...
CARACTERISTICAS

Su velocidad y su rico pero sencillo sistema de consulta de los contenidos de la base
de datos. Se podría...
Ausencia de transacciones. (Aunque parezca un inconveniente)esto le permite a
MongoDB ser más rápida y escalable a nivel h...
Con el uso de BSON MongoDB es muy rápida en la
búsqueda, indexación, almacenamiento y recuperación de la información
BSON ...
Indices Geoespaciales
Permite la indexación de la información basado en la localización.
Permite crear consultas del tipo:...
GridFS
BSON puede almacenar hasta 4Mb de datos binarios en un documento
Si necesitamos espacio adicional (imágenes, audio,...
Replicación de Datos
MongoDB provee mecanismo llamado
replicación maestro-esclavo, con lo que solo
una base de datos está ...
Implementación de Auto Sharding
El AutoSharding es muy interesante en
despliegues a gran escala, delega en MongoDB
la sepa...
Formato de los documentos e ideas para la
organización de datos
Los distintos documentos se almacenan en formato BSON, o B...
EJEMPLO
Un ejemplo de un documento en MongoDB podría ser perfectamente éste:
{
“_id” : “4da2c0e2e999fb56bf000002”
“title” ...
CONSULTAR UNA BASE DE DATOS CON MONGODB
db.posts.find({‘title’ : ‘Una introducción a MongoDB’}) El valor a consultar puede...
CONJUNTO DE CONDICIONES
Algunos de ellos son:
$all : Para indicar que el array almacenado como valor del atributo debe ten...
CONCLUSIONES:
MONGODB ES OTRA ALTERNATIVA DE SGBD QUE COMO ESTA
EXPLICADO ANTES TIENDE A TENER MAYOR ACOGIDA CADA VEZ
QUE ...
Upcoming SlideShare
Loading in …5
×

Ultisgbd

252 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
252
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ultisgbd

  1. 1. Universidad Peruana de Ciencias e Informática Mario Ernesto Huayta Sáenz
  2. 2. INTRODUCCION MongoDB es un sistema de base de datos multiplataforma orientado a documentos, de esquema libre. Esto significa que cada entrada o registro puede tener un esquema de datos diferente, con atributos o “columnas” que no tienen por qué repetirse de un registro a otro. Está escrito en C++, lo que le confiere cierta cercanía al bare metal, o recursos de hardware de la máquina, de modo que es bastante rápido a la hora de ejecutar sus tareas. Además, está licenciado como GNU AGPL 3.0, de modo que se trata de un software de licencia libre. Funciona en sistemas operativos Windows, Linux, OS X y Solaris.
  3. 3. TERMINOLOGIA BASICA En MongoDB, cada registro o conjunto de datos se denomina documento. Los documentos se pueden agrupar en colecciones, las cuales se podría decir que son el equivalente a las tablas en una base de datos relacional (sólo que las colecciones pueden almacenar documentos con muy diferentes formatos, en lugar de estar sometidos a un esquema fijo). Se pueden crear índices para algunos atributos de los documentos, de modo que MongoDB mantendrá una estructura interna eficiente para el acceso a la información por los contenidos de estos atributos.
  4. 4. CARACTERISTICAS Su velocidad y su rico pero sencillo sistema de consulta de los contenidos de la base de datos. Se podría decir que alcanza un balance perfecto entre rendimiento y funcionalidad, incorporando muchos de los tipos de consulta que utilizaríamos en nuestro sistema relacional preferido, pero sin sacrificar en rendimiento. Es un SGBD No SQL. Las crecientes necesidades en cuanto a rendimiento, escalabilidad, velocidad, rendimiento han hecho que este término esté ya en nuestras vidas. Las bases de datos No SQL vencen a las BD relacionales tradicionales al no requerir un modelo estáticos y estructura de datos para almacenar la información.
  5. 5. Ausencia de transacciones. (Aunque parezca un inconveniente)esto le permite a MongoDB ser más rápida y escalable a nivel horizontal. Escalabilidad horizontal. En sistemas tradicionales RDBMS, para mejorar el rendimiento de la base de datos se adquiría una máquina más potente (escalado vertical). En MongoDB funciona mejor el escalado horizontal (incrementar número de máquinas) Almacenamiento Orientado a documentos (BSON) JSON es más que una gran forma de intercambiar información, es también una excelente forma de almacenarla MongoDB almacena todo un registro en un mismo documento. No hay necesidad de especificar estructura alguna y sus documentos pueden cambiarse individualmente. MongoDB usa BSON (Binary-JSON),un formato abierto basado en JSON que permite manejar datos binarios,
  6. 6. Con el uso de BSON MongoDB es muy rápida en la búsqueda, indexación, almacenamiento y recuperación de la información BSON es fácil y rápidamente transformable en cualquier tipo de dato nativo de cualquier lenguaje de programación. Soporte a Querys dinámicas Como en las bases de datos tradicionales, MongoDB también acepta la ejecución de queries dinámicas (a diferencia de otras como CouchDB) Indexación de Documentos Todos los documentos son automáticamente indexados con una clave llamada _id. Esta clave nos asegura que cada documento es único, MongoDB permite indexar documentos embebidos (se puede crear un índice en un código postal)
  7. 7. Indices Geoespaciales Permite la indexación de la información basado en la localización. Permite crear consultas del tipo: “cuantos artículos se encuentran a cierta distancia de un determinado conjunto de coordenadas”, Analisis de Rendimiento de Querys MongoDB provee una herramienta para el análisis de consultas que permite determinar el rendimiento de nuestras consultas o conocer posibles defectos en su estructura o simplemente mejorar el tiempo de respuesta de las mismas.
  8. 8. GridFS BSON puede almacenar hasta 4Mb de datos binarios en un documento Si necesitamos espacio adicional (imágenes, audio, vídeo) MongoDB provee de un sistema llamado GridFS. GridFS permite almacenar la información del archivo (metadato) en una colección de archivos: los datos se divide en pequeñas partes llamadas “chunks”
  9. 9. Replicación de Datos MongoDB provee mecanismo llamado replicación maestro-esclavo, con lo que solo una base de datos está activa para escritura en un momento dado. Todas las peticiones de escritura se realizan en la base de datos maestra y esta las pasa a la réplica (esclavo) Si la bd principal falla la esclava ocupa su lugar. MongoDB implementa el concepto de réplica a pares de modo que cuando falla se determina cuál de las 2 bases de datos (maestro-esclavo) es la que tomará el control para continuar prestando el servicio.
  10. 10. Implementación de Auto Sharding El AutoSharding es muy interesante en despliegues a gran escala, delega en MongoDB la separación y recombinación de los datos y el aseguramiento de que vaya al servidor correcto y que las querys se ejecuten y combinen de la forma más eficiente posible.
  11. 11. Formato de los documentos e ideas para la organización de datos Los distintos documentos se almacenan en formato BSON, o Binary JSON, que es una versión modificada de JSON que permite búsquedas rápidas de datos. Para hacernos una idea, BSON guarda de forma explícita las longitudes de los campos, los índices de los arrays, y demás información útil para el escaneo de datos. Es por esto que, en algunos casos, el mismo documento en BSON ocupa un poco más de espacio de lo que ocuparía de estar almacenado directamente en formato JSON. Pero una de las ideas claves en los sistemas NoSQL es que el almacenamiento es barato, y es mejor aprovecharlo si así se introduce un considerable incremento en la velocidad de localización de información dentro de un documento.
  12. 12. EJEMPLO Un ejemplo de un documento en MongoDB podría ser perfectamente éste: { “_id” : “4da2c0e2e999fb56bf000002” “title” : “Una introducción a MongoDB”, “body” : “Lorem ipsum dolor sit amet…”, “published_at” : “2011-05-09T18:17:07-07:00”, “author_info” : { “_id” : “4dc8919331c0c00001000002” “name” : “Carlos Paramio” }, “tags” : [“MongoDB”, “NoSQL”, “Bases de datos”] “comments” : [ { “author_info” : { “name” : “Jorge Rubira”, “email” : “email1@example.com” }, “body” : “Test”, “created_at” : “2011-05-10T10:14:01-07:00” }, { “author_info” : { “name” : “Txema Rodríguez”, “email” : “email2@example.com” }, “body” : “Otro test”, “created_at” : “2011-05-10T10:14:09-07:00” } ] “liked_by” : [“4d7cf768e999fb67c0000001”,“4da34c62ba875a19d4000001”] }
  13. 13. CONSULTAR UNA BASE DE DATOS CON MONGODB db.posts.find({‘title’ : ‘Una introducción a MongoDB’}) El valor a consultar puede estar anidado en un tipo de datos más completo en el atributo del documento (por ejemplo, como valor de un hash asociado al atributo, o como el valor de uno de los ítems de un array). Se utiliza un punto como separador de los nombres de las claves de los diferentes hashes que hay que recorrer hasta llegar al valor deseado. Por ejemplo, la siguiente consulta devolvería todos los posts escritos por un determinado autor: db.posts.find({‘author_info._id’ : ‘4da2c0e2e999fb56bf000002’}) Y esta otra los posts etiquetados con MongoDB: db.posts.find({‘tags’ : ‘MongoDB’}) El hash utilizado como conjunto de condiciones que deben cumplir los documentos a devolver puede incluir operadores de muy diversos tipos, no sólo comparadores del valor absoluto buscado.
  14. 14. CONJUNTO DE CONDICIONES Algunos de ellos son: $all : Para indicar que el array almacenado como valor del atributo debe tener los mismos elementos que el proporcionado en la condición. $exists : Para comprobar que el atributo existe en el documento. $mod : Para comprobar el resto de una división del valor del atributo por un número. $ne : Para indicar que el valor no puede ser el proporcionado. $in : Para indicar que el valor debe estar entre alguno de los proporcionados. $nin : Contrario de $in. $or : Para indicar que se debe cumplir al menos una condición de entre un grupo de condiciones. $nor : Contrario de $or. $size : Para indicar el número de elementos que debe haber en el array almacenado como valor. $type : Para comprobar el tipo del valor almacenado (número, cadena…)
  15. 15. CONCLUSIONES: MONGODB ES OTRA ALTERNATIVA DE SGBD QUE COMO ESTA EXPLICADO ANTES TIENDE A TENER MAYOR ACOGIDA CADA VEZ QUE AVANZA EL TIEMPO DADA SU VERSATILIDAD DE CODIGO Y ESTRUCTURA; ADEMAS DE SER NoSQL, ES UNA BUENA HERRAMIENTA PARA LOS ADMINISTRADORES DE DB. GRACIAS POR SU ATENCION.

×