Desarrollo web

MongoDB, una solución NoSQL

Desarrollo Web 3 min. de lectura

Las infraestructuras tecnológicas son una capa de cada uno de nuestros proyectos. De ellas, la más importante, es la Base de Datos, la que ha debido adaptarse a las necesidades que han surgido en los tiempos recientes.

MongoDB es una plataforma que busca revolucionar la manera en que trabajamos con las bases de datos (BD).

Un sistema informático no solo procesa información, también la almacena. Esta tarea le corresponde por lo general a las Base de Datos (BD). Durante mucho tiempo, las BD Relacionales, aquellas que utilizan tablas y estructuras fijas, representaban una norma a la hora de crear la arquitectura de un sistema.

Sin embargo, el advenimiento de nuevas tecnologías y aplicaciones con un alto tráfico de datos, ha hecho necesario que las BD se adapten a las demandas más actuales, haciendo que se popularicen las BD No Relacionales, conocidas también como NoSQL.

Una nueva forma de almacenamiento de información

Las BD NoSQL no utilizan el Structured Query Language como lenguaje principal de consultas, por lo que no requieren estructuras fijas, haciéndolas bastante flexibles. Esta flexibilidad permite además que sean escalables,ya que no limitan el desarrollo de nuevas características.

Por otra parte, al desechar las queries relacionales, las BD NoSQL permiten tener un alto rendimiento, ya que las consultas suelen estar optimizadas a través de patrones de acceso.

MongoDB

Del inglés humongous (enorme) y database (BD), Mongo es una BD NoSQL Open Source, que utiliza colecciones y documentos para guardar la información. Una colección (también conocida como conjunto), es una agrupación de documentos que representan una entidad clave dentro del sistema.

Por ejemplo, si tuviésemos la colección Personas, se podría ver algo así:

{

  Nombre: "Sebastián",

  Apellido: "Bach",

  Edad: 21,

  Talentos: ["piano","violín","viola"],

  Amigos: [

   {

     Nombre:"Christopher",

     Edad:22

   },

   {

     Nombre:"Lorenzo",

     Edad:20

   }

  ]

}

{

  Nombre: "Federico",

  Ocupación: "Compositor",

  Amigos: 1849

}

En este ejemplo, se pueden ver 2 documentos distintos, que siguen esquemas diferentes, de lo cual podemos hacer notar:

  • Los campos Apellido, Edad y Talentos, no existen en el segundo documento. Así como el campo Ocupación no existe en el primero. Esto es totalmente válido.
  • El campo Amigos está presente en ambos documentos, pero en uno de ellos es un array, mientras que en el otro es un int. Esto también es válido.

En Mongo, no existen estructuras fijas dentro de los documentos, haciendo que estos sean flexibles y se adapten a lo que requiera el sistema.

No es una “bala de plata”

Si bien MongoDB tiene una serie de ventajas, no significa que venga a reemplazar a las BD Relacionales por completo. MongoDB y otras BD NoSQL, son perfectas para sistemas que van a soportar una cantidad enorme de datos y que deben ser accesibles rápidamente. Como ejemplo, tenemos a la ciudad de Chicago, que utiliza MongoDB para su herramienta Windygrid. Una aplicación que permite leer toda la data de todos los departamentos gubernamentales de Chicago en tiempo real.

Además, a pesar de que sectores como el bancario aún están lejos de traspasarse a sistemas NoSQL, esto no evita que grandes empresas estén haciendo el salto hacia las BD No Relacionales.

La evolución de los datos

Las BD NoSQL han constituido un paso importante para la evolución de las aplicaciones con alto tráfico de datos, siendo MongoDB una de las herramientas más robustas en el mercado. 

Esta herramienta, poco a poco, ha ido tomando espacios que antes eran reservados para BD estrictamente SQL; por lo que cualquier desarrollador, al día de hoy, debería tener nociones de cómo funciona esta tecnología.

Acerca del Autor

Soy desarrollador web Full Stack. Me considero atento a los detalles, soy constante y me gusta trabajar con un código pulcro. Comprendo y valoro la importancia del trabajo en equipo, por lo que sé integrarme bien en grupos de trabajo ya establecidos.

Agregar un comentario