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

IT日米格差はデータベースにあり.pdf

ossaj
January 11, 2023

 IT日米格差はデータベースにあり.pdf

米国の一人当たりの労働生産性は日本に比べて1.5倍ほどです。

生産性を高めるためには創意工夫と変化が必要ですが、変化を作り出す米国企業と、変化への対応を迫られる日本企業の特徴は対照的で、その特徴は情報システムにも表れています。

典型的なのは、RDBでなければならないシステムはかなり少なくなっていますが、日本では今でも昔と同じようRDBを使っています。なぜ、そうなるのか?

イマドキのデータベースの選び方から探りたいと思います。

ossaj

January 11, 2023
Tweet

More Decks by ossaj

Other Decks in Technology

Transcript

  1. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE ˜5IBOLJU$P -UE"MMSJHIUT3FTFSWFE *5೔ถ֨ࠩ͸ σʔλϕʔεʹ͋Γʂ Φʔϓϯιʔειϑτ΢ΣΞڠձ ཧࣄ

    גࣜձࣾαϯΫΠοτ ୅දऔక໾ɺ*5ίϯαϧλϯτ தԝେֶ ࠃࡍ৘ใֶ෦ ৘ใ࢈ۀʹ͓͚Δਓతࢿݯ؅ཧ࿦ ߨࢣ ࣉᖒ৻༞ גࣜձࣾ65* ୅දऀ ࡉҪެٛ
  2. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE • ೥Ҏ্ɺ*5ۀքʹͯɺϓϩάϥϚʔɺӦۀɺ Ϗδωε։ൃɺϚʔέςΟϯάʹैࣄ • ӳࠃ΢ΣʔϧζେֶͰܦӦֶम࢜ʢ.#"ʣΛऔಘ •

    αϯɾϚΠΫϩγεςϜζͷফ໓ͱͱ΋ʹ ձࣾһੜ׆Λऴ͑ͯಠཱ • *5౤ࢿ͚ͩͰ͸ɺاۀՁ஋ΛߴΊΔ͜ͱ͕Ͱ͖ͳ͍ͱ ײͯ͡ʮসإͰ໌Δ͘લ޲͖ʹಇ͘ਓΛ૿΍͍ͨ͠ ͦΜͳ৬৔Λ࡞Γ͍ͨʂʯͱ͍͏ࢥ͍͔Βਓࡐ૊৫ ίϯαϧςΟϯάͷʮגࣜձࣾαϯΫΠοτʯΛઃཱ • ͦͷଞ – ӳࠃ΢Σʔϧζେֶɿ૊৫ߦಈ࿦ ߨࢣ – தԝେֶ ࠃࡍ৘ใֶ෦ɿ৘ใ࢈ۀʹ͓͚Δਓతࢿݯ؅ཧ࿦ ߨࢣ ࣗݾ঺հ
  3. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE • ޽Ͱ͸ɺ%9%9ͱ૽͍Ͱ͍·͕͢ɺถࠃͰ͸͋·Γ૽͕Ε͍ͯͳ͍ʂʁ • %9ͷ໨తʢ೥ +&*5"*%$+BQBOௐࠪʣ –

    ೔ຊاۀɿطଘϏδωεΛม͑Δ໨తͰ%9Λਪਐ͢Δέʔε͕ଟ͍ – ถࠃاۀɿ৽͍͠ϏδωεΛͭ͘Δ͜ͱΛ໨తʹ͍ͯ͠Δ Կ͕ҧ͏ʁ ೔ถͷσδλϧԽ΍%9
  4. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE ةػҙࣝʹΑͬͯτϥϯεϑΥʔϜͨ͠ձࣾ اۀ໊ స׵લ స׵ޙ ೚ఱಊ Ֆࡳ

    ిࢠήʔϜɺͦͷଞ αϯϦΦ ݜͷൢച খ෺ൢചɺΩϟϥΫλʔ ιϑτόϯΫ ιϑτ΢ΣΞྲྀ௨খച Πϯλʔωοτɺܞଳి࿩ɺͦͷଞ %F/" ωοτΦʔΫγϣϯ ήʔϜࣄۀ ෋࢜ϑΠϧϜ ࣸਅϑΟϧϜɺσδΧϝ ҩྍɺԽহ඼
  5. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE Ξϯκϑͷ੒௕ϚτϦΫε ੡ ඼ ࢢ৔ ৽ن ৽ن

    طଘ طଘ ࢢ৔ਁಁઓུ ৽੡඼։ൃઓུ ࢢ৔։୓ઓུ ଟ֯Խઓུ τϥϯεϑΥʔϜ τϥϯεϑΥʔϜ
  6. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE • ౰ͨΓલ͕ҧ͏ – ถࠃͷ౰ͨΓલɿมԽ͠ͳ͚Ε͹ෛ͚Δ͔ΒมԽ͸౰વ – ೔ຊͷ౰ͨΓલɿͳΔ΂͘ݱঢ়ҡ࣋ʢม͍͑ͨͱ͸ࢥ͏͔Β%9͕ྲྀߦʂʁʣ

    • ถࠃاۀ – มԽ͸ී௨Ͱɺී௨ͳมԽʹγεςϜ͕ରԠ – %9͸৽نϏδωε • ೔ຊاۀ – มԽ͕ී௨͡Όͳ͍͔Βɺ%9ͰมԽ͍ͨ͠ – %9͸طଘϏδωεͷมԽ طଘϏδωεΛม͑ͨͯ͘΋ม͑ΒΕͳ͍೔ຊاۀʂ ม ͑ Δ ͨ Ί ʹ ׆ ༻ ͠ ͨ ͍ %9 ͩ ͚ Ͳ ỏ ຊ ࣭ త ʹ ͸ ݱ ঢ় ҡ ࣋ ͠ ͨ ͍ Ố %9 ͕ ਐ · ͳ ͍ Θ ͚ ͩ Ỗ
  7. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE ΤϯδχΞ͸ͲΜͳاۀͰಇ͍͍ͯΔ͔ʁ ΤϯυϢʔβ اۀ ΠϯςάϨʔλ ΤϯυϢʔβ اۀ

    ΠϯςάϨʔλ %9Λਪਐ͢Δͷ͸ΠϯςάϨʔλͰ͸ͳ͘ΤϯυϢʔβʔاۀ ී௨ͳมԽʹී௨ʹରԠ͍ͯ͠Δͷ΋ΤϯυϢʔβʔاۀ ถࠃ ೔ຊ
  8. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE • ΤϯυϢʔβʔاۀʹΑΔओମతͳςΫϊϩδʔબ୒ͷҧ͍Ͱ͸ʁ – ถࠃاۀ͸ɺมԽʹڧ͍ςΫϊϩδʔΛ࢖͍͍ͨ – ೔ຊاۀ͸ɺ࢖͍׳ΕͨςΫϊϩδʔΛ࢖͍͍ͨ

    • σʔλϕʔεʹେ͖ͳҧ͍͕͋Δʁ – ถࠃɿάϥϑ%#ʢ৽͍ٕ͠ज़ʣ͕ଟ͘࢖ΘΕ͍ͯΔ – ೔ຊɿ3%#ʢ࢖͍ݹ͞Εٕͨज़ʣ͕ଟ͘࢖ΘΕ͍ͯΔ ͱ͍͏͜ͱΛ౿·͑ͯɺ 65*ͷࡉҪ͞Μʹ͓ฉ͖·͠·͢ɻ ೔ຊاۀͱถࠃاۀͷҧ͍ͬͯɾɾɾ
  9. Copyright © 2020 UTI Inc. All Rights Reserved. 1 A

    Graph Technology Company ೔ຊͰ།Ұͷ/FPK"VUIPSJ[FE%JTUSJCVUPSͱͯ͠ɺάϥϑσʔλϕʔε/FPKͷ σΟετϦϏϡʔγϣϯΛߦ͍ͬͯ·͢ɻ άϥϑ%#ɾ/FPKʹؔ͢Δ Ø ϞσϦϯά Ø ϥΠηϯεɾσΟετϦϏϡʔγϣϯ Ø αϙʔτ Ø ϢʔεέʔεͳͲ৘ใఏڙ Ø τϨʔχϯά Ø ίϛϡχςΟʔɾαϙʔτ
  10. Copyright © 2020 UTI Inc. All Rights Reserved. 2 ελοϑ঺հ

    ࡉҪ ެٛ גࣜձ̪̩̞ࣾ ୅දऔక໾ ུྺ ೔ຊੜ໋ɺϞϧΨϯɾελϯϨʔ ʢ౦ژʣɺιγΤςɾδΣωϥϧূ ݊ʢ౦ژʣΛܦͯɺฏ੒̍̔೥גࣜ ձ̪̩̞ࣾઃཱɻ ҊӜ ߒೋ גࣜձ̪̩̞ࣾ $50 /FPKϢʔβʔάϧʔϓɾϑΝ΢ϯμʔ ೝఆ/FPKϓϩϑΣογϣφϧ /FPKΞϯόαμʔ /FPK/JOKB ೝఆεΫϥϜϚελʔ ೝఆεΫϥϜϓϩμΫτΦʔφʔ ུྺ ࢈ۀೳ཰େֶ ৘ใϚωδϝϯτֶ෦uݱ୅ϚωδϝϯτֶՊଔۀ
  11. Copyright © 2020 UTI Inc. All Rights Reserved. 利点①:超⾼速グラフ演算 交渉の記録

    Element DependsOn A B A C A D C H D J E F E G F J G L H I J N J M L M 質問: AはMに依存しているか? ?
  12. Copyright © 2020 UTI Inc. All Rights Reserved. 利点①:超⾼速グラフ演算 交渉の記録

    質問: AはMに依存しているか? A M 同じデータのグラフ表現 一目瞭然… これ、人の思考回路の話だけで はなく、DBでも同じです。
  13. Copyright © 2020 UTI Inc. All Rights Reserved. Adobe Behance

    7 EE Customer since 2016 Q Ϣʔεέʔε Ø ສਓͷάϥϑΟοΫ ΞʔςΟετͷιʔγϟϧ ωοτϫʔΫ Ø ࡞඼ͷΦϯϥΠϯɾγϣʔ έʔεػೳͷఏڙ Ϗδωε՝୊ Ø ΞΫςΟϏςΟɾϑΟʔυ ʢ৽ن౤ߘ౳ͷϑΥϩϫʔ΁ͷ৘ใϑΟʔ υʣͷޮ཰Խ
  14. Copyright © 2020 UTI Inc. All Rights Reserved. 8 従来のアクティビティ・フィード

    Cassandra DBを用いて48台のマシンで 50TB近いデータセット ブロードキャストに15分! ϑΥϩϫʔ΁ͷϑΟʔυ ϑΥϩϫʔ΁ͷϑΟʔυ ϑΥϩϫʔ΁ͷϑΟʔυ ϑΥϩϫʔ9΁ͷϑΟʔυ "͞Μͷ৽ن࡞඼౤ߘ 書き込み ʜ
  15. Copyright © 2020 UTI Inc. All Rights Reserved. UXの向上 બ୒ͨ͠

    ߲໨਺ $BTTBOESB /FPK ̍ ඵ ඵ ̐ ඵ ඵ ̍̏ ඵ ඵ ฏۉॲཧ࣌ؒʢඵʣ
  16. Copyright © 2020 UTI Inc. All Rights Reserved. /FPKͷޮՌ ߲໨

    ޮՌ $BTTBOESB /FPK αʔόʔ਺ ˋ࡟ݮ !   ετʔϨʔδ ࡟ݮ! 5# (# ϒϩʔυΩϟετ࣌ؒ ࡟ݮ! ෼ ΄΅ॠ࣌ αʔόʔίετ ສˈ࡟ݮ! ʔ ʔ ϝϯςφϯε࣌ؒ ˋ࡟ݮ ! ʔ ʔ ݕࡧॲཧ࣌ؒ ࡟ݮ ! ඵ ඵ ػೳվળ େ෯վળ ! ʔ ʔ
  17. Copyright © 2020 UTI Inc. All Rights Reserved. グラフDB登場 =

    ビッグデータの時代 RDBの限界への対応 1. データ量の爆発 2. データ速度の爆発 n ピーク時データ流⼊量 n データ構造変化のスピード 3. データの多様化 n 構造化データ vs ⾮構造化データ n 個別的データ vs 接続データ 12 By Ender005 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=49888192 ΩʔόϦϡʔ ϫΠυΧϥϜ υΩϡϝϯτ 3%# άϥϑ%# ⼩ データの複雑度 ⼤ 複雑なデータ処理が可能 処理の分散がしやすい 出典:渡部 徹太郎 他. 「RDB技術者のためのNoSQLガイド」
  18. Copyright © 2020 UTI Inc. All Rights Reserved. 世界は表構造で出来ているのか? 13

    person pID 名前 職業 1 太郎 医者 2 次郎 プログラマー gID 商品名 価格 G10001 Tシャツ 3,000円 G10002 ケトル 5,000円 G10003 鍋 8,000円 pID gID date 1 G10001 2020/10/23 2 G10001 2020/11/03 2 G10002 2020/10/01 goods purchase_goods
  19. Copyright © 2020 UTI Inc. All Rights Reserved. 世界は表構造で出来ているのか? 14

    pID: 1 名前:太郎 職業:医者 pID: 2 名前:次郎 職業:プログラマー gID: G10001 商品名:Tシャツ 価格:3000円 gID: G10002 商品名:ケトル 価格:5000円 gID: G10003 商品名:鍋 価格:8000円
  20. Copyright © 2020 UTI Inc. All Rights Reserved. 世界はグラフ構造で出来ている 15

    ⾦融取引 NEAR NEAR VISITED NEAR MANAGES VISITED NEAR VISITED VISITED VISITED VISITED VISITED パンデミック・トラッキング Infrastructure Maintenance Health Care Social Services eガバメント ⼈間関係 Knows Knows Knows Knows Bought Bought Viewed Returned Bought ビジネス・プロセス 電⼦ネットワーク gID: G10002 商品名:ケトル 価格:5000円
  21. Copyright © 2020 UTI Inc. All Rights Reserved. 企業内にも存在する様々なグラフ 16

    BOM/サプライ・チェーングラフ クレーム/保証分析グラフ 顧客360°グラフ ナリッジ・グラフ (例) •在庫の最適化 •製品に必要な全部品の抽出およびコスト算出 •ある部品に不具合が⽣じた際、 ロット情報を辿って影響の及 ぶ範囲を特定 (例) •顧客離脱の未然防⽌ •顧客エクスペリエンス向上 •クロスセルなど提案⼒向上 など •様々な事柄への基本情報 顧客ニーズ、部品調達、マーケット分析 など ϓϩμΫτ৘ใ ސ٬৘ใ Πϕϯτ৘ใ ૊৫৘ใ αʔυόʔςΟʔσʔλ จॻ ઃඋ ϓϩηε γεςϜ͓Αͼ σʔλϕʔε ,1*͓Αͼ ֤छใࠂ ݸਓ৘ใ ސ٬ؒؔ܎ੑ ৘ใ จॻ ϓϩηε ϓϩμΫτৄ ࡉ ϓϩμΫ τߏ଄ #0.ʢ෦඼ දʣ ηϯαʔ৘ใ อূ͓ΑͼΫ ϨʔϜ ΧελϚʔίϯλ Ϋτ ιʔγϟϧ ϝσΟΞ Ϛʔέοτ৘ใ ૊৫ߏ଄ ձࣾ৘ใ αϓϥΠνΣʔϯσʔ λ αϓϥΠϠʔ ৘ใ ෺ྲྀ৘ใ ࡏݿ৘ใ σΟʔϥ৘ใ その他 ネットワーク管理 インフラ管理 コンプライアンス対応 ⼈事管理 など 企業内データ
  22. Copyright © 2020 UTI Inc. All Rights Reserved. グラフDB Neo4jの特徴

    17 データ構造の柔軟性 (アジャイル性能) • 運⽤しながら新しいデータ構造の導⼊が可能 • 関係性の記録が容易 (=新たな関係性の為の新たなテーブルを必要としない) • DBサイドのクエリで出来ることが増えている ← 開発効率の⼤幅向上 • プロパティ・グラフ・モデル CAR DRIVES name: “Dan” born: May 29, 1970 twitter: “@dan” name: “Ann” born: Dec 5, 1975 since: Jan 10, 2011 brand: “Volvo” model: “V70” Latitude: 37.5629900° Longitude: -122.3255300° MARRIED TO LIVES WITH OW NS PERSON PERSON ※ スキーマ定義が不要! 超⾼速グラフ演算 • データ間の関連付⽅法の違い Neo4j データをダイレクトに接続 → ⾼速化! RDB 関係性は、keyで探す • (関係性の演算が多く)バッチ処理していたプロセスの リアルタイム化 (例)リコメンデーションの為の夜間バッチをリアルタイム化に成功。 いち早くマーケット・トレンドにキャッチアップして成功 • 今まで、数分〜数時間かかってた検索が、数⼗ミリ秒 (例)SNSでのブロードキャスト時間が、15分から瞬時に! (例)リコール部品発⽣時の影響範囲調査が瞬時に! Robert Berlin 各ノードが接続先アドレスを保持。 つまり、つながっている。(「keyで探す」ことなく、「探せる」) ビジネス/開発ニーズ変化への柔軟な対応 リアルタイム化など DBで複雑なデータ 処理が可能
  23. Copyright © 2020 UTI Inc. All Rights Reserved. 利点②:データ構造の柔軟性 18

    ノード l 上図で◦で表されているもの。 l 分類⽤ラベルが付与出来ます。 l 概念上の⼀まとまりのものであれば、なんでもノードに出来ます。 (例)⼈物、会社、性別や種類といった分類、結婚や⼤学 ⼊学というイベント、正常・異常といった状態 リレーションシップ l 上図の↑で表されているもの。 l タイプ名を付与出来ます。 l ⽅向があります。 プロパティー l ノードおよびリレーションシップは、プロパティを持てます。 l 上図のCARであれば、brand、model、Latitude、Longitudeなど がプロパティーです。 ノードおよびリレーションシップのデータ構造 新しい事象への対応が簡単かつ柔軟! ‥ brand:”TOYOTA” model:”Crown -2015” 名前:”Ann” ⽣年⽉⽇:2005/6/1 名前:”Dan” ⽣年⽉⽇:1995/1/1 MARRIED_TO LIVES_WITH OW N S DRIVES データの構成要素 メーカー:トヨタ モデル:クラウン 年式:2015 名前:”Ann” ⽣年⽉⽇:2005/6/1 名前:”Dan” ⽣年⽉⽇:1995/1/1 MARRIED_TO LIVES_WITH OW N S DRIVES _REFUEL ⽇時:2020/4/1 場所:皇居前ENEOS 量:10リットル ⾦額:1300円 _REFUEL _REFUEL _REFUEL [拡張1] 給油記録が必要 になった場合… INVOLEVED ⽇時:2020/4/1 場所:⻄⿇布交差点 メーカー:⽇産 モデル:シーマ 年式:2015 INVOLEVED [拡張2] 事故を記録する必要が でた場合… 名前:”Taro” ⽣年⽉⽇:1990/5/1 DRIVES NEGO ⽇時:2020/4/30 内容:⽰談 詳細:•••• NEGO NEGO NEGO 事故の相⼿⽅情報 交渉の記録 従来システム システム拡張 システム拡張時(例)
  24. Copyright © 2020 UTI Inc. All Rights Reserved. 利点③:DBでの複雑なデータ処理が可能 アプリ開発が変わります

    UI (⼊⼒) Neo4j データ 抽出 &加⼯ アプリ側 後処理 アプリ側 前処理 UI (出⼒) UI (⼊⼒) DB データ 抽出 アプリ側 後処理 アプリ側 前処理 UI (出⼒) DBで⾏うことが増え アプリで⾏うことが減る Neo4j 従来のDB DBが、かなりの程度の加⼯ 開発/メンテナンス⼯数・納期・コストの削減
  25. Copyright © 2020 UTI Inc. All Rights Reserved. 利点③:DBでの複雑なデータ処理が可能 アプリ開発が変わります

    「Neo4jソリューションは、 従来のMySQLソリューション より数千倍⾼速で、しかも 1/10から1/100のコード量で 実現出来ました。 更に、MySQLでは不可能だっ た機能を追加できました。」 eBay社 シニアデベロッパー Volker Pacher⽒
  26. Copyright © 2020 UTI Inc. All Rights Reserved. 複雑なデータ処理を⽀えるグラフ・ライブラリー グラフ・ライブラリーと適用

    影響展開(依存関係検索) つながっている⼀連のノードを検索することは、グラフ検索の基本です。 複雑なロジックを組まず、簡単な検索⽂でノード抽出が出来ます。 依存関係がたとえ100万ホップでも、検索は⼀瞬です。 • 各種リコメンデーション 「コールセンターのQ&A」、「故障検知の際の装置の効率的なチェック順のリコメンド」、「社内空 きポジションに、最適な社内⼈材は誰か」、など、様々な場⾯に対してリコメンデーションを組込む ことが可能です。 類似度分析、協調フィルタリング、コンテンツ・ベース・フィルタリングの⼿法をDB側で実現します。 ルート検索/コスト最適化 ・最短ルートやコストや時間を加味した最適ルート検索が出来ます。 顧客セグメンテーション コミュニティー発⾒の各種アルゴリズムを網羅。 インフルエンサー特定、重要ノード特定 PageRankや次数中⼼度など中⼼性発⾒の各種アルゴリズムを網羅しています。 犯罪予知、創薬への応⽤ 「このような条件の所で犯罪であれば、他のこんな場所で起こりやすい」、「この繋がりと似た形状 の化合物であれば、似たような性質を持つかもしれない」など、犯罪予知や創薬分野で利⽤される、 リンク予想アルゴリズムを実装しています。
  27. Copyright © 2020 UTI Inc. All Rights Reserved. 23 グラフ・エンハンストAI(グラフにより強化されたAI)

    AIにとって重要なコンテクスト AIの⽬指す所は、⼈と同じレベルの判断です。 ⼈は意思決定に、コンテキストを⽤います。 グラフはコンテクスト付きでAIを学習させます。 (例)旅⾏⼿配 コンテクスト1:ビジネス or 休暇 コンテクスト2:単独 or 他の⼈と⼀緒 (例) 「出て⾏け!」という⾔葉 コンテクスト:友⼈からの突然のサプライズへの返し or 仕事で失敗し怒っている上司からの⾔葉 グラフが提供する4つのコンテクスト ナリッジグラフ AIの意思決定⽀援にコンテクストを加えます。 • グラフ・アクセラレーティド機械学習 グラフ技術を⽤いモデルを最適化し、学習処理を⾼速化 します。 コネクティド・フィーチャー データ内の予測に効く重要な要素を特定します。重要な 特徴を予測モデルのベースに、重要でないものを省くこ とで、精度が向上します。 説明可能なAI AIのブラックボックス性を説明可能にします。
  28. Copyright © 2020 UTI Inc. All Rights Reserved. ネットワークキャリアにおけるVLAN設定 24

    [Device] [Device] [Device] [Device] [Device] [Link] [LinkOpt] [LinkGroup] [LinkGroup] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [Port] [ROUTE] [ROUTE] [ROUTE] [ROUTE] [ROUTE] [RO UTE_O PT] [RO UTE_O PT] [ROUTE] [ROUTE] [CONNECT] [CONNECT] [CONNECT] [CONNECT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [C O N N EC T] [CONNECT] [CONNECT] [CONNECT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [CONNECT] [CONNECT] [ADAPT] [ADAPT] [CO NNECT] [CO NNECT] [ADAPT] [ROUTE] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [ADAPT] [CONNECT] [CO NNECT] [CO NNECT] [CO NNECT] [ROUTE] [ROUTE] 8 従来 Ø 手動設定 冗長性も含めロジックが複雑であり、従来システムでは不可能。 人の目と手でルート算出・設定を行っていた。 VLANプロビジョニング Neo4j Ø ルート算出の自動化 Ø 設定(プロビジョニング)の自動化 Ø 各種制約条件の考慮 効果 Ø 人的リソース削減 Ø 正確性の向上 ユースケース VLAN経路を追加/削除のプロビジョニングとは •L2/L3装置物理レイヤー ネットワークキャリアにおいては、L2/L3装置から成る物理ネット ワークは、各装置をノードとし、接続関係をエッジとするグラフ構 造(=ネットワーク構造)です。 •仮想レイヤー(VLAN) 各種クライアント毎に、割当た物理経路を、仮想レイヤーVLANと して管理します。 •経路検索 VLAN経路の追加の場合、当然、物理レイヤー上での経路の存在が 必要です。それに加えて、「使えるのか」、「使って良いのか」、 つまり、「空いている」かを考慮する必要があります。 Neo4jでは、物理レイヤーも仮想レイヤーも同じグラフ上にロード されているので、仮想レイヤーでの空き状況をチェックしながら、 「空いている」物理経路を探すことが出来ます。 グラフDBの効果 RDBでは、プログラムサイドに負荷がかかり過ぎて実現出来なかっ た経路算出を、 Neo4jではDBサイドのみでシンプルなロジックで 完結させることが出来ます。 必要とされる演算は、極めてグラフ的であるので、RDBでシステム を組もうとした場合に⽐べて、10の1以下のコストで、1000 倍以上速いシステムの構築に成功しました。
  29. Copyright © 2020 UTI Inc. All Rights Reserved. 新型コロナの情報収集 25

    ユースケース (⽇本での適⽤事例)Covid19japanプロジェク(covid19japan.com) 現在⽇本にSingle Source of Origin(ここだけを⾒れば情報が取れるとい う唯⼀のデータ元)が無い中で、同サイトでは、厚労省、都道府県、市 町村まで含む数百のデータソースから、データを収集・公開している。 (件数データの集計は多くのサイトでなされているが、濃厚接触者情報 を含む詳細を網羅しているのはここだけ。) ①第⼀報=NHK 件数、性別、 発⽣都道府県 ②①に基づき全ての情報を ⼊れる箱を1件毎に作る。 (愛知県◦例⽬など) ③都道府県発表 ③市町村発表 案件ノード 全情報を ここに格納 フィード フィード フィード 別の人に 同じ番号 が振られる ことも 同じ人に違 う番号が振 られる事も 発表と都 道府県が 異ってい ることも 年齢や性別 など矛盾す ることも マスターデータ管理システム(MDM)としてのNeo4j ⼀例として採番ルールを挙げる: ü 同⼀⼈物に対して、市と県の両⽅から別々の番号で別々の発表 ü PCR検査誤判定で、陽性患者への番号を取消し、別患者にその番号 を再利⽤させる ü 同⼀⼈物が2度⽬の罹患の際、別件として2つ⽬の番号が振られる ü ある⼈物が他県へ移動した場合に、両県から別番号で発表される など、様々なパターンへの柔軟な対応⼒が必要であった。 今回は、患者ノードに結付く別ノードとして、都道府県番号や市番号 を記録している。患者中⼼に別ノードで番号を管理していることは、 現実の⼈物に対して番号が振られることのミラーとなっているので、 複数番号の管理でも容易に出来る。 患者 クラスタ 府番号 市番号 独⾃番号
  30. Copyright © 2020 UTI Inc. All Rights Reserved. 新型コロナの情報収集(続き) 26

    ユースケース データクレンジングの為のNeo4j 都道府県及び市町村発表は、「⼈が読む⽂書」であり、「可読性」 が重視されているが、本プロジェクトでは、その⽂書から必要デー タの抽出を⾏っている。 その際、例えば、年代と性別を①まとめて⼀項⽬として表⽰、②別 項⽬で表⽰、など記載表現の違いがある。 本プロジェクトでは、Neo4jによりデータクレンジングを⾏なって いる。 Neo4jのプロパティは、型の制限は無く、取り敢えず格納出来る。 この「取り敢えず格納」は記載表現がバラバラの情報には有効で、 取り敢えず格納後に、⽤意してあるスクリプトで必要情報を抽出す る。今までのパターンに当て嵌まらない場合は、新たなスクリプト を⽤意し、その後のデータ抽出に役⽴てる。 データ利活⽤の為のNeo4j(前ページの右図参照) Neo4jの最⼤の特徴は、データを関係性の⽂脈で記録することであ る。 ①感染経路の視覚化 Neo4jでは、感染経路は、前ページ右上図の患者ノード(オレン ジ)の繋がりとして⾒て取れる。 さらに、データを利活⽤の応⽤例として、濃厚接触者、及び濃厚接 触者の濃厚接触者をリストアップする簡単なアプリを考えてみる。 患者 A 従業員 B 会議X 会議Y 従業員 C 会議Z 濃厚接触者 @会議X 濃厚接触者B への濃厚接触者 @会議Y スケジューラー・アプリから のスケジュールの抽出 出席 出 席 出席 出 席 出 席 (開発イメージ)社内⽤濃厚接触者等リストアップアプリ //濃厚接触者の検索 MATCH (患者A)-[:出席]à(会議)ß[:出席] -(従業員)RETURN 従業員 //濃厚接触者の濃厚接触者の検索 MATCH (患者A)-[:出席]à(会議)ß[:出席] -(従業員)-[:出席]à(会議)ß[:出席] -(従業員) RETURN 従業員 上図は、社内に感染者(患者A)が発⽣した場合、 濃厚接触者と、濃厚接触者の濃厚接触者をリストアップするアプリの仕 組みを⽰す: 濃厚接触者 ⇨患者と同じ会議に出ている従業員を検索 濃厚接触者の濃厚接触者 ⇨患者と同じ会議に出ていた従業員が出席 した会議に出席していた従業員を検索 アプリの開発は、データフィードとGUIを整えれる以外は、ほぼDBの検 索のみで完結する。 検索⽂は、以下の通り直感的である。
  31. Copyright © 2020 UTI Inc. All Rights Reserved. 新型コロナの情報収集(続き) 27

    ユースケース 「ヘルスケアおよびそれをサポートするあらゆる分野 のデータおよび分析のリーダーは、グラフアプローチ を使⽤してCOVID-19危機への対応を改善しなければ なりません。グラフ技術は、製造業者、サプライヤー、 流通業者、介護者の間の複雑な関係がもたらす課題に 対応するのに役⽴ちます。」 Gartnerレポート 2020年4⽉ CovidGraph(知識グラフ) ドイツ糖尿病研究センター(DZD)を中⼼とするグルー プがCOVID-19に関する知識グラフ・プロジェクト。 科学⽂献や知的財産から得られるテキストデータと、遺 伝⼦、タンパク質、その機能や制御などの⽣物医学研究 から得られる臨床試験、医薬品、企業等を結びつけるこ とを⽬指します。 研究データ、特にヘルスケア分野のデータ(⽂献他)は、 本質的には相互に結びついていますが、多くの場合、サ イロ化しています。データソースを接続することで、そ れをより包括的に⾒ることができます。
  32. Copyright © 2020 UTI Inc. All Rights Reserved. ⽂書管理への応⽤ 28

    ユースケース 固有名詞 メタ情報 地名 団体名 地名 団体名 グループ名 1 避難:5.7 遮断:5.6 豪⾬:5.6 ⽔:4.8 家:3.2 2 ⽔道:4.9 復旧:3.2 地域:3.2 道路:3.2 被災:3.1 3 電気:22.7 充電:2.1 バッテリー:2.1 準備:1.7 ⼆:1.5 4 発⽣:2.3 危険:2.3 ガス:2.2 場所:2.1 機器:2.0 5 停電:5.4 さん:3.2 可能:2.3 詳細:1.8 供給:1.8 6 災害:24.7 問題:1.0 ネット:0.9 ぁぁ:0.7 七:0.7 7 ⾃然:3.8 テレビ:1.8 地震:1.7 時間:1.6 ⽅法:1.5 8 対策:2.6 電話:2.4 県:1.9 住⺠:1.8 本部:1.5 9 情報:3.5 ⼼:2.5 ニュース:1.9 コロナ:1.9 ⼤切:1.5 10 必要:4.0 ⼈:2.7 防災:2.2 SNS:1.6 救援:1.6 グループ別ポイント上位ワード グラフ検索を⽤いた⽂書の効率的な検索 上記の⼿順により作成されたワードのグループ分類とポイントを 利⽤し、検索ワードを改善することにより、欲しい⽂書を効率良 く探し出します。 ワードグラフ作成⇨ワードのグループ分類 各⽂書から抽出されたキーワードからワー ドグラフを作ります。 さらに、ワードの共起性(同時に⽤いられ 易い単語の組合せ)に基づきワードをグ ループに分類します。 各ワードへのポイント付与 ワード間の関係性に基づく重要性 に基づくポイントを付与します。 情報収集の⾼度化イメージ 1 Copyright 2019 FUJITSU LIMITED 解約 I.当初キーワード ②⾔語解析 & ワードグラフ作成 ク レ ー ム ・ ・ ・ ・ ・ ・ Aamazon レポートなど ③ キ ー ワ ー ド を 追 加 /除 外 検索⾼度化 サイクル プロバイダ ④情報活⽤ クラスタ分類 ポイント付与 II.検索結果 Ⅲ.クラスタ分類 ポイント付与 ① 検 索 実 施 追 加 系 除 外 系 ⽂書の知識化 NLP(⾃然⾔語解析)によりキーワードを抽出。 さらに外部知識と結びつけて、社内外を通じた知識基盤とする。 外部知識は⼀般的なもの(wikipediaやMS Conceptnet他)と、 社内における知識も⽤います。 これらによって例えば、国際地質科学連合が団体名、チバニアン が固有名詞であることを「知識」として、システム的に利⽤可能 にします。
  33. Copyright © 2020 UTI Inc. All Rights Reserved. ⽣産性向上のための社内MDM:Airbnb Airbnbは世界中に3,500⼈以上の従業員を抱えており、データの量と

    複雑になったDBを管理するという課題に直⾯していました。同社は データウェアハウスで20万以上のテーブルを管理していましたが、 複数のクラスターに分散していました。 従業員に社内⽂書の検索性に関する調査を⾏った所、⾮常に低い評価 で、Airbnbのソフトウェアエンジニアのジョン・ボドリー⽒は「皆は どうやって欲しいデータのテーブルを⾒つければ良いのかさえ分かっ ていなかった 」と、振り返っています。 Neo4jを使って、データポータルと呼ばれる社内のMDMツールを作成し、 データサイロをつなぎ、社員が必要なデータを簡単に⾒つけられるよう にしました。Neo4jは、会社の業務に完璧にフィットしていました。 Bodley⽒⽈く、「会社はグラフである」と。 ⽂書管理への応⽤(続き) 29 ユースケース (ユースケース)顧客360度への応⽤ データアップロード ①社内に存在する各種データベース ② NLP(⾃然⾔語解析)による各種⽂書からキーワード をNeo4jにデータをアップロードします。 データのエンリッチ化 さらに、データ相互の同⼀性、依存関係、従属関係、所属関 係、依存関係、友⼈関係などの関係性を接続します。 例えば、アップロード⽤のプログラムにおいて、 ① オンラインストア上のAさんの購買記録 ② カスタマーサービス上のAさんの故障受付 ③ CRM上のAさんのデータ ④ 顧客同⼠の家族関係、友⼈関係など を関係性で結ぶようにしておきます。 これだけで、Aさんに関係する全事象のデータを簡単に取得で きるようになります。 つまり、今までデータの関係性毎に膨⼤なプログラム的⼿当 てが必要であった「顧客360度の実現」が、ごくごく簡単な 「関係性で結ぶ」ことに置き換わります。 エンリッチ化
  34. Q ˜UIBOLJU$P -UE "MM3JHIUT3FTFSWFE • ΋͔ͨ͠͠Β೔ຊ΋ถࠃ΋มԽ͢Δ͜ͱ΁ͷ఍߅ײ΍ࠔ೉ੑ͸ࣅͨΑ͏ ͳ΋ͷͰ͸ʁ • اۀ಺Ͱ৽͘͠ࣄۀΛ࡞Δ͜ͱ͕ॏཁʢมԽ͢Δ͜ͱΑΓ΋఍߅ײ͕গ ͳ͍ʣ

    • ৽͍͠ࣄۀ͸৽͍ٕ͠ज़Ͱߏங͢΂͠ɺͦͷཧ༝͸ – ৽͍ٕ͠ज़͸ॊೈੑ͕ߴ͍ – ৽͍͠։ൃख๏͸ॊೈੑ͕ߴ͍ – มԽ͕ܹ͍͠ࣄۀ؀ڥʹ૬Ԡ͍ٕ͠ज़͕͋Δ • ݹࠓ౦੢ɺγεςϜͷࠜװ͸σʔλʢσʔλϕʔεʣʹ͋ΔͨΊσʔλ ϕʔεͱͯ͠ԿΛ࠾༻͢Δ͔͸ϏδωεͱγεςϜͷڝ૪ྗͷݯઘͱͳ Δ ·ͱΊ