Cree un sistema de gestión de inventario basado en eventos que utilice MongoDB Atlas para permitir análisis en tiempo real, automatización y visibilidad del inventario.
caso de uso: Catálogo, Analítica
Industrias: Manufactura
Productos: MongoDB Change Streams, MongoDB Atlas Charts, MongoDB Atlas Search, MongoDB Atlas Triggers
Socios: Next.js
Resumen de la solución
En el competitivo panorama empresarial de la manufactura, es crucial contar con el inventario adecuado de productos en el lugar y momento adecuados. Un inventario insuficiente provoca interrupciones operativas y la pérdida de oportunidades. El exceso de inventario incrementa los costos y los riesgos asociados al almacenamiento. Empresas de todos los tamaños enfrentan dificultades con la gestión de inventario.
Las soluciones, como una vista única de inventario, análisis en tiempo real y arquitecturas orientadas a eventos, pueden ayudar a las empresas a superar estos desafíos y mejorar la gestión de su inventario.
Esta guía cubre el proceso de construcción de un sistema de gestión de inventario adaptado a diversas industrias, como la manufactura.
Gestión de inventarios en la industria manufacturera
Las cadenas de suministro de manufactura modernas son sistemas complejos e interconectados. Unas cadenas de suministro eficientes pueden controlar los costos operativos y garantizar la entrega puntual a los clientes. La optimización y la gestión del inventario son componentes clave para lograr estos objetivos. Si bien mantener niveles de inventario más altos permite a los proveedores gestionar fluctuaciones inesperadas en la demanda, conlleva mayores costos de mantenimiento de inventario que podrían repercutir en los clientes. Por lo tanto, todos los actores de la cadena de suministro se esfuerzan por lograr un equilibrio entre los niveles de inventario para maximizar la rentabilidad y la ventaja competitiva en el mercado. Una gestión eficaz del inventario mitiga el riesgo del efecto látigo, en el que las demandas repentinas pueden afectar los costos y el rendimiento de la cadena de suministro.
Un ejemplo significativo de los desafíos de la gestión de inventario en la industria manufacturera es el exceso de existencias. Casi el 8% del excedente de existencias a nivel mundial termina en desperdicio, con aproximadamente $15163 mil millones de inventario desechados anualmente. Para los fabricantes, la gestión y optimización de los niveles de inventario comienza por mantener una visión precisa y en tiempo real de los niveles de inventario en múltiples plantas, almacenes y proveedores. Esta visibilidad es esencial, ya que es imposible optimizar sin visibilidad de los niveles actuales de inventario.
La integración de datos en tiempo real ayuda a los fabricantes a rastrear los movimientos de inventario y optimizar los niveles de existencias, pero también es esencial para la automatización. Las alertas automatizadas y los activadores de flujo de trabajo mantienen los niveles de inventario sin una supervisión manual constante. Esta automatización mejora la precisión y permite a los fabricantes responder con rapidez a los cambios en las necesidades de producción o a las interrupciones de la cadena de suministro, manteniendo así un funcionamiento fluido.
Figura 1. Descripción general de la gestión de inventario
En este sistema, MongoDB ayuda a las empresas a mejorar la calidad del servicio, la eficiencia de la fuerza laboral y optimizar la gestión de inventarios al habilitar una vista única del inventario, arquitecturas orientadas a eventos y análisis en tiempo real.
Estas capacidades sientan las bases para otros escenarios avanzados, como:
Integración de etiquetas IoT y RFID
Pronósticos de IA/ML para una predicción precisa de la demanda
Logística distribuida
Arquitecturas de Referencia
La solución de gestión de inventarios aprovecha una aplicación Next.js que se integra perfectamente con MongoDB Atlas, proporcionando un backend flexible y escalable, como se muestra en la Figura 2.
La solución utiliza los siguientes componentes:
MongoDB Atlas almacena cuatro colecciones de claves:
products,transactions,usersylocations. Estas colecciones gestionan el inventario, procesan las transacciones y rastrean los datos de usuarios y ubicaciones.Las operaciones compatiblescon ACID garantizan la consistencia e integridad de los datos, especialmente durante los cambios en el nivel de existencias debido a las transacciones. Tanto las colecciones como
productssetransactionsactualizan para mantener la confiabilidad y la consistencia en todo el sistema.La aplicación se conecta a MongoDB a través del controlador MongoDB Node.js.
Atlas Search mejora las capacidades de búsqueda de las aplicaciones, habilitando funciones avanzadas de búsqueda de texto completo. Esto permite a los usuarios realizar consultas complejas, como buscar por categoría de producto o aplicar filtros de facetas.
Los activadores de Atlas automatizan la lógica del backend al ejecutar funciones en respuesta a cambios en la base de datos, como reordenar automáticamente el inventario cuando el stock cae por debajo de un determinado umbral.
Change Streams actúa como escuchas en tiempo real, detecta cambios en la base de datos y envía actualizaciones a la aplicación. Esto permite que los administradores del inventario reciban alertas en tiempo real, como notificaciones de bajo stock.
Atlas Charts ofrece una herramienta de visualización para análisis en tiempo real, que permite a los usuarios crear gráficos y paneles interactivos directamente desde los datos de MongoDB. Esto permite a los responsables de la toma de decisiones realizar un seguimiento de métricas clave, como los niveles de inventario y las tendencias de ventas, en tiempo real.
Aislamiento de carga de trabajo las consultas de análisis se ejecutan en un nodo dedicado, lo que garantiza que el rendimiento operativo permanezca sin afectar.
Esta arquitectura cohesiva facilita la interacción con datos en tiempo real y automatiza tareas clave para optimizar los procesos. Permite que la aplicación Next.js ofrezca una experiencia de usuario ágil y dinámica, basada en las robustas funciones de gestión de datos de MongoDB.
Gracias a esta integración, la solución equilibra eficazmente el rendimiento, la automatización y la escalabilidad, lo que la hace ideal para los desafíos modernos de gestión de inventario.
Arquitectura con MongoDB
Figura 2. Arquitectura del sistema de gestión de inventario usando MongoDB Atlas y Next.js
Enfoque del modelo de datos
El sistema de gestión de inventario almacena datos en cuatro colecciones: products, transactions, users y locations. Estas colecciones representan, respectivamente, acciones, movimientos entrantes y salientes que afectan a los niveles de acciones, los usuarios de la aplicación y las ubicaciones a las que sirve el sistema.
Lo que distingue al modelo de datos documentales de los modelos tabulares tradicionales es su notable flexibilidad. Con un enfoque tabular, obtener una visión general completa del inventario normalmente implicaría uniones complejas entre varias tablas. Con el modelo documental de MongoDB, esta complejidad se elimina.
Figura 3. Colección de productos equivalente en una configuración tabular
La transactions colección utiliza el patrón de Referencia Extendida para referenciar elementos. Por lo tanto, el documento de transacción incluye el product.id campo para referencia interna y product.name el. Este patrón permite que la interfaz de usuario muestre información relevante al usuario sin usar consultas ni uniones adicionales en la products colección.
La colección products contiene lo que requeriría 10 tablas independientes en una base de datos relacional. Los documentos individuales incluyen:
Matrices integradas para variantes de productos, que permiten almacenar juntas diferentes configuraciones del mismo producto.
Información sobre el stock de productos y su ubicación, lo que normalmente requeriría tablas adicionales en una base de datos relacional.
Esta flexibilidad proporciona un diseño más intuitivo, optimiza el acceso a los datos y garantiza que los datos relacionados se almacenen juntos.
Figura 4. Representación de cómo se incrustan documentos y matrices complejos dentro del documento.
A continuación se muestra un ejemplo de un documento de transacción:
{ "type": "inbound", "location": { "origin": { "type": "warehouse" }, "destination": { "type": "factory", "id": { "$oid": "65c63cb61526ffd3415fadbd" }, "name": "Bogatell Factory" } }, "placement_timestamp": { "$date": "2024-04-08T15:13:58.822Z" }, "items": [ { "sku": "CT001-PT-MDB0001", "name": "Programmable Thermostats", "unit": "pieces", "delivery_time": { "amount": 3, "unit": "seconds" }, "status": [ { "name": "placed", "update_timestamp": { "$date": "2024-04-08T15:13:58.822Z" } }, { "name": "arrived", "update_timestamp": { "$date": "2024-04-08T15:14:03.741Z" } } ], "amount": 15, "product": { "id": { "$oid": "65cce1a4ccdfb7402dbb4db4" }, "name": "Controls and Thermostats", "image": { "url": "/images/products/thermostats.png" } } } ], "automatic": true, "transaction_number": 133 }
Construir la solución
Para replicar esta solución, debe configurar MongoDB Atlas y su aplicación. Para obtener instrucciones detalladas, consulte el repositorio de GitHub. La página de GitHub le guiará por los siguientes pasos:
Agregar el disparador de reposición automática
Cree un disparador de base de datos que emita automáticamente una orden de reposición cuando los niveles de existencias caigan por debajo de un umbral definido. Para fines de demostración, configure un segundo disparador para simular el progreso de una orden desde su colocación hasta su cumplimiento.
Habilitar la búsqueda de texto completo y filtrar facetas
Configurar índices de búsqueda para la búsqueda de texto completo y filtrar facetas en las colecciones de productos y transacciones.
Configure análisis en tiempo real con Atlas Charts
Mejore las capacidades de visualización y análisis de su aplicación con Atlas Charts. Acceda al análisis en tiempo real y cree gráficos personalizados según sus preferencias.
Configurar la interfaz de su aplicación
Clone el repositorio de GitHub en su máquina local, actualice las variables de entorno con sus propios valores, instale las dependencias y ejecute la aplicación localmente http://localhost:3000 en.
Aprendizajes clave
Esta solución destaca las siguientes capacidades:
Alertas en tiempo real: Implemente alertas de stock bajo en tiempo real en su frontend utilizando los Change Streams.
Automatización del flujo de trabajo: aproveche los activadores de la base de datos para automatizar los flujos de trabajo de reposición de existencias.
Análisis en tiempo real: manténgase al tanto de sus datos, analice tendencias y tome decisiones informadas de manera oportuna con Atlas Charts.
Vista única del inventario: Aprovecha la flexibilidad del modelo orientado a documentos para crear una vista única y completa del inventario.
Siéntete libre de explorar, ajustar y mejorar tu sistema de gestión de inventario para adaptarlo a tus propias necesidades.
Autor
Dr. Humza Akhtar, MongoDB
Ramiro Pinto Prieto, MongoDB
Tamar Alphaidze, MongoDB