SlideShare una empresa de Scribd logo
1 de 17
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.
Es de alto rendimiento y de esquema libre, está licenciado como GNU AGPL 3.0, de
modo que se puede descargar gratuitamente desde su sitio web:
http://www.mongodb.org/downloads
Las características mas destacadas de MongoDB son su velocidad y su sencillo, pero
potente, sistema de consulta de datos, en resumen es un sistema de base de datos
que tiene el equilibrio entre rendimiento y funcionalidad en el que podemos realizar
casi todas las consultas que utilizaríamos en un sistema relacional pero sin sacrificar el
rendimiento.
Quienes lo usan?

http://www.mongodb.org/display/DOCS/Productio
n+Deployments
Que ventajas nos ofrece?
•
•
•
•
•
•
•

Es gratuito y es multiplataforma
Es rápida y es funcional
Fácil de probar
Fácil de entender
Escalabilidad, Replicación y Alta Disponibilidad
Formación
Soporte Comercial
Es gratuito y es multiplataforma
MongoDB esta disponible para descarga gratuita desde su sitio web:
http://www.mongodb.org/download
Esta disponible para todas las plataformas:
Es rápido y es funcional
Normalmente tenemos que sacrificar rendimiento por funcionalidad o
viceversa, incluso usar dos sistemas (RDBMS + Cache) redundando los
datos, MongoDB alcanza el equilibrio entre rendimiento y funcionalidad.
Fácil de probar: Una instancia se levanta en
minutos
Podemos tener una instancia de mongo levantada en cuestión de minutos, solo
tenemos que de bajar los ejecutables, descomprimirlos, crear un directorio de datos y
arrancar la instancia con:
mongod --dbpath c:data
Fácil de probar: Drivers para multitud de
lenguajes
MongoDB tiene drivers mantenidos para:
• C
• C++
• Erlang
• Haskell
• Java
• Javascript
• .NET (C# F#, PowerShell, etc)
• Node.js
• Perl
• PHP
• Python
• Ruby
• Scala

Ademas hay una larga lista de Drivers y Herramientas mantenidos por la Comunidad:
http://www.mongodb.org/display/DOCS/Drivers
Fácil de Entender: Conceptos Conocidos
Bases de Datos

Bases de Datos

Tablas

Colecciones

Registros

Documentos
Fácil de Entender: Documento =
Registro/Registros
Que es un documento?
> db.persons.findOne()
{
"_id" : ObjectId("5062b9a0fe2d230a58c5c104"),
"Name" : "Antonio Gomez",
"Age" : 30,
"Chidls" : [
{
"Name" : "Pedro Gomez",
"Age" : 4
},
{
"Name" : "Antonio Gomez",
"Age" : 11
}
]
}
Fácil de Entender: Funcionalidades similares
Consultas dinámicas (1/3):
SELECT * FROM PERSONS
db.persons.find()
SELECT * FROM PERSONS WHERE NAME = “Antonio Gomez”
db.persons.find({Name:"Antonio Gomez"})
SELECT AGE FROM PERSONS WHERE NAME = “Antonio Gomez” AND AGE = 30
db.persons.find({Name:"Antonio Gomez“, Age:30}, {Age:true})
Fácil de Entender: Funcionalidades similares
Índices:
Ascendente
db.persons.ensureIndex({Age: 1})
Descendente
db.persons.ensureIndex({Age: -1})
Unico
db.persons.ensureIndex({Name: 1}, {unique: true})
Escalabilidad, Replicación y Alta
Disponibilidad
Replica Sets
http://www.mongodb.org/display/DOCS/Replica+Sets
Maestro / Esclavo (en desuso)
http://www.mongodb.org/display/DOCS/Master+Slave
Auto Sharding
http://www.mongodb.org/display/DOCS/Sharding
Fácil de Instalar: Instalación Ubuntu
La instalación es realmente sencilla, simplemente hay que añadir el repositorio de
10gen e instalarlo con apt-get.
Para añadir el repositorio e instalar MongoDB:
1. Importamos la key GPC publica de 10gen con:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
2. Añadimos esta linea a nuestra lista de repositories, que esta en
/etc/apt/sources.list:
deb http://downloadsdistro.mongodb.org/repo/ubuntu-upstart dist 10gen
3. Instalamos con:
1. sudo apt-get update
2. sudo apt-get install mongodb-10gen
4. Arrancamos el servidor con:
sudo service mongodb start
Listo, ya tenemos el servidor de MongoDB instalado y funcionando.
Fácil de Instalar: Instalación Windows
La instalación sobre Windows es tan simple como bajar un Zip y descomprimirlo en un
directorio.
Una vez tenemos los binarios de MongoDB descomprimidos en un directorio
podemos instalarlo como un servicio de Windows o correrlo en la consola:
1. Correrlo en la consola:
1. Creamos una carpeta donde se alojaran los datos (ejem c:data)
2. Ejecutamos el mongod pasandole la carpeta:
mongod --dbpath c:data
2. Instalarlo como servicio:
1. Creamos una carpeta donde se alojaran los datos (ejem c:data)
2. Creamos un fichero de log (ejem: cdataloglog.txt)
3. Ejecutamos el mongod pasandole la carpeta, el log y la opcion de servicio:
mongod --dbpath c:data --logpath cdataloglog.txt --service
4. Buscamos el servicio Mongo DB en los servicios de windows y lo iniciamos
Listo, ya tenemos el servidor de MongoDB instalado y funcionando.
Sin Instalación: MongoDB en la nube
Hay varios proveedores que te ofrecen instancias gratuitas de MongoDB en la nube de
manera que puedas hacer pruebas sin necesidad de tener instalada ninguna instancia
de MongoDB.
• Mongolab te ofrece una instancia gratuita de hasta 500 megas:
• https://mongolab.com/home
• Mongohq te ofrece una instancia gratuita de hasta 512 megas:
• https://www.mongohq.com
Estas instancias gratuitas son mas que suficientes para las pruebas de desarrollo e
incluso para pequeñas aplicaciones.
Formación
• http://education.10gen.com/
• http://groups.google.com/group/mongodb-user
• irc://irc.freenode.net/#mongodb

Soporte Comercial

• http://www.10gen.com/
Referencias
• MongoDB: The Definitive Guide
• 10gen presentations
• Why MongoDB is Awesome

Más contenido relacionado

La actualidad más candente

Indexing & Query Optimization
Indexing & Query OptimizationIndexing & Query Optimization
Indexing & Query OptimizationMongoDB
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos DistribuidasJorge Guerra
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB AtlasMongoDB
 
Indexing with MongoDB
Indexing with MongoDBIndexing with MongoDB
Indexing with MongoDBMongoDB
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptxSurya937648
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentationHyphen Call
 
HDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsHDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsDataWorks Summit
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDBMongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBNodeXperts
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDBCésar Trigo
 
MongoDB Database Replication
MongoDB Database ReplicationMongoDB Database Replication
MongoDB Database ReplicationMehdi Valikhani
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQLSamy Dindane
 

La actualidad más candente (20)

Mysql
MysqlMysql
Mysql
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
 
MongoDB
MongoDBMongoDB
MongoDB
 
Indexing & Query Optimization
Indexing & Query OptimizationIndexing & Query Optimization
Indexing & Query Optimization
 
¿que es mongodb?
¿que es mongodb?¿que es mongodb?
¿que es mongodb?
 
Base De Datos Distribuidas
Base De Datos DistribuidasBase De Datos Distribuidas
Base De Datos Distribuidas
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB Atlas
 
Indexing with MongoDB
Indexing with MongoDBIndexing with MongoDB
Indexing with MongoDB
 
Introduction to MongoDB.pptx
Introduction to MongoDB.pptxIntroduction to MongoDB.pptx
Introduction to MongoDB.pptx
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentation
 
HDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsHDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once Semantics
 
Bases de datos orientadas a objetos
Bases de datos orientadas a objetosBases de datos orientadas a objetos
Bases de datos orientadas a objetos
 
Mongo db
Mongo dbMongo db
Mongo db
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
MongoDB Database Replication
MongoDB Database ReplicationMongoDB Database Replication
MongoDB Database Replication
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 

Destacado

Curso de Ajax
Curso de AjaxCurso de Ajax
Curso de Ajaxcamposer
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBRavi Teja
 
MongoDB for Time Series Data Part 3: Sharding
MongoDB for Time Series Data Part 3: ShardingMongoDB for Time Series Data Part 3: Sharding
MongoDB for Time Series Data Part 3: ShardingMongoDB
 
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...MongoDB
 
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB
 

Destacado (6)

MongoDB
MongoDBMongoDB
MongoDB
 
Curso de Ajax
Curso de AjaxCurso de Ajax
Curso de Ajax
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MongoDB for Time Series Data Part 3: Sharding
MongoDB for Time Series Data Part 3: ShardingMongoDB for Time Series Data Part 3: Sharding
MongoDB for Time Series Data Part 3: Sharding
 
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
 
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
 

Similar a Que es MongoDB

Similar a Que es MongoDB (20)

Wilver mongo db
Wilver mongo dbWilver mongo db
Wilver mongo db
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDB
 
Instalacion mongo db_2.4.9
Instalacion mongo db_2.4.9Instalacion mongo db_2.4.9
Instalacion mongo db_2.4.9
 
Mongo db
Mongo dbMongo db
Mongo db
 
MongoDB
MongoDBMongoDB
MongoDB
 
Manual instalacion mongodb noh puc jesus fernando
Manual instalacion mongodb noh puc jesus fernandoManual instalacion mongodb noh puc jesus fernando
Manual instalacion mongodb noh puc jesus fernando
 
Semana 3 MONGODB conceptos básicos NOSQL
Semana 3   MONGODB conceptos básicos NOSQLSemana 3   MONGODB conceptos básicos NOSQL
Semana 3 MONGODB conceptos básicos NOSQL
 
Sgbd mongodb
Sgbd   mongodbSgbd   mongodb
Sgbd mongodb
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Maual de instalacion mongodb
Maual de instalacion mongodbMaual de instalacion mongodb
Maual de instalacion mongodb
 
Mongo db
Mongo dbMongo db
Mongo db
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Presentacion 3 archivos2
Presentacion 3 archivos2Presentacion 3 archivos2
Presentacion 3 archivos2
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Base de datos raquel
Base de datos raquelBase de datos raquel
Base de datos raquel
 
Trabajo tres
Trabajo tresTrabajo tres
Trabajo tres
 
Investigación y comparativa cms
Investigación y comparativa cmsInvestigación y comparativa cms
Investigación y comparativa cms
 
Tp n°2 parte a
Tp n°2 parte aTp n°2 parte a
Tp n°2 parte a
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 

Que es MongoDB

  • 1. 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. Es de alto rendimiento y de esquema libre, está licenciado como GNU AGPL 3.0, de modo que se puede descargar gratuitamente desde su sitio web: http://www.mongodb.org/downloads Las características mas destacadas de MongoDB son su velocidad y su sencillo, pero potente, sistema de consulta de datos, en resumen es un sistema de base de datos que tiene el equilibrio entre rendimiento y funcionalidad en el que podemos realizar casi todas las consultas que utilizaríamos en un sistema relacional pero sin sacrificar el rendimiento.
  • 3. Que ventajas nos ofrece? • • • • • • • Es gratuito y es multiplataforma Es rápida y es funcional Fácil de probar Fácil de entender Escalabilidad, Replicación y Alta Disponibilidad Formación Soporte Comercial
  • 4. Es gratuito y es multiplataforma MongoDB esta disponible para descarga gratuita desde su sitio web: http://www.mongodb.org/download Esta disponible para todas las plataformas:
  • 5. Es rápido y es funcional Normalmente tenemos que sacrificar rendimiento por funcionalidad o viceversa, incluso usar dos sistemas (RDBMS + Cache) redundando los datos, MongoDB alcanza el equilibrio entre rendimiento y funcionalidad.
  • 6. Fácil de probar: Una instancia se levanta en minutos Podemos tener una instancia de mongo levantada en cuestión de minutos, solo tenemos que de bajar los ejecutables, descomprimirlos, crear un directorio de datos y arrancar la instancia con: mongod --dbpath c:data
  • 7. Fácil de probar: Drivers para multitud de lenguajes MongoDB tiene drivers mantenidos para: • C • C++ • Erlang • Haskell • Java • Javascript • .NET (C# F#, PowerShell, etc) • Node.js • Perl • PHP • Python • Ruby • Scala Ademas hay una larga lista de Drivers y Herramientas mantenidos por la Comunidad: http://www.mongodb.org/display/DOCS/Drivers
  • 8. Fácil de Entender: Conceptos Conocidos Bases de Datos Bases de Datos Tablas Colecciones Registros Documentos
  • 9. Fácil de Entender: Documento = Registro/Registros Que es un documento? > db.persons.findOne() { "_id" : ObjectId("5062b9a0fe2d230a58c5c104"), "Name" : "Antonio Gomez", "Age" : 30, "Chidls" : [ { "Name" : "Pedro Gomez", "Age" : 4 }, { "Name" : "Antonio Gomez", "Age" : 11 } ] }
  • 10. Fácil de Entender: Funcionalidades similares Consultas dinámicas (1/3): SELECT * FROM PERSONS db.persons.find() SELECT * FROM PERSONS WHERE NAME = “Antonio Gomez” db.persons.find({Name:"Antonio Gomez"}) SELECT AGE FROM PERSONS WHERE NAME = “Antonio Gomez” AND AGE = 30 db.persons.find({Name:"Antonio Gomez“, Age:30}, {Age:true})
  • 11. Fácil de Entender: Funcionalidades similares Índices: Ascendente db.persons.ensureIndex({Age: 1}) Descendente db.persons.ensureIndex({Age: -1}) Unico db.persons.ensureIndex({Name: 1}, {unique: true})
  • 12. Escalabilidad, Replicación y Alta Disponibilidad Replica Sets http://www.mongodb.org/display/DOCS/Replica+Sets Maestro / Esclavo (en desuso) http://www.mongodb.org/display/DOCS/Master+Slave Auto Sharding http://www.mongodb.org/display/DOCS/Sharding
  • 13. Fácil de Instalar: Instalación Ubuntu La instalación es realmente sencilla, simplemente hay que añadir el repositorio de 10gen e instalarlo con apt-get. Para añadir el repositorio e instalar MongoDB: 1. Importamos la key GPC publica de 10gen con: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 2. Añadimos esta linea a nuestra lista de repositories, que esta en /etc/apt/sources.list: deb http://downloadsdistro.mongodb.org/repo/ubuntu-upstart dist 10gen 3. Instalamos con: 1. sudo apt-get update 2. sudo apt-get install mongodb-10gen 4. Arrancamos el servidor con: sudo service mongodb start Listo, ya tenemos el servidor de MongoDB instalado y funcionando.
  • 14. Fácil de Instalar: Instalación Windows La instalación sobre Windows es tan simple como bajar un Zip y descomprimirlo en un directorio. Una vez tenemos los binarios de MongoDB descomprimidos en un directorio podemos instalarlo como un servicio de Windows o correrlo en la consola: 1. Correrlo en la consola: 1. Creamos una carpeta donde se alojaran los datos (ejem c:data) 2. Ejecutamos el mongod pasandole la carpeta: mongod --dbpath c:data 2. Instalarlo como servicio: 1. Creamos una carpeta donde se alojaran los datos (ejem c:data) 2. Creamos un fichero de log (ejem: cdataloglog.txt) 3. Ejecutamos el mongod pasandole la carpeta, el log y la opcion de servicio: mongod --dbpath c:data --logpath cdataloglog.txt --service 4. Buscamos el servicio Mongo DB en los servicios de windows y lo iniciamos Listo, ya tenemos el servidor de MongoDB instalado y funcionando.
  • 15. Sin Instalación: MongoDB en la nube Hay varios proveedores que te ofrecen instancias gratuitas de MongoDB en la nube de manera que puedas hacer pruebas sin necesidad de tener instalada ninguna instancia de MongoDB. • Mongolab te ofrece una instancia gratuita de hasta 500 megas: • https://mongolab.com/home • Mongohq te ofrece una instancia gratuita de hasta 512 megas: • https://www.mongohq.com Estas instancias gratuitas son mas que suficientes para las pruebas de desarrollo e incluso para pequeñas aplicaciones.
  • 16. Formación • http://education.10gen.com/ • http://groups.google.com/group/mongodb-user • irc://irc.freenode.net/#mongodb Soporte Comercial • http://www.10gen.com/
  • 17. Referencias • MongoDB: The Definitive Guide • 10gen presentations • Why MongoDB is Awesome