Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ /
Atlas 架构中心
/ / /

事件驱动的库存管理系统

使用 MongoDB Atlas,解锁零售和制造业库存运营中的实时分析、自动化和员工效率。

使用案例: 目录分析

行业: 零售制造

产品: MongoDB Change StreamsMongoDB Atlas ChartsMongoDB Atlas SearchMongoDB Atlas Triggers

合作伙伴: Next.js

在零售和制造业竞争激烈的商业环境中,在正确的时间、正确的地点拥有正确的库存至关重要。库存不足会导致运营中断和错失良机。库存过多会增加与存储相关的成本和风险。各种规模的公司都在库存管理方面举步维艰。

单一视图、实时分析和事件驱动架构等解决方案可以帮助企业克服这些挑战,改进库存管理。

本指南介绍了为零售和制造等不同行业量身定制的库存管理系统的构建进程。

如今,零售商需要对其库存有一个统一的视图,以满足客户对即时可用性和无缝购物体验的期望。线上和实体店库存的不一致可能导致销售机会流失和客户不满。

库存管理系统具有以下优势:

  • 有效的库存管理使零售商能够利用分布式供应链,在渠道之间流畅地转移库存,以满足出现的需求。这降低了实体店的股票和在线渠道的缺货风险,从而提高了整体库存效率。

  • 实时分析使零售商能够做出数据驱动的决策,快速适应不断变化的市场条件和消费者行为。此外,自动化流程减少了人为错误,使员工能够专注于增值活动,例如提高服务质量。

  • 事件驱动架构促进了这些改进,支持跨各种平台和设备的无缝库存数据集成和同步。

实时风力涡轮机诊断

图 1. 库存管理概述

在此系统中, MongoDB通过启用单一视图、事件驱动型架构和实时分析,帮助企业提高服务质量、员工效率并优化股票管理。

这些功能为其他高级场景奠定了基础,例如:

  • 物联网(IoT)和 RFID 标签集成

  • AI/ML 预测可实现精确的需求预测

  • 分布式物流

库存管理解决方案利用与MongoDB Atlas无缝集成的 Next.js应用程序,提供灵活且可扩展的后端,如图 2所示。

该解决方案使用以下组件:

  • MongoDB Atlas数据库包含四个密钥集合:productstransactionsuserslocations 。这些集合管理库存、进程事务并追踪用户和位置数据。

  • 符合ACID的操作可确保数据的一致性和完整性,尤其是在事务导致的股票水平变化期间。productstransactions 集合都会接收更新,以保持整个系统的可靠性和一致性。

  • 应用程序通过MongoDB Node.js驾驶员连接到MongoDB

  • Atlas Search增强了应用程序的搜索功能,支持高级全文搜索功能。这允许用户执行复杂查询,例如按产品类别搜索或应用分面(Facet)筛选器。

  • Atlas Triggers通过执行响应数据库更改的函数来自动化后端逻辑,例如当股票低于特定阈值时自动对库存重新排序。

  • 变更流充当实时侦听器,检测数据库中的变更并将更新推送到应用程序。这样就可以向库存经理发送实时警报,例如股票不足通知。

  • Atlas Charts提供了用于实时分析的可视化工具,允许用户直接从MongoDB数据创建交互式图表和仪表盘。这使决策者能够实时追踪关键指标,例如库存水平和销售趋势。

  • 工作负载隔离性分析查询在专用节点上运行,确保操作性能不受影响。

这种具有凝聚力的架构支持实时数据交互并自动执行关键任务以简化流程。它允许 Next.js应用程序以 MongoDB 强大的数据管理功能为基础,提供响应迅速的动态用户体验。

通过这种集成,该解决方案有效地平衡了性能、自动化和可扩展性,使其非常适合应对现代库存管理的挑战。

使用 MongoDB 的库存管理系统。

图 2. 使用 MongoDB Atlas 和 Next.js 的库存管理系统架构

库存管理系统将数据存储在四个集合中:productstransactionsuserslocations。这些集合分别表示影响股票水平、应用程序用户以及系统服务位置的股票、进货和出库变动。

文档数据模型与传统表格模型的不同之处在于其卓越的灵活性。使用表格方法时,要全面了解库存情况,通常需要跨多个表进行复杂的连接。MongoDB 的文档模型消除了这种复杂性。

产品的等价关系模型。

图 3. 表格设置中的产品集合等效项

transactions集合使用扩展引用模式来引用项目。因此,ACID 事务文档包含供内部引用的 product.id字段和 product.name。此模式允许用户界面向用户显示相关信息,而无需对 products集合使用额外的查询或联接。

products集合包含关系数据库中需要 10 个单独表的内容。单个文件包括:

  • 针对产品变体的嵌入式数组,允许将同一产品的不同配置存储在一起。

  • 产品股票和位置信息,这通常需要在关系数据库中添加额外的表。

这种灵活性提供了更直观的设计,优化了数据访问,并确保相关数据存储在一起。

使用MongoDB的数据库模型。

图 4。表示如何将复杂文档和数组嵌入到文档中

以下是产品文档示例:

{
"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
}

要复制此解决方案,您需要设置MongoDB Atlas并配置应用程序。有关详细说明,请参阅 GitHub存储库。 GitHub 页面将指导您完成以下步骤:

1

创建一个 MongoDB Atlas 集群,并从演示数据库中复制集合、视图和索引。

2

创建一个数据库触发器,以便在股票水平低于定义的阈值时自动发出补货订单。 出于演示目的,设立第二个触发来模拟订单从下达到履行的进度。

3

为产品和事务集合中的全文搜索过滤分面配置搜索索引。

4

使用 Atlas Charts 增强您的应用程序的可视化和分析功能。解锁实时分析功能,并根据您的偏好创建自定义图表。

该解决方案突出了以下功能:

  • 实时警报:使用 Change Streams 在前端实现实时低库存警报。

  • 工作流程自动化:利用数据库触发器实现库存补货工作流程的自动化。

  • 实时分析:使用 Atlas Charts,您可以实时掌握数据动态,分析趋势,并及时做出明智的决策。

  • 库存的单一视图:利用 document model 的灵活性,创建一个全面的库存单一视图。

请随意探索、调整和增强您的库存管理系统,以满足您自己的需求。

  • Dr. Humza Akhtar, MongoDB

  • Ramiro Pinto Prieto, MongoDB

  • Tamar Alphaidze,MongoDB

  • 在 MongoDB 上构建现代全渠道订单系统

  • 使用 MongoDB 和 Vertex AI 实现 AI 驱动的实时定价

  • RFID:实时产品跟踪

后退

文本到音频新闻转换

在此页面上