MongoDB es una base de datos orientada a documentos gratuita y de código abierto. A diferencia de las bases de datos relacionales, que almacenan datos en tablas y requieren esquemas predefinidos antes de agregar nuevos datos, los documentos en MongoDB son colecciones desordenadas de pares clave/valor con esquemas dinámicos (es decir, sin esquema fijo). Como tal, el mismo campo puede contener un número entero, una cadena o un objeto; solo depende de lo que necesite para su aplicación. Además, debido a su naturaleza dinámica, MongoDB funciona muy bien para almacenar objetos JSON, lo que la hace excelente como base de datos RESTful.
Si bien MongoDB admite índices secundarios, no son necesarios para todos los escenarios. Esto significa que las lecturas pueden ser un poco más lentas con MongoDB que con algunas bases de datos relacionales (porque necesita leer más campos del disco), pero las escrituras son generalmente más rápidas porque no hay mantenimiento de índice involucrado.
MongoDB es útil para cualquier usuario de Linux que necesite almacenar y administrar datos (relacionales y no estructurados), especialmente cuando necesita escalabilidad o alta disponibilidad. La razón principal por la que MongoDB está creciendo en popularidad es que brinda la capacidad de almacenar documentos JSON, lo que lo convierte en una excelente opción para las aplicaciones web híbridas que utilizan tanto los clientes móviles (por ejemplo, iPhone) como los navegadores de escritorio tradicionales (por ejemplo, Firefox). . Debido a que estas aplicaciones atienden a múltiples tipos de clientes con diferentes requisitos de almacenamiento de datos, MongoDB puede ser una opción ideal porque su diseño sin esquema admite la naturaleza dinámica de los datos en estas aplicaciones web modernas.
Otra área donde brilla MongoDB son los sitios de redes sociales como Twitter, Facebook y LinkedIn. Estos sitios ofrecen cada vez más API REST para almacenar sus conexiones sociales (p. ej., amigos, me gusta) como documentos JSON, lo que los convierte también en una excelente opción para MongoDB.
Los proveedores de computación en la nube también utilizan MongoDB, como EC2 de Amazon y Heroku, porque su escalabilidad y alta disponibilidad satisfacen sus necesidades para poder manejar datos masivos que pueden cambiar sobre la marcha.
En esta guía, le mostraremos cómo configurar su propia base de datos MongoDB en un sistema operativo Rocky Linux 8. Después de instalar el software, crearemos una base de datos y realizaremos algunas tareas básicas de administración.
Requisito previo
Para seguir esta guía, debe tener un Rocky Linux 8 en ejecución y debe iniciar sesión como usuario no root con privilegios sudo.
Actualización del sistema
Antes de instalar cualquier software, debe ejecutar el siguiente comando para asegurarse de que todos los paquetes de su sistema estén actualizados:
sudo dnf -y update
Reinicie el servidor para que los cambios del sistema surtan efecto y luego vuelva a iniciar sesión con el mismo usuario no root.
Agregar el Repositorio MongoDB
Primero se debe agregar el repositorio de MongoDB antes de instalar MongoDB en su sistema. Tiene dos opciones:puede descargar e instalar la versión CE del programa, que tiene capacidades limitadas pero es gratuita para uso personal; o compre acceso comercial a funciones más potentes.
Para instalar el repositorio de MongoDB en Rocky Linux 8, ejecute el siguiente comando.
sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo<<EOF [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOF
Instalación de MongoDB en Rocky Linux 8
Ahora que el repositorio de MongoDB está configurado, puede instalar MongoDB 5.0 ejecutando el siguiente comando.
sudo dnf install mongodb-org
Una vez completada la instalación, inicie y habilite el servicio MongoDB para el arranque automático cuando se reinicie el sistema.
sudo systemctl start mongod sudo systemctl enable mongod
Para verificar la versión de MongoDB, ejecute el siguiente comando:
mongo --version
Para verificar si el servicio MongoDB se está ejecutando, ejecute el siguiente comando:
sudo systemctl status mongod
Debería ver un resultado similar al siguiente.
Para verificar si MongoDB ha ejecutado la instalación adecuada, ejecute el siguiente comando. El demonio MongoDB debería estar listo y esperando conexiones, como se muestra en una línea en la salida.
Prueba de la instalación de MongoDB
Una vez que se haya completado el proceso de instalación, ahora puede comenzar a usar MongoDB. De forma predeterminada, MongoDB escucha en el puerto 27017 en la dirección IP de su host local. Como tal, se espera que todos los comandos se ejecuten en el host local.
Con fines de demostración, le mostraremos cómo conectarse al shell de MongoDB e insertar registros (es decir, documentos) en una colección de prueba (es decir, una tabla). Por supuesto, antes de hacerlo, debe asegurarse de que el demonio MongoDB se esté ejecutando en su servidor con fines de prueba.
Puede iniciar sesión en el shell de MongoDB con el siguiente comando.
mongo
Este comando lo iniciará en el shell de MongoDB sin configuración de autenticación.
En el shell de MongoDB, puede ejecutar cualquier comando de administración de base de datos. MongoDB proporciona una base de datos de muestra llamada prueba, que es un buen lugar para comenzar. Para obtener una lista de todas las bases de datos disponibles en el servidor, ejecute el siguiente comando en el shell de MongoDB.
db
Para crear una nueva base de datos en MongoDB, ejecute el siguiente comando.
use DATABASE_NAME
Donde DATABASE_NAME es el nombre de la base de datos que desea crear. Si la base de datos con ese nombre ya existe, este comando cambia a la base de datos actual. Si la base de datos no existe, se creará automáticamente. Si el comando tiene éxito, devolverá el mensaje "Cambiado a db DATABASE_NAME".
Creemos una base de datos llamada linux_mongo
use linux_mongo
Una vez que haya creado la base de datos, puede insertar registros en la base de datos (colección) ejecutando el siguiente comando.
db.linux.insertOne( { "ubuntu" : "20.04", "rocky linux" : "8", "debian" : "11", "alma linux" : "8", } )
Pulsa Intro para insertar los datos.
Para enumerar las colecciones de bases de datos, simplemente escriba el comando show collections en el shell de MongoDB.
show collections
El resultado será similar a este.
Para mostrar todo el contenido de las colecciones o los datos de una colección, use:
db.NAME-OF-COLLECTION.find().pretty()
El método pretty() en el universo Mongo imprimirá bastante los resultados, especialmente buenos para que los humanos los lean. Mostremos todos los datos de la colección de Linux que creamos anteriormente.
db.linux.find().pretty()
El resultado será similar a este.
Para salir del shell de MongoDB, escriba el siguiente comando en el indicador.
exit
Conclusión
En este tutorial, le mostramos cómo instalar y configurar MongoDB en un sistema Rocky Linux. También le mostramos algunos comandos básicos para mostrarle cómo conectarse al shell de MongoDB, mostrando todas las bases de datos y colecciones que existen dentro de su instancia de MongoDB.
Esta guía es solo una guía básica de instalación. Para obtener más información, consulte la documentación de MongoDB que está disponible aquí.