MongoDB Atlas を使用して、小売業や製造業における在庫業務のリアルタイム分析、オートメーション、効率性を向上させましょう。
製品: MongoDB Change Streams、MongoDB Atlas Charts、MongoDB Atlas Search、MongoDB Atlas Triggers
パートナー: Next.js
ソリューション概要
小売や製造業の競合するビジネス環境では、適切な期間、適切な場所で適切な在庫を確保することが重要です。在庫が十分でないと、運用が中断され、機会が逃します。過剰なインベントリでは、ストレージに関連するコストとリスクが増加します。すべての規模の組織が在庫管理で競合しています。
在庫の単一ビュー、リアルタイム分析、イベント駆動型アーキテクチャなどのソリューションは、ビジネスがこれらの課題を解決し、在庫管理を改善するのに役立ちます。
このガイドでは、小売や製造などのさまざまな業種に合わせて在庫管理システムを構築するプロセスについて説明します。
小売業界における在庫マネジメント
今日の小売業者は、即時入手可能性とシームレスな購入体験を求めるカスタマーの期待に応えるために、在庫を一元的に把握する必要があります。オンライン在庫と店舗在庫の不一致は、販売機会の損失やカスタマーの不満につながる可能性があります。
在庫管理システムを使用すると、次のメリットが得られます。
効果的な在庫マネジメントでは、小売業者は分散サブライチェーンを活用して、在庫をチャネル間でスムーズに移動して、発生した需要に対応できます。これにより、物理店舗のデッド在庫やオンライン チャネルでの在庫アウトのリスクが軽減され、全体的な在庫効率が向上します。
リアルタイム分析により、マーケット条件や消費者行動の変化に素早く対応するために、データに基づいた決定を行うことができるようになります。さらに、自動プロセスにより手動エラーが減り、従業員が解放され、サービスの品質などの価値を高めるアクティビティに集中できます。
イベント駆動型アーキテクチャはこれらの改善を促進し、さまざまなプラットフォームとデバイス間でシームレスな在庫データの統合と同期を可能にします。
図 1 在庫マネジメントの概要
このシステムでは、 MongoDB は、在庫、イベント駆動型アーキテクチャ、リアルタイム分析の単一ビューを有効にすることで、サービス品質と ワークフォース効率を向上させ、在庫管理を最適化するのに役立ちます。
これらの機能は、次のような他の高度なシナリオの基盤となります。
IoT タグと RBID タグの統合
正確な需要予測のためのAI/ML 予測
分散型ロジック
参照アーキテクチャ
在庫管理ソリューションは、 MongoDB Atlasとシームレスに統合された Next.jsアプリケーションを活用し、図 に示すように、柔軟でスケーラブルなバックエンドを提供します。2
ソリューションでは、次のコンポーネントが使用されます。
MongoDB Atlas Database には、
products、transactions、users、locationsの 4 つのキー コレクションがあります。これらのコレクションは、在庫を管理し、トランザクションを処理し、ユーザーとロケーション データを追跡します。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 を使用した在庫マネジメントシステムのアーキテクチャ
データモデルアプローチ
在庫管理システムには、products、transactions、users、locations の 4 つのコレクションにわたるデータが保存されています。これらのコレクションはそれぞれ、株価レベル、アプリケーションユーザー、システムが提供するロケーションに影響を与える株式、アクセス、アクセスの移動を表します。
ドキュメントデータモデルと従来の表形式モデルとの相違点は、その優れた柔軟性です。表形式で、在庫の包括的な概要を実現するには、通常、複数の表にまたがる複雑な結合が必要になります。MongoDB のドキュメントモデルでは、この複雑さは排除されます。
図 3. 表形式の設定で同等の製品コレクション
transactionsコレクションは、拡張参照パターンを使用してアイテムを参照。そのため、トランザクションドキュメントには、 内部参照用の product.idフィールドと product.name が含まれています。このパターンにより、productsコレクションで追加のクエリや結合を使用せずに、 UI はユーザーに関連する情報を表示できます。
productsコレクションには、リレーショナルデータベースで 10 の個別のテーブルが必要になるものが含まれています。個々のドキュメントには、次のものが含まれます。
製品バリアントの埋め込み配列。同じ製品の異なる構成をまとめて保存できます。
製品の在庫とロケーションの情報。これらには通常、 リレーショナルデータベースに追加のテーブルが必要です。
この柔軟性により、より直感的な設計が提供され、データアクセスが最適化され、関連データがまとめて保存されるようになります。
図の 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ページでは、次の手順についてガイドします。
全文検索とフィルターファセットを有効にする
製品とトランザクションのコレクションで全文検索用の検索インデックスとフィルター ファセットを構成します。
Atlas Charts を使用してリアルタイム分析をセットアップする
Atlas Charts を用いて、アプリケーションの可視化および分析機能を強化。リアルタイム分析を有効にし、希望に基づいてカスタムチャートを作成しましょう。
アプリのフロントエンドを設定
Githubリポジトリをローカル マシンにクローンし、環境変数を独自の値で更新し、依存関係をインストールして、http://localhost:3000でアプリをローカルに実行します。
キーポイント
このソリューションでは、次の機能が強調されています。
リアルタイム アラート: Change Streams を使用して、フロントエンドにリアルタイムの在庫不足アラートを実装します。
ワークフローの自動化: データベース トリガーを活用して、在庫補充ワークフローを自動化。
リアルタイム分析: Atlas Charts を使用して、データを包括的に把握し、トレンドを分析し、情報に基づいた意思決定を迅速に実行。
在庫の一元ビュー: ドキュメントモデルの柔軟性を活用して、在庫を包括的に一元表示。
ご自身のニーズに合わせて、在庫管理システムを自由に探索し、調整し、強化しましょう。
著者
Dr. Humza Akhtar, MongoDB
Ramiro Pinto Prieto, MongoDB
Tamar Alphaidze、MongoDB