Blog IDA Chile | Estrategia para el éxito de tu negocio

MongoDB, una solución NoSQL

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:

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.