Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【全7回】グラフはなぜ使われていない?どうやって使われている?グラフデータベース活用事例 #3

【全7回】グラフはなぜ使われていない?どうやって使われている?グラフデータベース活用事例 #3

今回は「部品表とトレーサビリティ」編!(オンライン開催)
Youtube: https://youtu.be/TT-y6A-gE5s

グラフデータベースと呼ばれる DBMS(正確さのために「グラフ DBMS」と表記します)は 10年以上前から市場に存在しており、今では多くの開発者がその概要、たとえばグラフという直感的なモデルや「辿る」処理の性能メリット、について見聞きしたことがあるかと思います。その一方で、実際のシステム、とりわけ可用性や安定性が求められるビジネス・クリティカルなシステムでグラフ DBMS が採用されている例は今まで非常に稀でした。

グラフというデータモデルは DBMS で扱うビジネス価値がないのでしょうか。または、長らく注目されているグラフのユースケース(金融の不正検知、製造のトレーサビリティ分析、犯罪や税の不正の調査など)には障壁があるのでしょうか。そんな懸念も持たれていましたが、この数年、一転して、いくつもの業種でグラフ DBMS の導入が検討されるようになりました。

このシリーズでは、最近のユースケースを掘り下げて見てみることで、なにがブレークスルーになっているのかを探っていきたいと思います。ご担当業種で今すぐ再利用いただけるネタ・デモなども共有する予定です。以前よりグラフ DBMS の用途を模索しながら悪戦苦闘してきた登壇者が、その失敗経験なども交えながら、まだまだ進化していくデータベースの面白さをお伝えします。

1 銀行送金の可視化と不正検知 11/17(木) 満員御礼
2 犯罪や税不正、利益相反の調査 12/08(木) 満員御礼
3 部品表とトレーサビリティ 01/12(木) 本ページ
4 リコメンデーションと機械学習 02/09(木) 予定
5 仮)配送計画の最適化と見える化 03/09(木) 予定
6 仮)通話履歴の分析、詐欺の検出 04/13(木) 予定
7 仮)社員の協業の可視化と評価 05/11(木) 予定

oracle4engineer

January 17, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. ユースケース概要、顧客事例、デモコンテンツを紹介します • 第1回(11月17日)銀行送金の可視化と不正検知(金融) • 第2回(12月08日)犯罪や税不正、利益相反の調査(公共) • 第3回(01月12日)部品表とトレーサビリティ(製造) • 第4回(02月09日)リコメンデーションと機械学習(小売) •

    第5回(03月09日)配送計画の最適化と見える化(物流) • 第6回(04月13日)通話履歴の分析、詐欺の検出(通信) • 第7回(05月11日)社員の協業の可視化と評価(人事) 対象:各インダストリでグラフデータベースの導入を検討されている方、 グラフという技術に興味がある方(コンプするとグラフエキスパートになれる?) このシリーズの予定 Copyright © 2022, Oracle and/or its affiliates 2
  2. リソース • 日本語 • このシリーズのスライドの公開先 • https://oracle-code-tokyo-dev.connpass.com/event/265244/ • CodeZine 記事「グラフ・データベースはなぜ使われてこなかったか、その展望とは」

    • https://codezine.jp/article/detail/16539 • Qiita: https://qiita.com/tags/oraclegraph • Twitter: https://twitter.com/uraryotas • 英語 • Medium: https://medium.com/tag/oracle-graph • LinkedIn: https://www.linkedin.com/groups/1848520/ • YouTube: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w Copyright © 2022, Oracle and/or its affiliates 3
  3. 1. グラフモデルを使って BoM およびロジスティクスのデータを格納 Copyright © 2022, Oracle and/or its

    affiliates 5 • 表よりもグラフに格納することが容易 • BoM は階層構造、ロジスティクスはネットワーク構造 • 表を使う場合には再帰的な結合が必要になる • BoM とロジスティクスは必要に応じて統合して分析 • 例)特定の部品を持つ製品の追跡
  4. 2. グラフクエリを用いた追跡によるトレーサビリティの向上 Copyright © 2022, Oracle and/or its affiliates 6

    • 双方向の追跡 • 特定の部品から生じた問題が及ぶ出荷先を調べる場合(トレース・フォワード) • 出荷先で生じた問題から原因となる部品を調べる場合(トレース・バック) • 特定のノードから「辿る」クエリ • 表の結合を必要としないため経路によらず高速に結果が得られる • 二点間の未知の長さの経路の検索も可能となる 問題 部品
  5. 3. グラフクエリおよびグラフアルゴリズムを用いた MRP 計算の高速化 Copyright © 2022, Oracle and/or its

    affiliates 7 • MRP(Material Resource Planning) • 資材所要量計画 • 双方向のフィルタリング • 特定の製品に含まれる部品 • 特定の部品を含む製品 • アルゴリズムを使った計算の最適化 • 例)特定の製品に含まれる部品の「数え上げ」 • 効率的に計算するアルゴリズム(幅優先探索な どを利用)をデータベース内に実装することで 従来のバッチ処理を高速化 ID num A 1 B 1 C 4 D 2 E 6 F 8 G 40 H 2 I 12
  6. 自動車メーカーにおける PoC Copyright © 2021-2022, Oracle and/or its affiliates. 9

    • BoM と製造からロジスティクスまでのフローを グラフでモデリング • 複数のソースからデータを収集して統合 • 数百万ノード/数千万エッジのグラフ • 特定の製品からロジスティクスをトレースする クエリの多くを 1 秒以内で実行 • 経路検索によりオプション部品が付けられる かどうかを確認するといったクエリも可能 • BoM 上の双方向の検索も 0.1 秒以内で実行 • さらに特定の製品の BoM 上の必要部品数の 数え上げも 0.5 秒程度で実行 • PoC 参加チームによる講演資料はこちら
  7. 3. グラフクエリおよびグラフアルゴリズムを用いた MRP 計算の最適化 Copyright © 2022, Oracle and/or its

    affiliates 14 ID num A 1 B 1 C 4 D 2 E 6 F 8 G 40 H 2 I 12 SELECT p1.id AS p1_id , p2.id AS p2_id , SUM(PRODUCT(LISTAGG(e.num, ' '))) FROM MATCH ALL (p1) (-[e:has_part]->(p)){1,100} (p2) WHERE p1.id = 'Model1' GROUP BY p1_id, p2_id # PRODUCT() is a UDF (user-defined function) on PGX
  8. Oracle Graph に関する情報 (再掲) • 日本語 • このシリーズのスライドの公開先 • https://oracle-code-tokyo-dev.connpass.com/event/265244/

    • CodeZine 記事「グラフ・データベースはなぜ使われてこなかったか、その展望とは」 • https://codezine.jp/article/detail/16539 • Qiita: https://qiita.com/tags/oraclegraph • Twitter: https://twitter.com/uraryotas • 英語 • Medium: https://medium.com/tag/oracle-graph • LinkedIn: https://www.linkedin.com/groups/1848520/ • YouTube: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w Copyright © 2022, Oracle and/or its affiliates 16