Por qué usamos dos bases de datos en metricview360

¿Por qué usamos dos bases de datos en MetricView360 y MetricFlow?
Una decisión tecnológica pensada para manejar más de 5.000 unidades en tiempo real
En el corazón de nuestros productos MetricView360 y MetricFlow, hay una decisión de arquitectura que quizás pase desapercibida para muchos usuarios, pero que marca una gran diferencia en rendimiento, escalabilidad y confiabilidad: el uso combinado de dos tipos distintos de bases de datos, cada una con un rol claro y bien definido.
¿Qué significa usar dos bases de datos distintas?
Cuando desarrollamos nuestras plataformas, lo hicimos con una premisa en mente: no todas las bases de datos están hechas para lo mismo. Algunas brillan cuando se trata de guardar relaciones entre usuarios, configuraciones y procesos (como los que gestiona una plataforma web), mientras que otras están diseñadas para manejar enormes volúmenes de datos que cambian cada pocos segundos, como las lecturas eléctricas de miles de medidores.
Por eso, adoptamos una arquitectura especializada por tipo de dato:
🚀 MariaDB, una base de datos relacional que usamos con Django ORM, para toda la información estructurada de la plataforma: usuarios, edificios, unidades, parámetros de facturación, etc.
🚀 MongoDB, una base de datos documental, para almacenar las millones de lecturas eléctricas que llegan minuto a minuto desde MetricFlow.
¿Por qué dividir?
Cuando estás administrando los consumos eléctricos de más de 30 edificios y 5.000 unidades, con mediciones que llegan cada 15 minutos (¡y a veces más rápido!), forzar a una sola base de datos a hacer todo el trabajo puede llevar a cuellos de botella, errores y tiempos de respuesta lentos.
Dividir responsabilidades permite optimizar cada componente para lo que mejor sabe hacer.
Fortalezas de esta arquitectura híbrida
✅ MariaDB + Django: Fiabilidad para lo estructurado
a) Usamos MariaDB porque es robusta, ampliamente utilizada y encaja perfectamente con Django, el framework que usamos para desarrollar toda la lógica web.
b) Las relaciones entre entidades (clientes, medidores, configuraciones) son claras y consistentes.
c) El ORM de Django facilita el desarrollo rápido y seguro.
✅ MongoDB: Velocidad para la telemetría
a) MongoDB está diseñada para manejar altos volúmenes de datos no estructurados o semi-estructurados, como nuestras lecturas eléctricas.
b) Su rendimiento es alto porque utiliza la memoria RAM del servidor como prioridad, lo que permite consultas rápidas, incluso sobre grandes cantidades de información.
c) Es escalable horizontalmente: se pueden agregar nodos al cluster sin rediseñar todo el sistema.
d) Tiene una comunidad activa, buena documentación y herramientas modernas.
¿Qué logramos con esta separación?
1) Escalabilidad real: hoy gestionamos más de 5.000 unidades, mañana podrían ser 20.000 sin rediseñar el sistema.
2) Rendimiento optimizado: la carga de lectura y escritura masiva no afecta el funcionamiento de la plataforma web.
3) Flexibilidad para el futuro: podemos ajustar la telemetría o la plataforma web por separado sin poner en riesgo todo el sistema.
4) Facilidad de mantenimiento: cada base de datos tiene su propia lógica, backups y monitoreo.
🎯En resumen
En Mobtec, pensamos la arquitectura de nuestros sistemas con una mirada práctica y de largo plazo. Al combinar lo mejor de dos mundos —las bases de datos relacionales para la estructura y las documentales para el volumen—, MetricView360 y MetricFlow están preparados para crecer con nuestros clientes, acompañando su complejidad operativa sin sacrificar rendimiento ni estabilidad.
¿Quieres saber cómo esta arquitectura puede ayudarte a controlar tu consumo eléctrico con precisión?
Contáctanos y conversemos.