Docs Menu
Docs Home
/

Sistema de gestión de inventario orientado a eventos

Compila un sistema de gestión de inventario orientado a eventos que use MongoDB Atlas para habilitar análisis en tiempo real, automatización y visibilidad del inventario.

caso de uso: Catálogo, análisis

Industrias: Manufactura

Productos: MongoDB Change Streams, MongoDB Atlas Charts, MongoDB Atlas Search, MongoDB Atlas Triggers

Socios: Next.js

En el competitivo panorama empresarial de la manufactura, contar con el inventario adecuado de productos en el lugar correcto y en el momento oportuno es fundamental. La falta de inventario provoca interrupciones operativas y oportunidades perdidas. El exceso de inventario incrementa los costos y riesgos asociados con el almacenamiento. Las empresas de todos los tamaños tienen problemas con la gestión de inventarios.

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 abarca el proceso de construcción de un sistema de gestión de inventario adaptado a diversos sectores, como el de la manufactura.

Las cadenas de suministro de la fabricación moderna son sistemas complejos e interconectados. Las cadenas de suministro eficientes pueden controlar los costos operativos y garantizar la entrega oportuna a los clientes. La optimización y gestión de inventarios son componentes clave para lograr estos objetivos. Si bien mantener niveles de inventario más altos permite a los proveedores gestionar las fluctuaciones inesperadas de la demanda, estos conllevan mayores costos de almacenamiento de inventario que podrían trasladarse a los clientes. Así, cada participante en la cadena de suministro se esfuerza por lograr un equilibrio entre los niveles de inventario para maximizar la rentabilidad y la ventaja competitiva en el mercado. La gestión eficaz del inventario mitiga el riesgo del efecto látigo, en el que las demandas repentinas pueden perturbar los costos y el rendimiento de la cadena de suministro.

Un ejemplo significativo de los desafíos de gestión de inventarios en la manufactura implica el exceso de stock. Casi el 8% del stock excedente a nivel mundial terminará como desperdicio, con aproximadamente $163 mil millones de inventario descartado cada año. Para los fabricantes, gestionar y optimizar los niveles de inventario comienza con mantener una vista precisa y en tiempo real de los niveles de inventario en varias plantas, almacenes y proveedores. Esta visibilidad es crucial porque optimizar es imposible sin conocer el nivel de inventario actual.

La integración de datos en tiempo real ayuda a los fabricantes a rastrear los movimientos de inventario y optimizar los niveles de acciones, pero también es esencial para la automatización. Las alertas automatizadas y los disparadores de flujos de trabajo mantienen los niveles de inventario sin supervisión manual constante. Esta automatización mejora la precisión y permite a los fabricantes responder rápidamente a los cambios en las necesidades de producción o a interrupciones en la cadena de suministro, manteniendo una operación fluida.

Diagnóstico de turbinas eólicas en tiempo real

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 preparan el terreno para otros escenarios avanzados, tales como:

  • Integración de IoT y etiquetas RFID

  • Pronósticos de IA/aprendizaje automático para una predicción precisa de la demanda

  • Logística distribuida

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 clave: products, transactions, users y locations. Estas colecciones gestionan el inventario, procesan las transacciones y rastrean los datos de usuarios y ubicaciones.

  • Las operaciones compatibles con ACID garantizan la coherencia e integridad de los datos, en particular durante los cambios de nivel de acciones debido a transacciones. Tanto las colecciones products como transactions reciben actualizaciones para mantener la fiabilidad y la coherencia en todo el sistema.

  • La aplicación se conecta a MongoDB a través del driver MongoDB Node.js.

  • Atlas Search mejora las capacidades de búsqueda de las aplicaciones, permitiendo funcionalidades de búsqueda de texto completo avanzadas. Esto permite a los usuarios realizar consultas complejas, como buscar por categoría de producto o aplicar filtros con facetas.

  • Atlas Triggers automatizan la lógica del backend al ejecutar funciones en respuesta a cambios en la base de datos, tales 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 proporciona una herramienta de visualización para análisis en tiempo real, permitiendo a los usuarios crear gráficas interactivas y tableros directamente a partir de datos de MongoDB. Esto permite a los responsables de la toma de decisiones rastrear 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 respalda las interacciones de datos en tiempo real y automatiza tareas clave para agilizar los procesos. Permite que la aplicación Next.js ofrezca una experiencia de usuario receptiva y dinámica, basada en las robustas funcionalidades de gestión de datos de MongoDB.

A través de esta integración, la solución equilibra eficazmente el rendimiento, la automatización y la escalabilidad, lo que la hace perfectamente adecuada para los desafíos actuales de la gestión de inventarios.

Sistema de gestión de inventarios con MongoDB.

Figura 2. Arquitectura del sistema de gestión de inventario usando MongoDB Atlas y Next.js

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 diferencia al modelo de datos de documentos de los modelos tabulares tradicionales es su notable flexibilidad. Con un enfoque tabular, lograr una visión integral de tu inventario generalmente implicaría operaciones complejas de unión entre varias tablas. Con el modelo orientado a documentos de MongoDB, esta complejidad se elimina.

Modelo relacional equivalente para el producto.

Figura 3. Colección de productos equivalente en una configuración tabular

La colección transactions utiliza el patrón Referencia extendida para referenciar elementos. Como tal, el documento de transacción incluye el campo product.id para referencia interna y el product.name. Este patrón permite que la interfaz de usuario muestre información relevante al usuario sin usar consultas o uniones adicionales en la colección products.

La colección products contiene lo que requeriría 10 tablas separadas en una base de datos relacional. Los documentos individuales incluyen:

  • Arreglos integrados para variantes de productos, lo que permite almacenar diferentes configuraciones del mismo producto juntas.

  • 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 asegura que los datos relacionados se almacenen juntos.

Modelo de base de datos con MongoDB.

Figura 4. Representación de cómo se incrustan los documentos complejos y los arreglos dentro del documento

Aquí tienes 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
}

Para replicar esta solución, necesitas configurar MongoDB Atlas y configurar tu aplicación. Para obtener instrucciones detalladas, consulta el repositorio GitHub. La página de GitHub te guía a través de los siguientes pasos:

1

Crea un clúster de MongoDB Atlas. Replica las colecciones, vistas e índices de la base de datos de demostración.

2

Creá un activador de base de datos que emita automáticamente una orden de reposición cuando los niveles de inventario caigan por debajo de un umbral definido. Con fines de demostración, configura un segundo activador para simular el progreso de una orden desde su realización hasta su cumplimiento.

3

Configura índices de búsqueda para la búsqueda de texto completo y las facetas de filtro en las colecciones de productos y transacciones.

4

Mejore las capacidades de visualización y análisis de su aplicación con Atlas Charts. Desbloquea análisis en tiempo real y crea gráficas personalizadas de acuerdo a tus preferencias.

5

Clona el GitHub repositorio a tu máquina local, actualiza las variables de entorno con tus propios valores, instala las dependencias y ejecuta la aplicación localmente en http://localhost:3000.

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: Aprovecha los activadores de bases de datos para automatizar los flujos de trabajo de reabastecimiento de acciones.

  • Análisis en tiempo real: Mantente a la vanguardia de tus datos, analiza tendencias y toma decisiones informadas a tiempo 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.

  • Dr. Humza Akhtar, MongoDB

  • Ramiro Pinto Prieto, MongoDB

  • Tamar Alphaidze, MongoDB

Volver

Clasificación del inventario basada en la IA

En esta página