Docs Menu
Docs Home
/

イベント駆動型インベントリ管理システム

MongoDB Atlasを使用して、イベント駆動型の在庫管理システムを構築し、リアルタイム分析、オートメーション、在庫の可視性を有効にします。

ユースケース: カタログ分析

業種: 製造業

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

パートナー: Next.js

製造業の競合するビジネス環境では、適切な期間、適切な場所で適切な在庫を確保することが重要です。在庫が十分でないと、運用が中断され、機会が逃します。過剰なインベントリでは、ストレージに関連するコストとリスクが増加します。すべての規模の組織が在庫管理で競合しています。

在庫の単一ビュー、リアルタイム分析、イベント駆動型アーキテクチャなどのソリューションは、ビジネスがこれらの課題を解決し、在庫管理を改善するのに役立ちます。

このガイドでは、製造業などのさまざまな業種に合わせて在庫管理システムを構築するプロセスについて説明します。

最近の製造業のサブスクライブは、複雑かつ相互に接続されたシステムです。効率的なプライマリにより、運用コストを管理し、顧客にオンタイム提供を確保できます。インベントリの最適化とマネジメントが、これらの目的を実現するための重要な要素です。より高い在庫レベルを維持すると、プロバイダーは予期しない需要の変動を管理できますが、在庫を保持するコストが高くなり、顧客に計上される可能性があります。そのため、サブスクライブチェーン内のすべてのプレイヤーは、在庫レベル間のバランス調整を実行して、マーケット内での収益と競合上の利点を最大化するために最善を尽くします。効果的な在庫マネジメントにより、需要によって日用店のコストとパフォーマンスが急増する恐れがある。

製造業の在庫管理の問題の重要な例は、過剰在庫です。過剰在庫の約 8% はグローバルな最終的には無駄になり、年間約 $ 00163 億の在庫が破棄されます。製造業 の場合、在庫 レベルの管理と最適化は、複数の工場、倉庫、プロバイダーにわたる在庫 レベルの正確かつリアルタイムビューを維持することで始まります。現在の在庫レベルを可視化せずに最適化することは不可能であるため、この可視性は重要です。

リアルタイムデータ統合は、在庫の移動を追跡し、在庫レベルを最適化するのに役立ちますが、オートメーションにとっても不可欠です。自動アラートとワークフロートリガーは、手動による継続的な監視なしで在庫レベルを維持します。このオートメーションにより、精度が向上し、各製品は生成ニーズの変化やサブシステムの中断に迅速に対応できるようになり、 スムーズな操作が維持されます。

風力タービンのリアルタイム診断

図 1 在庫マネジメントの概要

このシステムでは、 MongoDB は、在庫、イベント駆動型アーキテクチャ、リアルタイム分析の単一ビューを有効にすることで、サービス品質と ワークフォース効率を向上させ、在庫管理を最適化するのに役立ちます。

これらの機能は、次のような他の高度なシナリオの基盤となります。

  • IoT タグと RBID タグの統合

  • 正確な需要予測のためのAI/ML 予測

  • 分散型ロジック

在庫管理ソリューションは、 MongoDB Atlasとシームレスに統合された Next.jsアプリケーションを活用し、図 に示すように、柔軟でスケーラブルなバックエンドを提供します。2

ソリューションでは、次のコンポーネントが使用されます。

  • MongoDB Atlas productsには、 、 、transactionsusers の 4 つのキーlocations コレクションが保存されています。これらのコレクションは、在庫を管理し、トランザクションを処理し、ユーザーとロケーション データを追跡します。

  • ACID準拠の操作は、特にトランザクションによる株式レベルの変更時に、データの一貫性と整合性を確保します。products コレクションと transactions コレクションの両方が更新を受け取り、システム全体で信頼性と整合性を維持するための更新を受け取ります。

  • アプリケーションはMongoDB Node.jsドライバーを介してMongoDBに接続します。

  • Atlas Search は、アプリケーションの検索機能を強化し、高度な全文検索機能を有効にします。これにより、ユーザーは製品カテゴリで検索したり、ファセットフィルターを適用したりするなど、複雑なクエリを実行できます。

  • Atlas Triggers は、在庫が一定のしきい値を下回ると、在庫が自動的に並べ替えられるなど、データベースの変更に応じて関数を実行することでバックエンドロジックを自動化します。

  • Change Streams はリアルタイムリスナーとして機能し、データベース内の変更を検出し、アプリケーションにアップデートをプッシュします。これにより、在庫少ない通知などのリアルタイムアラートを在庫マネージャーに送信できます。

  • Atlas Charts は、リアルタイム分析のための可視化ツールを提供し、ユーザーがMongoDBデータから直接インタラクティブなチャートとダッシュボードを作成できるようにします。これにより、決定権を持つユーザーは、在庫レベルや売上傾向などの主要なメトリクスをリアルタイムで追跡できます。

  • ワークロード分離分析クエリは専用のノードで実行されるため、運用パフォーマンスは影響を受けません。

この一貫性のあるアーキテクチャは、リアルタイムデータのインタラクションをサポートし、主要なタスクを自動化してプロセスを効率化します。これにより、Next.jsアプリケーションは、MongoDB の堅牢なデータ管理機能を使用して構築された、応答性と動的なユーザー エクスペリエンスを提供できます。

この統合により、ソリューションはパフォーマンス、オートメーション、スケーラビリティのバランスを効果的に取り、現代の在庫管理の課題解決に適しています。

MongoDB を使用した在庫管理システム。

図 2. MongoDB Atlas と Next.js を使用した在庫マネジメントシステムのアーキテクチャ

在庫管理システムには、productstransactionsuserslocations の 4 つのコレクションにわたるデータが保存されています。これらのコレクションはそれぞれ、株価レベル、アプリケーションユーザー、システムが提供するロケーションに影響を与える株式、アクセス、アクセスの移動を表します。

ドキュメントデータモデルと従来の表形式モデルとの相違点は、その優れた柔軟性です。表形式で、在庫の包括的な概要を実現するには、通常、複数の表にまたがる複雑な結合が必要になります。MongoDB のドキュメントモデルでは、この複雑さは排除されます。

製品の等価関係モデル。

図 3. 表形式の設定で同等の製品コレクション

transactionsコレクションは、拡張参照パターンを使用してアイテムを参照。そのため、トランザクションドキュメントには、 内部参照用の product.idフィールドと product.name が含まれています。このパターンにより、productsコレクションで追加のクエリや結合を使用せずに、 UI はユーザーに関連する情報を表示できます。

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

在庫レベルが定義されたしきい値を下回ったときに、更新注文を自動的に発行するデータベーストリガーを作成します。 デモ用に、2 つ目の trigger を設定して、注文の配置から実行までの進行状況をシミュレートします。

3

製品とトランザクションのコレクションで全文検索用の検索インデックスとフィルター ファセットを構成します。

4

Atlas Charts を用いて、アプリケーションの可視化および分析機能を強化。リアルタイム分析を有効にし、希望に基づいてカスタムチャートを作成しましょう。

5

Githubリポジトリをローカル マシンにクローンし、環境変数を独自の値で更新し、依存関係をインストールして、http://localhost:3000でアプリをローカルに実行します。

このソリューションでは、次の機能が強調されています。

  • リアルタイム アラート: Change Streams を使用して、フロントエンドにリアルタイムの在庫不足アラートを実装します。

  • ワークフローの自動化: データベース トリガーを活用して、在庫補充ワークフローを自動化。

  • リアルタイム分析: Atlas Charts を使用して、データを包括的に把握し、トレンドを分析し、情報に基づいた意思決定を迅速に実行。

  • 在庫の一元ビュー: ドキュメントモデルの柔軟性を活用して、在庫を包括的に一元表示。

ご自身のニーズに合わせて、在庫管理システムを自由に探索し、調整し、強化しましょう。

  • Dr. Humza Akhtar, MongoDB

  • Ramiro Pinto Prieto, MongoDB

  • Tamar Alphaidze、MongoDB

戻る

AIによるインベントリの分類

項目一覧