LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

MongoDB: Una Alternativa NoSQL de Alto Rendimiento

MongoDB se destaca como una base de datos NoSQL de código abierto centrada en documentos, desafiando las convenciones de las bases de datos relacionales tradicionales. El término "NoSQL" (No sólo SQL) refleja su enfoque innovador para el almacenamiento y manipulación de datos, en contraste con las bases de datos SQL como MySQL u Oracle.

A diferencia de las bases de datos relacionales que emplean SQL, MongoDB almacena datos en un formato similar a JSON, conocido como BSON (JSON binario). Esta elección no solo simplifica el manejo de datos, sino que también reduce significativamente el tamaño de los documentos. Al adoptar el modelo de pares clave-valor, MongoDB logra un rendimiento excepcional en operaciones de lectura y consulta.

Es crucial destacar que MongoDB no sacrifica la integridad de los datos. A pesar de su enfoque NoSQL, la base de datos soporta transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad). La atomicidad a nivel de base de datos garantiza operaciones atómicas, como la escritura simultánea de varios documentos en una colección.

Entre las ventajas distintivas de MongoDB se encuentra una configuración de replicación más sencilla en comparación con las bases de datos relacionales. Su popularidad actual en el mercado de bases de datos NoSQL se atribuye a la riqueza de características, flexibilidad y facilidad de uso. Inspirado en bases de datos populares como Cassandra y Redis, MongoDB ha ganado terreno como una opción confiable.

¿Cómo se instala MongoDB en una máquina Linux? La respuesta es directa y accesible. Una de las formas más sencillas es utilizar un gestor de paquetes, y en este caso, nos centraremos en Dnf para instalar MongoDB en una máquina AlmaLinux 9.

Requisitos:

Este tutorial asume que tienes AlmaLinux 9 ya instalado y funcionando bien en tu máquina, y que tienes acceso de root a esta máquina.

Paso 1. Actualizar tu sistema:

En primer lugar, tienes que actualizar tu sistema con las últimas listas de paquetes mediante el comando te dnf, como se muestra a continuación.

sudo dnf -y update

Si ya lo has hecho recientemente, puedes saltarte este paso.

Paso 2. Instalar el repositorio de MongoDB

Los repositorios por defecto de AlmaLinux no proporcionan el paquete MongoDB, por lo que tenemos que añadir un repositorio personalizado con el fin de obtener la última versión soportada de MongoDB. Para ello, añadiremos el repositorio de MongoDB del desarrollador, como se muestra a continuación. Utilce su editor favorito, por defecto viene "nano" y "vim", yo prefiero "joe", así pués, como por por defecto es "nano" usamos nano.

sudo nano /etc/yum.repos.d/mongodb.repo

Después de abrir este archivo copia y pega las siguientes líneas en él y guárdalo de nuevo en el archivo utilizando las teclas CTRL+X, Y y ENTER.

[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc

Ahora, reconstruye la caché del repositorio del sistema utilizando el comando dnf como se muestra a continuación.

sudo dnf update

Para comprobar si el repositorio está bien configurado o no, puedes utilizar el siguiente comando.

sudo dnf repolist

Deberías ver algo así.

Para comprobar si el repositorio Mongodb está habilitado o no, puedes utilizar el siguiente comando.

sudo dnf repolist enabled

Deberías ver algo así.

Paso 3. Instalar MongoDB

Después de añadir el repositorio requerido a nuestro sistema AlmaLinux, podemos seguir adelante e instalar el MongoDB utilizando el siguiente comando.

sudo dnf -y install mongodb-org

Una vez completada la instalación de MongoDB, comenzará a ejecutarse automáticamente en tu sistema. Puedes comprobarlo escribiendo el siguiente comando en tu terminal.

sudo systemctl status mongod

Deberías ver algo así.

Si no se inicia automáticamente, puedes iniciarlo utilizando el siguiente comando.

sudo systemctl start mongod

Para activar el inicio automático del servicio MongoDB en el arranque del sistema, ejecuta el siguiente comando.

sudo systemctl enable mongod

Paso 4. Probar la instalación de MongoDB

Ahora, la parte más emocionante es probar nuestra instalación de MongoDB. Para ello, crearemos un nuevo usuario administrativo para nuestra instancia de MongoDB.

En primer lugar, entra en el shell de MongoDB con el siguiente comando.

mongosh

Ahora entrarás con el prompt mongo >.

Para crear un nuevo usuario con privilegios para gestionar la base de datos, tendremos que conectarnos primero a la base de datos del administrador. Para ello, ejecuta el siguiente comando en el prompt.

use admin

Y a continuación, ejecuta el siguiente comando para crear un nuevo usuario con nombre howtoforge y contraseña howtoforge123, y que tenga el rol userAdminAnyDatabase. Puedes crear el nombre de usuario y la contraseña que quieras. No olvides establecer una contraseña segura para los usuarios.

db.createUser(
  {
    user: "linuxparty",
    pwd: "linuxparty123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Pulsa Intro para completar el proceso de creación de usuarios. Deberías ver algo así.

Para comprobar tu nuevo usuario, ejecuta el siguiente comando.

show users

Este comando debería devolver una lista de los usuarios que existen actualmente en el sistema, incluido el usuario recién creado, como se muestra a continuación.

Conclusión

En esta guía, hemos instalado MongoDB en un sistema AlmaLinux 9. Ahora puedes empezar a crear bases de datos y añadirles datos según tus necesidades. Si tienes alguna pregunta o sugerencia, no dudes en dejar un comentario abajo.

Algunos ejemplos:

El ejemplo proporcionado crea un nuevo usuario llamado "linuxparty" en la base de datos "admin" con el rol "userAdminAnyDatabase", lo que le otorga la capacidad de administrar usuarios en todas las bases de datos. A continuación, te mostraré varios ejemplos adicionales de comandos relacionados con la administración de usuarios en MongoDB, todos utilizando la base de datos "admin":

Listar Todos los Usuarios en la Base de Datos "admin":

use admin db.getUsers()

Este comando mostrará una lista de todos los usuarios en la base de datos "admin", incluido el recién creado "linuxparty".

Cambiar la Contraseña de un Usuario Existente:

use admin db.changeUserPassword("linuxparty", "nueva_contrasena")

Este comando cambiará la contraseña del usuario "linuxparty" a "nueva_contrasena".

Otorgar Roles Adicionales a un Usuario:

use admin db.grantRolesToUser("linuxparty", [ { role: "readWrite", db: "mi_base_de_datos" } ])

Este comando otorgará al usuario "linuxparty" el rol "readWrite" en la base de datos específica "mi_base_de_datos".

Revocar Roles de un Usuario:

use admin db.revokeRolesFromUser("linuxparty", [ { role: "readWrite", db: "mi_base_de_datos" } ])

Este comando revocará el rol "readWrite" del usuario "linuxparty" en la base de datos "mi_base_de_datos".

Eliminar un Usuario:

use admin db.dropUser("linuxparty")

Este comando eliminará el usuario "linuxparty" de la base de datos "admin".

Recuerda adaptar estos comandos según tus necesidades específicas. Además, ten en cuenta que estos son ejemplos básicos y que la sintaxis exacta puede variar según la versión de MongoDB que estés utilizando.

Algunos ejemplos:

En MongoDB, la terminología cambia un poco. En lugar de "tablas", tenemos "colecciones", y en lugar de "campos", tenemos "documentos". A continuación, te proporcionaré algunos ejemplos de comandos que puedes ejecutar desde la terminal de MongoDB para realizar varias operaciones:

Conexión a MongoDB:

Para conectarte a MongoDB desde la terminal, utiliza el siguiente comando:

mongo [o también mongosh]

Mostrar Todas las Bases de Datos:

show dbs

Este comando mostrará todas las bases de datos disponibles.

Usar una Base de Datos Específica:

use nombre_de_la_base_de_datos

Este comando te permite seleccionar una base de datos específica con la que deseas trabajar.

Mostrar Colecciones en una Base de Datos:

show collections

Una vez que hayas seleccionado una base de datos, puedes ver todas las colecciones dentro de esa base de datos.

Mostrar Documentos en una Colección:

db.nombre_de_la_coleccion.find()

Este comando mostrará todos los documentos en la colección especificada.

Mostrar Documentos con Condiciones:

db.nombre_de_la_coleccion.find({ campo: valor })

Puedes filtrar los documentos según ciertos criterios utilizando la sintaxis de consulta. Por ejemplo, si tienes una colección de usuarios y deseas mostrar solo aquellos con el campo "edad" igual a 25:

db.usuarios.find({ edad: 25 })

Mostrar Campos Específicos de Documentos:

db.nombre_de_la_coleccion.find({}, { campo1: 1, campo2: 1, _id: 0 })

Este comando mostrará solo los campos especificados de los documentos en la colección. En este ejemplo, se mostrarán los campos "campo1" y "campo2", excluyendo el campo "_id".

Estos son solo algunos ejemplos básicos de comandos que puedes usar en la terminal de MongoDB para administrar bases de datos, colecciones y documentos. Ten en cuenta que la sintaxis puede variar ligeramente según la versión de MongoDB que estés utilizando.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías