0% encontró este documento útil (0 votos)
84 vistas28 páginas

Instalación MongoDB

El documento detalla los requisitos mínimos y recomendados para la instalación de MongoDB, así como una guía paso a paso para su instalación y configuración. Incluye información sobre la configuración básica y avanzada de la base de datos, así como comandos generales para realizar operaciones en MongoDB. También se abordan aspectos de seguridad, rendimiento, respaldo y recuperación, así como pruebas de carga y métricas de monitoreo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas28 páginas

Instalación MongoDB

El documento detalla los requisitos mínimos y recomendados para la instalación de MongoDB, así como una guía paso a paso para su instalación y configuración. Incluye información sobre la configuración básica y avanzada de la base de datos, así como comandos generales para realizar operaciones en MongoDB. También se abordan aspectos de seguridad, rendimiento, respaldo y recuperación, así como pruebas de carga y métricas de monitoreo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Investigación

documental de
MongoDB
Administración de Base de Datos

Profesor: Mena Rojas Rodolfo

Equipo:
- Concha Olea Gamaliel – 21320975
- Damián Ortega Ángel Serafín – 21320983
- Peralta Aréchiga Daniel – 21321151

09 – 10 hrs.
Requerimientos.

Requisitos mínimos.
Hardware

• Memoria RAM: 2 GB para sistemas operativos de 32 bits y 4


GB para sistemas operativos de 64 bits.
• Procesador: 1 núcleo de 1,8 GHz o superior.
• Almacenamiento: Al menos 250 GB de espacio libre en
disco para archivos de base de datos.

Software

• Sistema Operativo: Windows 10 de 64 bits, macOS 10.12 o


superior, o Linux de 64 bits.
• Librería OpenSSL: Versión 1.0.2 o superior.

Requisitos recomendados.
Hardware

• Memoria RAM: 8 GB para sistemas operativos de 32 bits y


16 GB para sistemas operativos de 64 bits.
• Procesador: 2 núcleos de 2,4 GHz o superior.
• Almacenamiento: Al menos 500 GB de espacio libre en
disco para archivos de base de datos.

Software

• Sistema operativo: Windows 10 de 64 bits, macOS 10.13 o


superior, o Linux de 64 bits.
• Librería OpenSSL: Versión 1.1.1 o superior.
Guía de Instalación de MongoDB.

Primero, ingresaremos a la página principal de MongoDB para


poder descargar el programa, [Link] :

Una vez en la página, buscaremos y daremos click en la sección


de “Productos” y a su vez en “Community Edition”.
Ahora daremos click en el botón “Download Community”.
Y después bajaremos hasta la sección de descarga, en donde
podremos elegir que “versión” queremos descargar, para que
“plataforma” y el tipo de “paquete” que se descargara, el paquete
es recomendado que este en “msi”, para facilitar más el proceso
de descarga, una vez seleccionado lo necesario, dar click en
“Download”.

Una vez descargado el instalador, lo buscamos en descargas y le


damos click, se debería de abrir la ventana del asistente de
instalación, en donde daremos click en “Next”.
Aceptamos los términos y condiciones.
Elegimos la instalación completa en vez de la personalizada, ya
que no queremos nada en específico aparte de poder crear y
trabajar en nuestros proyectos.
Desactivamos la casilla para instalar MongoDB como un servicio,
ya que no queremos que este se inicie cada vez encendamos
nuestra computadora y gaste recursos aunque no lo estemos
ocupando.

Se recomienda dejar activada la siguiente casilla, para que


también se descargue MongoDB Compass, con el cual podremos
visualizar más fácilmente nuestras bases de datos.
Procedemos con la Instalación.
Una vez haya terminado de instalarse, se abrirá automáticamente
la aplicación de MongoDB Compass y el instalador abra acabado,
solo queda dar click en finalizar.

Ahora comprobaremos si tenemos instalado MongoDB


correctamente en nuestro sistema, abriremos una ventana de
CMD y ejecutaremos el comando: “[Link] --version”.
En la mayoría de las veces aparecerá un error, si no aparece
entonces MongoDB está listo para utilizarse, pero si aparece
seguir los siguientes pasos:

Buscar donde se encuentra instalado MongoDB, normalmente se


encuentra en el disco local dentro de la carpeta “Archivos de
programa”.
Entramos en la carpeta hasta llegar al archivo “mongod” que es el
que queremos ejecutar desde CMD, copiaremos la ruta para
llegar hasta ahí.
Una vez copiada la ruta, nos dirigimos a la Configuración
avanzada del sistema y en Variables de entorno asignamos la ruta
copiada en Path haciendo click en editar.
Y eso sería todo, volvemos a ejecutar el comando en CMD (se
recomienda abrir y cerrar el CMD antes) y esta vez debería
funcionar correctamente, mostrando la información de nuestro
MongoDB.

Ahora igualmente en el CMD ejecutamos el comando “mongod”


para que se inicie el servidor de base de datos, normalmente, una
vez iniciado el servidor, debería de quedarse corriendo la
ejecución, pero si se para y puedes localizar este error, significa
que deberemos de crear unas carpetas extras para MongoDB.
Por lo tanto, tendremos que ir al Disco local y crear una nueva
carpeta llamada “data” y dentro de esta crearemos otra carpeta
llamada “db” esto servirá para que mongo pueda almacenar
cosas en esta, una vez creadas estas carpetas, el comando
“mongod” debería funcionar correctamente.

Listo, ahora el servidor está esperando una conexión, para esto


iremos a MongoDB Compass y daremos click en “Add new
connection”
Aparecerá la ventana para iniciar la conexión, en esta no cambiar
el puerto por defecto, ya que normalmente siempre es el mismo.
Y listo, una vez hecho eso, ya podremos ingresar con tranquilidad
a nuestras bases de datos en MongoDB.
Procedimiento para configuración de MongoDB
Básica
• Configuración básica de MongoDB:
o Archivo de configuración: En MongoDB, el archivo de
configuración principal suele ser [Link], donde
puedes definir opciones importantes como los puertos, la
dirección de escucha, el directorio de datos y los niveles de
registro.
o Directorio de datos y registro: En [Link],
establece un directorio específico para almacenar los datos
(dbPath) y otro para guardar los registros (logPath). Esto
facilita la administración y permite evitar conflictos de
espacio en disco.
o Puerto y dirección de escucha: Configura el puerto en el
que MongoDB escuchará (por defecto es el 27017) y la
dirección de escucha, como [Link] si solo deseas
accesos locales, o una dirección IP específica para
accesos remotos.
• Ajustes de seguridad:
o Autenticación: Habilita la autenticación en MongoDB para
que solo los usuarios autorizados puedan acceder a la
base de datos. Esto se hace mediante la opción
[Link] en el archivo de configuración
([Link]). La autenticación se asegura creando roles
y asignando permisos específicos para las colecciones y
bases de datos.
o Cifrado: Configura el cifrado de datos en reposo (data-at-
rest) si estás manejando información sensible. MongoDB
Enterprise Edition ofrece esta funcionalidad, permitiendo
proteger los datos almacenados en disco.
o TLS/SSL: Activa TLS/SSL para proteger las
comunicaciones entre MongoDB y los clientes,
especialmente si vas a permitir conexiones remotas.

• Configuración de red y acceso remoto:


o Firewall y acceso IP: Configura las reglas de firewall para
permitir solo conexiones desde IPs autorizadas. También
puedes especificar en [Link] la IP o el rango de IPs
que podrán acceder a MongoDB.
o Configuración de replica sets (para alta disponibilidad):
Si deseas implementar un entorno de alta disponibilidad,
puedes configurar replica sets, que permiten tener varias
copias de los datos en servidores distintos.

• Parámetros de rendimiento:
o Límite de conexiones: Ajusta el número de conexiones
máximas permitidas en MongoDB. Si esperas una alta
concurrencia, puede ser útil incrementar este valor.
o Índices: Establece índices en las colecciones más
consultadas para mejorar la velocidad de lectura. Esto es
importante en entornos con muchas consultas de lectura,
como en aplicaciones de datos en tiempo real.
o Journal y Write Concern: Activa el journal para asegurar
la persistencia de las operaciones, y ajusta el Write
Concern para balancear entre rendimiento y consistencia
de datos.

• Respaldo y recuperación:
o Backups: Configura estrategias de respaldo mediante
mongodump o MongoDB Atlas (si usas la nube). Define
políticas de respaldo periódico para poder restaurar los
datos en caso de errores o desastres.
o Monitoreo: Usa herramientas como MongoDB Monitoring
Service (MMS) o implementaciones de monitoreo en tu
infraestructura para hacer seguimiento del rendimiento y el
estado de la base de datos.

• Pruebas de configuración:
o Una vez realizada la configuración, ejecuta pruebas para
asegurar que todos los aspectos (autenticación, accesos,
rendimiento y respaldo) están funcionando como se
espera. Puedes usar consultas de prueba y simulaciones
de carga para validar el rendimiento.
Avanzada
• Instalación y Configuración de MongoDB:
o Configuración de replica sets (conjunto de réplicas):
Configurar un replica set permite aprender sobre alta
disponibilidad y recuperación ante fallos. Esto se hace en
entornos distribuidos donde necesitas mantener varias
copias de los datos en servidores diferentes. Para crear un
replica set en tu equipo, puedes usar varias instancias de
mongod en puertos diferentes y configurarlas para que se
comuniquen entre sí. Agrega la opción --replSet en el
archivo de configuración [Link] y define un nombre
para el replica set.
o Sharding: MongoDB permite dividir las colecciones en
fragmentos, distribuyéndolos entre varios servidores para
mejorar el rendimiento y permitir una mayor escalabilidad.
Activa el sharding si deseas experimentar con la
distribución de datos en múltiples nodos. Esta opción es
ideal para simular bases de datos grandes. Puedes
habilitar el sharding en tu configuración con el comando
[Link]("nombre_base_datos").

• Optimización de índices:
o Usa índices compuestos y multikey para aprender sobre
optimización de consultas. Los índices compuestos
permiten crear un índice en varias claves, mientras que los
índices multikey son útiles para colecciones que
almacenan arreglos. Usa comandos como
[Link]({ "clave1": 1, "clave2": -1 }) para
crearlos y observa la diferencia en el rendimiento.
o Índices parciales y de texto: Practica con índices
parciales para almacenar solo un subconjunto de datos en
el índice y reducir el tamaño del índice, y con índices de
texto para búsquedas en campos de tipo texto. Los índices
parciales se crean con el comando
[Link]({ campo: 1 }, {
partialFilterExpression: { campo: { $exists: true }}}).
• Configuración de seguridad avanzada:
o LDAP y Active Directory: Habilita la autenticación
mediante LDAP o Active Directory si tu entorno de pruebas
tiene acceso a estos servicios, ya que es una configuración
avanzada usada en empresas.
o Control de Acceso Basado en Roles (RBAC): Configura
usuarios y roles personalizados para definir permisos
específicos en diferentes colecciones. Esto permite
experimentar con distintos niveles de acceso y protección
de datos. Para crear un rol personalizado, usa el comando
[Link]({ role: "nombreRol", privileges: [ { resource: {
db: "nombreDB", collection: "nombreCollection" }, actions: [
"find", "insert" ] } ], roles: [] }).

• Prácticas avanzadas de respaldo y recuperación:


o Implementa backups incrementales y completos mediante
mongodump y mongorestore, y experimenta con scripts
automatizados que se ejecuten en diferentes intervalos.
o Snapshots: Si trabajas en Linux y tienes soporte para LVM
(Logical Volume Management), puedes crear snapshots de
los volúmenes que contienen los datos de MongoDB. Esto
te permite probar métodos de recuperación rápida.

• Monitoreo y Métricas:
o Configura MongoDB Monitoring Service (MMS) o
Prometheus junto con Grafana para monitorear métricas
detalladas como uso de CPU, memoria, operaciones de
escritura y lectura, y latencia de consultas.
o Prueba con MongoDB Profiler, que captura estadísticas de
consultas y operaciones. Puedes activar el profiler con el
comando [Link](1) para capturar consultas
lentas y analizar posibles cuellos de botella.

• Pruebas de Carga y Rendimiento:


o Usa herramientas como JMeter o scripts de Python con
pymongo para realizar pruebas de carga y ver cómo
responde la base de datos bajo diferentes niveles de
concurrencia. Esto te permitirá identificar el impacto de las
configuraciones de índices, caché y control de
concurrencia en MongoDB.
o Experimenta con el ajuste de Write Concern y Read
Preference para optimizar la velocidad de lectura/escritura,
y ajusta los niveles de consistencia y disponibilidad según
el uso de replica sets y shards.

COMANDOS GENERALES EN MONGODB


La sintaxis de los comandos en MongoDB se estructura de manera que
puedas interactuar con la base de datos y realizar operaciones de
consulta, modificación, administración, etc. La mayoría de las
operaciones en MongoDB se hacen usando el objeto db para referirse
a la base de datos actual y el objeto collection para referirse a las
colecciones dentro de la base de datos.
Para comenzar misionaremos los comandos más usados para trabajar
en mongo.
Selección de la Base de Datos
Use <nombreBaseDeDatos>
Cambia la base de datos actual a <nombreBaseDeDatos>. Si la base
de datos no existe, MongoDB la crea cuando se inserta el primer dato.
Operaciones sobre Colecciones
a) Obtener las Colecciones
[Link]()
Devuelve un arreglo con los nombres de todas las colecciones en la
base de datos actual.

b) Acceder a una Colección


db.<nombreColección>

Accede a la colección especificada, por ejemplo:


[Link]
c) Crear una Nueva Colección
[Link]("<nombreColección>")
Crea una nueva colección con el nombre especificado.

d) Eliminar una Colección


db.<nombreColección>.drop()
Elimina la colección especificada de la base de datos.
Operaciones de Consulta (find)
Consulta Básica
db.<nombreColección>.find()
Recupera todos los documentos de la colección.

Consulta con Filtros


db.<nombreColección>.find({ campo: valor })
Devuelve documentos que coincidan con el filtro especificado. Por
ejemplo:
[Link]({ edad: 30 })

Proyección (Seleccionar Campos Específicos)


db.<nombreColección>.find({ filtro }, { campo1: 1, campo2: 1 })
Selecciona los campos que deseas mostrar (1-para incluir, 0-para
excluir). Ejemplo:
[Link]({ edad: { $gt: 20 } }, { nombre: 1, edad: 1 })
Limitar Resultados
db.<nombreColección>.find().limit(5)
Limita el número de documentos que se devuelven. En este caso,
devuelve 5 documentos.

Ordenar Resultados
db.<nombreColección>.find().sort({ campo: 1 })
Ordena los resultados por el campo especificado (1 para ascendente,
-1 para descendente). Ejemplo:
[Link]().sort({ edad: -1 })

Filtrar con Operadores


db.<nombreColección>.find({ campo: { $operador: valor } })
Usando operadores de comparación como $gt, $lt, $eq, etc. Ejemplo:
[Link]({ edad: { $gt: 25 } })

Operaciones de Inserción
Insertar un Documento
db.<nombreColección>.insertOne({ campo1: valor1, campo2: valor2 })
Inserta un solo documento en la colección especificada. Ejemplo:
[Link]({ nombre: "Juan", edad: 28, ciudad: "Madrid" })

Insertar Varios Documentos


db.<nombreColección>.insertMany([{ campo1: valor1 }, { campo2:
valor2 }])
Inserta varios documentos a la vez. Ejemplo:
[Link]([{ nombre: "Ana", edad: 25 }, { nombre:
"Pedro", edad: 30 }])

5. Operaciones de Actualización
Actualizar un Documento
db.<nombreColección>.updateOne({ filtro }, { $set: { campo:
nuevoValor } })
Actualiza un solo documento que coincida con el filtro. Ejemplo:
[Link]({ nombre: "Juan" }, { $set: { edad: 29 } })

b) Actualizar Varios Documentos


db.<nombreColección>.updateMany({ filtro }, { $set: { campo:
nuevoValor } })
Actualiza varios documentos que coincidan con el filtro. Ejemplo:
[Link]({ ciudad: "Madrid" }, { $set: { estado: "activo"
} })

c) Operador de Modificación $inc (Incremento)


db.<nombreColección>.updateOne({ filtro }, { $inc: { campo:
incremento } })
Incrementa un campo numérico. Ejemplo:
[Link]({ nombre: "Juan" }, { $inc: { edad: 1 } })
Operaciones de Eliminación
Eliminar un Documento
db.<nombreColección>.deleteOne({ filtro })
Elimina un solo documento que coincida con el filtro. Ejemplo:
[Link]({ nombre: "Juan" })

Eliminar Varios Documentos


db.<nombreColección>.deleteMany({ filtro })
Elimina todos los documentos que coincidan con el filtro. Ejemplo:
[Link]({ edad: { $lt: 30 } })

Comandos de Administración
Mostrar Estadísticas de la Base de Datos
[Link]()
Muestra las estadísticas de la base de datos actual.

Mostrar Estadísticas de una Colección


db.<nombreColección>.stats()
Muestra las estadísticas de la colección especificada.

Crear un Índice
db.<nombreColección>.createIndex({ campo: 1 })
Crea un índice en el campo especificado (1 para ascendente, -1 para
descendente). Ejemplo:
[Link]({ nombre: 1 })
Eliminar un Índice
db.<nombreColección>.dropIndex({ campo: 1 })
Elimina un índice específico de la colección.
Comandos de Autenticación y Usuarios
Crear un Usuario
[Link]({ user: "<nombreUsuario>", pwd: "<contraseña>", roles:
[{ role: "<rol>", db: "<nombreBaseDeDatos>" }] })
Crea un nuevo usuario con roles especificados.

Modificar un Usuario
[Link]("<nombreUsuario>", { pwd: "<nuevaContraseña>" })
Modifica un usuario existente.

Eliminar un Usuario
[Link]("<nombreUsuario>")
Elimina un usuario de la base de datos.

Operaciones de Agregación
Pipline de Agregación
db.<nombreColección>.aggregate([ { $operador: { campo: valor } }, {
$operador: { campo: valor } } ])
Ejecuta un pipeline de agregación. Ejemplo de filtrado y agrupación:
[Link]([
{ $match: { estado: "vendido" } },
{ $group: { _id: "$categoria", totalVentas: { $sum: "$monto" } }

También podría gustarte