Documentos de Académico
Documentos de Profesional
Documentos de Cultura
it happen
Introducción MongoDB:
eae.es
Para modificar título del PPT, cambiar pie de página
Índice
01. Introducción
02. Términos Básicos
03. Características Pricipales
04. ¿Por qué usar MongoDB?
05. Instalación y uso
06. Consola y MongoDB Atlas
2
1 Introducción
MongoDB
• Cada vez más información del cual hay que sacar valor y ofrecer
mejores soluciones
• La rapidez en el almacenado y en el análisis de esa información es
muy importante.
• Muchos de los datos que hoy surgen no son estructurados, por lo
que necesitamos bases de datos capaces de almacenarlos y
procesarlos de la forma más rápida posible.
• Es en este ámbito en el que surge MongoDB.
3
1 Introducción
MongoDB
4
1 Introducción
MongoDB
Fuente DB-Engines.com
5
1 Introducción
MongoDB
Fuente DB-Engines.com
6
1 Introducción
MongoDB
Fuente DB-Engines.com
7
1 Introducción
MongoDB
Fuente DB-Engines.com
8
1 Introducción
MongoDB
9
1 Introducción
MongoDB
10
1 Introducción
MongoDB
11
Para modificar título del PPT, cambiar pie de página
2. Términos básicos
eae.es
12
2 Términos Básicos
MongoDB
• JSON-BSON
• Documento
• Colección
• Base de datos
• Drivers
13
2 Términos Básicos
JSON
14
2 Términos Básicos
JSON
15
2 Términos Básicos
JSON
• Ficheros JSON son mas pequenos que los bien disenados de XML
• XML (98 caracteres)
<user>
<firstname>Ryan</firstname>
<lastname>Mitchell</lastname>
<username>Kludgist</username>
</user>
• JSON (73 caracteres)
{"user":{"firstname":"Ryan","lastname":"Mitchell","username":"Klu
dgist"}}
16
2 Términos Básicos
JSON
{
{"Fruteria":"Frutería Perales"},
{"Genero": [
{"Fruta": [
{"Nombre":"Manzana","Cantidad":10},
{"Nombre":"Pera","Cantidad":20},
{"Nombre":"Naranja","Cantidad":30}
] },
{"Verdura: [
{"Nombre":"Lechuga","Cantidad":80},
{"Nombre":"Tomate","Cantidad":15},
{"Nombre":"Pepino","Cantidad":50}
] }
] }
}
17
2 Términos Básicos
• Números
• Cadenas
• Booleanos
• null: Representan el valor nulo.
• Array: Representa una lista ["juan","pedro","jacinto"]
• Objetos: Son colecciones no ordenadas de pares de la forma
<nombre>:<valor> separados por comas y puestas entre llaves
18
2 Términos Básicos
19
2 Términos Básicos
20
2 Términos Básicos
BSON
21
2 Términos Básicos
BSON
22
2 Términos Básicos
Tipos de datos BSON - ObjectId
• Es pequeño, casi único, rápido de crear y ordenado.
• Numéricos:
o Enteros de 4 u 8 bytes, y reales de 8 bytes. Un valor numérico entero
por defecto utiliza 4 bytes, mientras que un valor numérico real por
defecto utiliza el tipo Double de 8 bytes.
o Para que un entero utilice 8 bytes hay que indicar explícitamente
NumberLong().
• String:
o utiliza UTF-8, lo que permite almacenar todo clase de
caracteres internacionales. Cualquier valor encerrado entre
comillas es por defecto un String.
• Timestamp:
o consta de 64 bits. 32 para los segundos desde el 1 de enero
de 1970 y 32 para un ordinal que distingue operaciones
dentro de un mismo segundo.
2 Términos Básicos
• Datetime
o (Date en MongoDB): consta de 64 bits, que representan los milisegundos
desde el 1 de enero de 1970.
o Los números negativos son fechas anteriores. Con esto tenemos un rango
de unos 292 millones de años antes y después de la citada fecha.
o En la consola para utilizar el día y la hora actual podemos utilizar new
Date() ó ISODate().
• BinData:
o es un array de datos binarios que puede ser utilizado para guardar el
contenido de ficheros, por ejemplo.
o Se suele utilizar con los drivers, no desde la consola de MongoDB.
2 Términos Básicos
GridFS.
• En MongoDB, un documento BSON no puede ser superior
a 16 MB
Estructura:
2 Términos Básicos
Documento
• El valor de un campo puede ser cualquiera de los tipos de datos de
BSON incluyendo otros documentos, arrays o arrays de documentos.
• Case-sensitive
Documento
• Todos los documentos tienen siempre una clave _id
• Si no se especifica, se crea automáticamente
• El _id generado automáticamente es del tipo
ObjectId de BSON
o Único e inmutable
o Automáticamente se crea un índice por _id
2 Términos Básicos
Colección
Los documentos se almacenan en colecciones
2 Términos Básicos
Base de datos
• Las colecciones se agrupan en una base de datos
Drivers
• Para que cualquier aplicación se comunique
adecuadamente con MongoDB utilizamos un driver.
Drivers
Drivers disponibles para los lenguajes de programación
más usados
Para modificar título del PPT, cambiar pie de página
3 Características Principales
eae.es
35
3 Características Principales
Orientada al documento
• Una base de datos documental o base de datos orientada a
documentos está constituida por un conjunto de programas que
almacenan, recuperan y gestionan datos de documentos o datos de
algún modo estructurados o semiestructurados.
Orientada al documento
3 Características Principales
3. Características Principales
Alto rendimiento
• Indexación:
o cualquier campo en un documento de
MongoDB puede ser indexado y es posible
realizar índices secundarios, similar a las
bases de datos relacionales.
• Escalado horizontal.
o Proceso automático por el cuál combina
equipos/servidores con características
similares para que trabajen coordinadamente
y puedan repartirse el trabajo (balanceo de
carga)
3 Características Principales
Alto rendimiento
Alta disponibilidad
• Asegurar la disponibilidad de la aplicación frente a distintos tipos de
fallos, recuperación de desastres, mantenimiento-actualizaciones sin
corte del servicio
Alta disponibilidad
• Un replica set en MongoDB está
compuesto por 2 tipos principales
de miembros:
• instancias primarias
• instancias secundarias
eae.es
43
4. ¿Por qué usar mongoDB?
• Aplicaciones
• Waze. Aplicación de navegación con unos 10
millones de usuarios en su pico de máximo
uso
• Tinder
• Clash of Clans
• Empresas
• Metlife
• BOSCH
• The Weather Channel
Para modificar título del PPT, cambiar pie de página
5 Instalación y uso
eae.es
46
5. Instalación
****************************************************************
******************
ERROR: dbpath (/data/db/) does not exist. Create this directory or
give existing directory in --dbpath. See
http://dochub.mongodb.org/core/startingandstoppingmongo
****************************************************************
*******************
5. Instalación
6. Consola y MongoDB
Compass
eae.es
50
6. Consola
• Comando mongod. Esto iniciará el servicio de MongoDB, como
esta configurada la varible path puedo ejecutarlo directamente
desde cualquier directorio.
• Si se necesita ayuda para ver las opciones que se pueden pasar para
arrancar el servicio se puede introducir mongod --help
apareciendo un listado con todas las opciones y propiedades que
tiene.
6. Consola
"It looks like you are trying to access MongoDB over HTTP on the native driver port."
• Una vez que tenemos el servicio MongoDB iniciado, podemos conectarnos a él usando el
comando:
mongo
• Cuando arrancamos la consola de esta manera y sin parámetros, la misma se conecta a una
base de datos llamada “test” en la que podemos hacer nuestras primeras pruebas
6. Consola
mongo maquina:puerto/bbdd
Listando colecciones
• Una vez estamos dentro de una base de datos puede interesar
conocer las colecciones que lo componen
>show collections
Consola y Javascript
• Desde la consola podemos realizar operaciones contra el servidor.
• Interpreta Javascript.
• Hasta la version 2.2 de mongodb se usaba el motor de javascript
Spider Monkey y a partir de 2.4 se utiliza el motor de javascript de
Google V8.
6. Consola
Carga de ficheros
• Se pueden cargar archivos javascript con declaración de variables, funciones
o colecciones.
>mongo localhost:37017/curso archivo.js --> Carga el archivo js en el
servidor indicado
Importar datos
• La importación de datos en una base de datos se realiza con la sentencia
mongoimport
• Ejemplo de uso
>mongoimport --host localhost --db curso --collection lecturer --
type json --file "c:\mongodb\data\db\datosImportar.json "
We make
it happen
FIN UNIDAD
eae.es