物流倉庫の作業状況をリアルタイムに可視化しサービスレベルの維持・向上に貢献
プロジェクトの目的
Purpose
- 倉庫内の作業をリアルタイムに可視化し、現場責任者が的確な指示を出せるようにすること
抱えていた課題
Subject
- 既存のBIシステムが性能限界を迎えており、リアルタイムの情報をいつでも参照できるプラットフォームが求められていた
効果
Result
- 毎分数千件発生する作業履歴をリアルタイムに取得・連携
- 連携されるデータを分散環境で並列処理することで、高スループットを実現
- 処理結果はElasticsearchに蓄積し、高速に応答するダッシュボードにて参照
性能限界を迎えていたBIシステム
物流倉庫を多数構え、日々大量の入出荷を捌いているお客様では、
従来から庫内作業管理システムのデータを、BIシステムに連携することで、
作業遅延の検出・人身の最適配置・サービスレベルの維持に役立てていました。
しかし、物量・拠点の増加に伴い、取り扱うデータ量が当初の想定を大幅に超えたため、
BIシステムの連携バッチ処理が、繁忙期になると頻繁に停止するという課題が発生していました。
一括連携から逐次連携/バッチ処理からストリーミング処理へ
調査の結果、BIシステムの特性上、参照する期間のデータを毎回データベースから全量取得しなければならないことが、
最新のデータを参照したいというお客様の要望を実現するにあたって、大きな障壁となっていることがわかりました。
つまり、増加したデータだけを逐次連携することで、1回の連携で取得するデータ量を劇的に減らせるということです。
ただし、データをそのまま連携したのでは、どこかで全量データを参照することになり、逐次連携の意味がありません。
そこで、連携したデータを随時集計することにしました。
データの連携にApache kafka, 集計にApache Flink を使用することで、大量に流れ込むデータを高速に分散処理することができ、
繁忙期であっても、常にほぼリアルタイムのデータが把握できるようになりました。
ダッシュボードにもリアルタイムな反映を可能に
集計がリアルタイムに行われていても、お客様に見えるようにならなければ片手落ちです。
一般的なBIシステムの多くがユーザ操作によるデータ更新を必要とするのに対し、ユーザ操作なしに、最新のデータを
随時取得しダッシュボードを更新する仕組みを構築しました。
これによって、お客様が画面を見た瞬間に、最新のデータが表示されている状態を作り出し、
ストレスフリーなダッシュボードを実現しています。
BIシステムの代替から、経営指標を表示する基盤へ
性能限界を迎えたBIシステムの課題を解決するために作成されたダッシュボードですが、
お客様内で好評を博した結果、より大きなレベルの経営指標がリアルタイムに把握できるツールとして、
作業現場・管理層・経営層がそれぞれの目的で利用するようになっています。
また、ここまで参照系の仕組みとして構築してまいりましたが、
庫内作業の最適化を行うための情報源としての役割も期待されており、
今後ますます活用の幅が広がるものと思われます。