Publicado el 22 de Febrero del 2022

Cuando hablamos de bases de datos tendemos a pensar en SQL y el modelo de bases de datos relacional, pero existen alternativas como los modelos no relacionales donde MongoDB es quizá el ejemplo más destacado.

MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto y escrito en C++, que en lugar de guardar los datos en tablas lo hace en estructuras de datos BSON (similar a JSON) con un esquema dinámico. Al ser un proyecto de código abierto, sus binarios están disponibles para los sistemas operativos Windows, GNU/Linux, OS X y Solaris y es usado en múltiples proyectos o implementaciones en empresas como MTV Network, Craigslist, BCI o Foursquare.

¿Cómo funciona MongoDB?

MongoDB es una base de datos orientada a documentos. Esto quiere decir que en lugar de guardar los datos en registros, guarda los datos en documentos. Estos documentos son almacenados en BSON, que es una representación binaria de JSON.

Imaginemos que tenemos una colección a la que llamamos Personas. Un documento podría almacenarse de la siguiente manera:

Como se puede ver el documento es exactamente igual a lo que conocemos de un documento JSON.

Carecterísticas de Mongo DB

características principales:

  • Consultas ad hoc: Con MongoDb podemos realizar todo tipo de consultas. Podemos hacer búsqueda por campos, consultas de rangos y expresiones regulares. 
  • Indexación: El concepto de índices en MongoDB es similar al empleado en bases de datos relacionales, con la diferencia de que cualquier campo documentado puede ser indexado y añadir múltiples índices secundarios.
  • Replicación. Del mismo modo, la replicación es un proceso básico en la gestión de bases de datos. MongoDB soporta el tipo de replicación primario-secundario. 
  • Balanceo de carga. MongoDB tiene la capacidad de ejecutarse de manera simultánea en múltiples servidores, ofreciendo un balanceo de carga o servicio de replicación de datos, de modo que podemos mantener el sistema funcionando en caso de un fallo del hardware.
  • Almacenamiento de archivos. Aprovechando la capacidad de MongoDB para el balanceo de carga y la replicación de datos, Mongo puede ser utilizado también como un sistema de archivos. Esta funcionalidad, llamada GridFS e incluida en la distribución oficial, permite manipular archivos y contenido.
  • Ejecución de JavaScript del lado del servidor. MongoDB tiene la capacidad de realizar consultas utilizando JavaScript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutadas.

¿Porqué usar MongoDB?

Como desarrollador, la principal razón para usar MongoDB reside en su velocidad y su capacidad para añadir en una misma colección registros con diferentes campos de manera mucho más flexible que una base de datos basada en un modelo relacional.

Al estar escrito en C++ es multiplataforma e instalarlo en Ubuntu o Windows es relativamente fácil. De hecho, cómo instalar MongoDB en Ubuntu es tan fácil como correr la instrucción sudo apt install -y mongodb desde el terminal, por lo que no hay excusa posible para no darle una oportunidad.

1
Software de Monitoreo Solarwinds

¿Por qué es importante el monitoreo de redes en una empresa?

16 de Enero del 2023

Toma decisiones en tiempo real, optimiza los procesos y anticípate a posibles contratiempos.

LEER MÁS chevron_right
Licencias Solarwinds

Licencias Solarwinds

14 de Octubre del 2022

Solarwinds, diseña software no solo para que sea fácil de probar y de usar, sino también de comprar mediante opciones de licencias flexibles que cumplen las necesidades específicas de su negocio.

LEER MÁS chevron_right
Hybrid Cloud Observability Solarwinds

Principales razones por que los clientes se están moviendo a la observabilidad de la nube híbrida de SolarWinds

09 de Mayo del 2023

Sería útil armar una compilación de lo que los clientes nos han dicho como sus principales razones para hacer el cambio a HCO

LEER MÁS chevron_right