• Like
MongoDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Published

MongoDB es una base de datos NoSQL orientada a documentos

MongoDB es una base de datos NoSQL orientada a documentos

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
202
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
23
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Gestor de Base de Datos NoSQL orientado a documentos: MongoDB
  • 2. PONENTE Ing. Miguel Angel Rivera
  • 3. CONTENIDO • 1. ¿Que es MongoDB? • 2. ¿Que es NoSQL? • 3. Ventajas de NoSQL • 4. Ejemplo de empresas que usan BD NoSQL. • 5. MongoDB • 6. Consultas Add Hoc. • 7. Indexacion. • 8. Replicacion. • 9. Balanceo de carga.
  • 4. ¿Que es MongoDB? • MongoDB (de la palabra en inglés “humongous” que significa enorme) es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto.
  • 5. ¿Que es NoSQL? • Son sistemas de almacenamiento de información que no cumplen con el esquema entidad-relacion, es decir, que no imponen una estructura de datos en forma de tablas y relaciones entre ellas, en ese sentido son mas flexibles, ya que permiten almacenar información en otros formatos como clave- valor (similar a tablas HASH), mapeo de columnas, documentos o grafos.
  • 6. SQL vs NoSQL
  • 7. Ventajas de NoSQL • Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas. • Pueden manejar enormes cantidades de datos. • No generan cuellos de botella. • Escalamiento sencillo. • Diferentes DBs NoSQL para diferentes proyectos. • Se ejecutan en clusters de máquinas baratas.
  • 8. Ventajas de NoSQL • Las bases de datos NoSQL están concebidas para obtener una altísima capacidad de volumen de almacenamiento y velocidad de proceso de la información. Para lograr esto, el lenguaje NoSQL usa técnicas que pueden asustar a los gestores de bases de datos relacionales, como el que los datos que componen la data, no son coherentes todo el tiempo dentro del sistema.
  • 9. Empresas que usan BD NoSQL
  • 10. Información en el Mundo • Son más de 900 millones los usuarios de Facebook. • Cada minuto se generan 50 horas de contenido en YouTube • Twitter genera casi 8 terabytes de datos con sus más de 90 millones de tuits al día. • Wall-Mart gestiona un millón de transacciones de sus clientes/ hora (2.5 petabytes) • Se estima que en 2015 circularan por el planeta 7.900 exabytes • El cluster de producción más grande basado en Cassandra gestiona más de 300 terabytes de datos a través de 400 máquinas
  • 11. MongoDB• MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. • En vez de guardar los datos en tablas, como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos tipo JSON con un esquema dinámico (MongoDB llama ese formato BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
  • 12. JSON
  • 13. MONGODB • El desarrollo de MongoDB empezó en octubre de 2007 por la compañía de software 10gen
  • 14. CONSULTAS AD HOC • MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares. • Las consultas pueden devolver un campo específico del documento pero también puede ser una función JavaScript definida por el usuario.
  • 15. INDEXACIÓN • Cualquier campo en un documento de MongoDB puede ser indexado, al igual que es posible hacer índices secundarios. El concepto de índices en MongoDB es similar a los encontrados en base de datos relacionales.
  • 16. REPLICACIÓN • MongoDB soporta el tipo de replicación maestro-esclavo. El maestro puede ejecutar comandos de lectura y escritura. • El esclavo puede copiar los datos del maestro y sólo se puede usar para lectura o para copia de seguridad, pero no se pueden realizar escrituras. • El esclavo tiene la habilidad de poder elegir un nuevo maestro en caso de que se caiga el servicio con el maestro actual.
  • 17. BALANCEO DE CARGA • MongoDB se puede escalar de forma horizontal usando el concepto de “shard”. El desarrollador elige una llave shard, la cual determina cómo serán distribuidos los datos en una colección. • Los datos son divididos en rangos (basado en la llave shard) y distribuidos a través de múltiples shard. • Un shard es un maestro con uno o más esclavos. MongoDB tiene la capacidad de ejecutarse en múltiple servidores, balanceando la carga y/o duplicando los datos para poder mantener el sistema funcionando en caso que exista un fallo de hardware. • La configuración automática es fácil de implementar bajo MongoDB y nuevas máquinas pueden ser agregadas a MongoDB con el sistema de base de datos corriendo.
  • 18. BALANCEO DE CARGA • En un sistema con múltiples servidores, los archivos pueden ser distribuidos y copiados entre los mismos varias veces y de una forma transparente, de esta forma se crea un sistema eficiente que maneja fallos y balanceo de carga.
  • 19. COMO INSTALAR MONGODB EN LINUX: Ubuntu 13.10
  • 20. DESDE TERMINAL: $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 $ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sou $ sudo apt-get update $ sudo apt get-install mongodb-org .
  • 21. INICIAR MONGODB • $ mongod • $ mongo MongoDB shell version: 2.6.1 connecting to: test Server has startup warnings: 2014-05-28T21:46:19.625-0500 [initandlisten] 2014-05-28T21:46:19.625-0500 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 >
  • 22. COMANDOS BASICOS EN MONGODB • > show dbs • > use itsmigra • > show collections • > db.alumno.insert({‘numerocontrol’:’12345’, ‘nombre’:’Pedro’, ‘apellidoPaterno’:’Mendez’, ‘email’:’pedro@gmail.com’}) • > db.alumno.find(array(‘alumno’=>’Pedro’))
  • 23. COMANDOS BASICOS EN MONGODB • > db.alumno.find() • { "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "numerocontrol" : 12345, “nombre”:”Pedro”, “apellidoPaterno”:”Mendez”, “email”:”pedro@gmail.com”}
  • 24. COMANDOS BÁSICOS EN MONGODB • db.alumno.find( • array(‘nombre’=> • array(‘$in’=> • array(‘Pedro’, ’Miguel’) • ) • ) • );