SlideShare una empresa de Scribd logo
1 de 15
Introducción de MongoDB
MongoDB es un sistema de bases de datos NoSQL orientado a
documentos, a diferencia de MySQL, este no es una base de datos
relacional. Es open source, lleva entre nosotros desde el 2009. Está
escrito en C++ y tiene intención de aumentar la escalabilidad de un
sistema. Es compatible con Linux, OS X,Windows y Solaris.
Además de MongoDB existen otros sistemas NoSQL como por
ejemplo Cassandra, CouchDB, Redis, Riak, Membase, Neo4j y
HBase.
Considera que MongoDB fue diseñado para ser un motor de
búsqueda sobre aplicaciones en la nube, debes de ser bien
específico al momento de elegir un sistema NoSQL. Esto porque
tienen diferentes funciones o están optimizados para diferentes
tareas: Como Cassandra que fue diseñado para búsquedas
en Facebook
Concepto de MongoDB
Primero, ¿Qué significa NoSQL? El término NoSQL se utiliza
para indicar que dicha base de datos no utiliza el sistema
relacional tan ampliamente utilizado. Las bases de datos
NoSQL no se construyen sobre tablas y normalmente
tampoco utilizan el lenguaje SQL para realizar consultas.
Muchos sistemas NoSQL utilizan una arquitectura distribuida
y tolerante a fallos, lo que permite mantener los datos en
varios servidores de forma redundante. De esta forma es
bastante fácil escalar el sistema añadiendo más servidores.
Normalmente este tipo de base de datos escala
horizontalmente permitiendo administrar grandes cantidades
de datos.
Concepto de MongoDB
El nombre de MongoDB proviene de “humongous”, que significa
enorme en inglés, y es una base de datos NoSQL software libre.
MongoDB es un DBMS o mejor conocido como motor de base de
datos orientado a documentos, escalable y de alta performance. El
motor de base de datos MongoDB fue escrito totalmente en C++ y está
liberado como Open Source.
Este motor de DB es actualmente utilizado por muchos servicios online
de la más variada índole, por ejemplo como parte de la infraestructura
de Grooveshark, el servicio de streaming de música online.
Características importantes de MongoDB
 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.
 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.
Características importantes de MongoDB
 Balanceo de carga
MongoDB se puede escalar de forma horizontal usando el
concepto de “shard”.10 El desarrollador elije 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.
 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 del que se
caiga el servicio con el maestro actual.
 Agregación MapReduce
La función MapReduce puede ser utilizada para el procesamiento por
lotes de datos y operaciones de agregación. Esta función permite que
los usuarios puedan obtener el tipo de resultado que se obtiene
cuando se utiliza el comando SQL.
 Almacenamiento de archivos
MongoDB puede ser utilizado con un sistema de archivos, tomando la
ventaja de la capacidad que tiene MongoDB para el balanceo de carga
y la replicación de datos utilizando múltiples servidores para el
almacenamiento de archivos. Esta función (que es llamada GridFS11 )
está incluida en los drivers de MongoDB y disponible para los lenguajes
de programación que soporta MongoDB. Esta base de datos expone
funciones para la manipulación de archivos y contenido a los
desarrolladores.
En un sistema con multiple 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.
 Ejecución de JavaScript del lado del servidor
MongoDB tiene la capacidad de realizar consultas utilizando
JavaScript, haciendo que estas sean enviadas directamente a la base
de datos para ser ejecutadas
MongoDB tiene drivers oficiales para los
siguientes lenguajes de programación:
 C
 C++
 C# / .NET
 Erlang
 Haskell
 Java
 JavaScript
Lenguaje de programación soportado
 node.JS
 Perl
 PHP
 Python
 Ruby
 Scala
Organización y sistema
La ventaja que tiene MongoDB ante las bases de datos
racionales es la velocidad de consulta. Esto se logra
gracias a que los documentos son almacenados en
formato BSON, que es una versión modificada del ya
conocido JSON.
BSON pesa un poco más que un JSON regular, pero
gracias a que este guarda longitudes de campos, índices
de arrays, entre otras cosas, es mucho más rápido (y
menos costoso), acceder a la información que se consulta.
En Escritura
•MongoDB es más rápido en las operaciones de escritura.
•Para operaciones de escritura sencillas es entre 2 y 4 veces
más rápido. Para un número de escrituras elevado (el tests de
la escritura de 30 millones de registros de acceso, por ejemplo)
MongoDB duplica en rendimiento a MySQL.
•En escrituras concurrentes MongoDB es más rápido (15% y
30% en nuestras pruebas)
•MongoDB es más rápido en las operaciones de lectura.
•En lecturas concurrentes MongoDB es más rápido (15% y 40%
en nuestras pruebas).
En Lectura
Conclusión Final
En conclusión con este pequeño repaso de lo que es una base de
datos relacional y las base de datos no relacionales podemos ir
razonando en que situaciones se puede o no usar NoSQL, realmente
se podría usar para todo… Pero también queda de parte de los
desarrolladores realizar una aplicación que haga un buen uso de
MongoDB o alguna otra base de datos no relacional.
También se dice que es una versión libre que cuenta con más de
5000 usuarios. MongoDB puede ser usado para: la administración de
contenido, Inteligencia Operacional, E-Commerce, Administración de
datos de Usuarios y como fuentes de datos de alto volumen.
Muchas organizaciones en todo el mundo lo utilizan, por mencionar
algunas: Foursquare, Disney, The New York Times, MTV, Blink
Media, Ericsson, Radian6, entre otras.
Alumno:
Américo, Uriarte Quispe
Especialidad:
Ing. Sistemas e Informática
E-m@il:
americuq@gmail.com
MongoDB

Más contenido relacionado

La actualidad más candente

Bases de datos orientado a objetos
Bases de datos orientado a objetosBases de datos orientado a objetos
Bases de datos orientado a objetos
jorge220395
 
Integridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De DatosIntegridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De Datos
Drakonis11
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
Luis Jherry
 

La actualidad más candente (20)

Bases de datos orientado a objetos
Bases de datos orientado a objetosBases de datos orientado a objetos
Bases de datos orientado a objetos
 
Integridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De DatosIntegridad Y Seguridad En Las Bases De Datos
Integridad Y Seguridad En Las Bases De Datos
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Mongo db
Mongo dbMongo db
Mongo db
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Etapas en el diseño de Base de Datos
Etapas en el diseño de Base de DatosEtapas en el diseño de Base de Datos
Etapas en el diseño de Base de Datos
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
servidores web
servidores webservidores web
servidores web
 
Administracion de Bases de datos
Administracion de Bases de datosAdministracion de Bases de datos
Administracion de Bases de datos
 
MYSQL
MYSQLMYSQL
MYSQL
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 

Destacado

Destacado (7)

Evolución de IAs Reactivas en el Marco de los RTS
Evolución de IAs Reactivas en el Marco de los RTSEvolución de IAs Reactivas en el Marco de los RTS
Evolución de IAs Reactivas en el Marco de los RTS
 
Big data en la era de la nube
Big data en la era de la nubeBig data en la era de la nube
Big data en la era de la nube
 
Presentación TFM - Big Data en la predicción del estado del tráfico. Difusión...
Presentación TFM - Big Data en la predicción del estado del tráfico. Difusión...Presentación TFM - Big Data en la predicción del estado del tráfico. Difusión...
Presentación TFM - Big Data en la predicción del estado del tráfico. Difusión...
 
Zomblind - Presentación de la final del CUSL
Zomblind - Presentación de la final del CUSLZomblind - Presentación de la final del CUSL
Zomblind - Presentación de la final del CUSL
 
Maeb2015 - GPBot
Maeb2015   - GPBotMaeb2015   - GPBot
Maeb2015 - GPBot
 
DEALING WITH NOISY FITNESS IN A RTS GAME BOT DESIGN
DEALING WITH NOISY FITNESS IN A RTS GAME BOT DESIGNDEALING WITH NOISY FITNESS IN A RTS GAME BOT DESIGN
DEALING WITH NOISY FITNESS IN A RTS GAME BOT DESIGN
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 

Similar a MongoDB

Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)
Shon AE
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
MichaelAngel1000
 
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DBInvestigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
JeffLere
 

Similar a MongoDB (20)

Mongo db
Mongo dbMongo db
Mongo db
 
Mongo db
Mongo dbMongo db
Mongo db
 
Diapositva
DiapositvaDiapositva
Diapositva
 
Base de datos rodrigo
Base de datos rodrigoBase de datos rodrigo
Base de datos rodrigo
 
Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)Sistema gestor de base de datos( mongobd)
Sistema gestor de base de datos( mongobd)
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
MongoDB
MongoDBMongoDB
MongoDB
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
Mongo db
Mongo dbMongo db
Mongo db
 
Base de datos raquel
Base de datos raquelBase de datos raquel
Base de datos raquel
 
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DBInvestigación de sobre los conceptos que se deben de tratar en Mongo DB
Investigación de sobre los conceptos que se deben de tratar en Mongo DB
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sgbd mongodb
Sgbd   mongodbSgbd   mongodb
Sgbd mongodb
 
Mongo db
Mongo dbMongo db
Mongo db
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Ultisgbd
UltisgbdUltisgbd
Ultisgbd
 
Mongodb
MongodbMongodb
Mongodb
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
Practica 2 base de datos
Practica 2 base de datosPractica 2 base de datos
Practica 2 base de datos
 

Más de Américo Uriarte Quispe (12)

Ejemplo de Formulación y evaluación de proyectos
Ejemplo de Formulación y evaluación de proyectosEjemplo de Formulación y evaluación de proyectos
Ejemplo de Formulación y evaluación de proyectos
 
modelos empresariales
modelos empresarialesmodelos empresariales
modelos empresariales
 
Seguridad de medios fisicos, biometria y telemetria
Seguridad de medios fisicos, biometria y telemetriaSeguridad de medios fisicos, biometria y telemetria
Seguridad de medios fisicos, biometria y telemetria
 
Gestión de proyecto de software
Gestión de proyecto de softwareGestión de proyecto de software
Gestión de proyecto de software
 
La Calidad de Software
La Calidad de SoftwareLa Calidad de Software
La Calidad de Software
 
Proyecto del Aeropuerto Internacional Chinchero CUSCO
Proyecto del Aeropuerto Internacional Chinchero CUSCOProyecto del Aeropuerto Internacional Chinchero CUSCO
Proyecto del Aeropuerto Internacional Chinchero CUSCO
 
Sociedad informática eLAC 2015
Sociedad informática eLAC 2015 Sociedad informática eLAC 2015
Sociedad informática eLAC 2015
 
Clonezilla Server linux
Clonezilla Server linuxClonezilla Server linux
Clonezilla Server linux
 
Introducción Sistemas SAP R/3
Introducción Sistemas SAP R/3Introducción Sistemas SAP R/3
Introducción Sistemas SAP R/3
 
Tipos de dato de postgreSQL
Tipos de dato de postgreSQLTipos de dato de postgreSQL
Tipos de dato de postgreSQL
 
Sistema de Administración de base de datos
Sistema de Administración de base de datosSistema de Administración de base de datos
Sistema de Administración de base de datos
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 

MongoDB

  • 1.
  • 2.
  • 3. Introducción de MongoDB MongoDB es un sistema de bases de datos NoSQL orientado a documentos, a diferencia de MySQL, este no es una base de datos relacional. Es open source, lleva entre nosotros desde el 2009. Está escrito en C++ y tiene intención de aumentar la escalabilidad de un sistema. Es compatible con Linux, OS X,Windows y Solaris. Además de MongoDB existen otros sistemas NoSQL como por ejemplo Cassandra, CouchDB, Redis, Riak, Membase, Neo4j y HBase. Considera que MongoDB fue diseñado para ser un motor de búsqueda sobre aplicaciones en la nube, debes de ser bien específico al momento de elegir un sistema NoSQL. Esto porque tienen diferentes funciones o están optimizados para diferentes tareas: Como Cassandra que fue diseñado para búsquedas en Facebook
  • 4. Concepto de MongoDB Primero, ¿Qué significa NoSQL? El término NoSQL se utiliza para indicar que dicha base de datos no utiliza el sistema relacional tan ampliamente utilizado. Las bases de datos NoSQL no se construyen sobre tablas y normalmente tampoco utilizan el lenguaje SQL para realizar consultas. Muchos sistemas NoSQL utilizan una arquitectura distribuida y tolerante a fallos, lo que permite mantener los datos en varios servidores de forma redundante. De esta forma es bastante fácil escalar el sistema añadiendo más servidores. Normalmente este tipo de base de datos escala horizontalmente permitiendo administrar grandes cantidades de datos.
  • 5. Concepto de MongoDB El nombre de MongoDB proviene de “humongous”, que significa enorme en inglés, y es una base de datos NoSQL software libre. MongoDB es un DBMS o mejor conocido como motor de base de datos orientado a documentos, escalable y de alta performance. El motor de base de datos MongoDB fue escrito totalmente en C++ y está liberado como Open Source. Este motor de DB es actualmente utilizado por muchos servicios online de la más variada índole, por ejemplo como parte de la infraestructura de Grooveshark, el servicio de streaming de música online.
  • 6. Características importantes de MongoDB  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.  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.
  • 7. Características importantes de MongoDB  Balanceo de carga MongoDB se puede escalar de forma horizontal usando el concepto de “shard”.10 El desarrollador elije 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.
  • 8.  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 del que se caiga el servicio con el maestro actual.  Agregación MapReduce La función MapReduce puede ser utilizada para el procesamiento por lotes de datos y operaciones de agregación. Esta función permite que los usuarios puedan obtener el tipo de resultado que se obtiene cuando se utiliza el comando SQL.
  • 9.  Almacenamiento de archivos MongoDB puede ser utilizado con un sistema de archivos, tomando la ventaja de la capacidad que tiene MongoDB para el balanceo de carga y la replicación de datos utilizando múltiples servidores para el almacenamiento de archivos. Esta función (que es llamada GridFS11 ) está incluida en los drivers de MongoDB y disponible para los lenguajes de programación que soporta MongoDB. Esta base de datos expone funciones para la manipulación de archivos y contenido a los desarrolladores. En un sistema con multiple 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.  Ejecución de JavaScript del lado del servidor MongoDB tiene la capacidad de realizar consultas utilizando JavaScript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas
  • 10. MongoDB tiene drivers oficiales para los siguientes lenguajes de programación:  C  C++  C# / .NET  Erlang  Haskell  Java  JavaScript Lenguaje de programación soportado  node.JS  Perl  PHP  Python  Ruby  Scala
  • 11. Organización y sistema La ventaja que tiene MongoDB ante las bases de datos racionales es la velocidad de consulta. Esto se logra gracias a que los documentos son almacenados en formato BSON, que es una versión modificada del ya conocido JSON. BSON pesa un poco más que un JSON regular, pero gracias a que este guarda longitudes de campos, índices de arrays, entre otras cosas, es mucho más rápido (y menos costoso), acceder a la información que se consulta.
  • 12. En Escritura •MongoDB es más rápido en las operaciones de escritura. •Para operaciones de escritura sencillas es entre 2 y 4 veces más rápido. Para un número de escrituras elevado (el tests de la escritura de 30 millones de registros de acceso, por ejemplo) MongoDB duplica en rendimiento a MySQL. •En escrituras concurrentes MongoDB es más rápido (15% y 30% en nuestras pruebas) •MongoDB es más rápido en las operaciones de lectura. •En lecturas concurrentes MongoDB es más rápido (15% y 40% en nuestras pruebas). En Lectura
  • 13. Conclusión Final En conclusión con este pequeño repaso de lo que es una base de datos relacional y las base de datos no relacionales podemos ir razonando en que situaciones se puede o no usar NoSQL, realmente se podría usar para todo… Pero también queda de parte de los desarrolladores realizar una aplicación que haga un buen uso de MongoDB o alguna otra base de datos no relacional. También se dice que es una versión libre que cuenta con más de 5000 usuarios. MongoDB puede ser usado para: la administración de contenido, Inteligencia Operacional, E-Commerce, Administración de datos de Usuarios y como fuentes de datos de alto volumen. Muchas organizaciones en todo el mundo lo utilizan, por mencionar algunas: Foursquare, Disney, The New York Times, MTV, Blink Media, Ericsson, Radian6, entre otras.
  • 14. Alumno: Américo, Uriarte Quispe Especialidad: Ing. Sistemas e Informática E-m@il: americuq@gmail.com