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

Jagu'e'r データ利活用分科会 #27 そのLooker構成、世界で戦える? ~グローバ...

Jagu'e'r データ利活用分科会 #27 そのLooker構成、世界で戦える? ~グローバル展開のための設計術~

More Decks by LegalOn Technologies, Inc

Transcript

  1. 2 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. •

    自己紹介・会社紹介 • 初期から現在へのLooker構成の変化 • 前提情報・課題背景の共有 • Lookerプロジェクトの分割単位の検討 • グローバル展開に向けたLookerの構成検討 • Connectionの切り替えを利用した動的なview参照方法 • 今後の課題・まとめ 目次
  2. 4 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. <Purpose>

    法とテクノロジーの力で、 安心して前進できる社会を創る。 LegalOn Technologies 会社紹介 株式会社LegalOn Technologiesは、AI×リーガルのグローバルカンパニーです。 弁護士の法務知見と自然言語処理技術や機械学習などのテクノロジーを組み合わせ、 法務業務のイノベーションを推進するサービスを開発・提供しています。 会社名  株式会社LegalOn Technologies 設立  2017年4月21日 従業員数 597名(役員・グローバル含む/2025年6月時点) 資本金  178.5億円(資本準備金等含む) 所在地  〒150-6219 東京都渋谷区桜丘町1-1      渋谷サクラステージSHIBUYAタワー19F
  3. 5 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. LegalOn

    Technologiesが提供するサービス サービスについて 法務業務 AI 法務プラットフォーム 社長向けお悩み相談メディア「ちょこっと弁護士Q&A」 AI カウンセル 契約業務 学習支援 ※LegalOn Technologiesの米国法人が提供 オンライン法務学習支援サービス 契約学習メディア「契約ウォッチ」 法務の可能性を広げるメディア メディア スタートアップ向けお役立ち情報メディア 経営・コーポレート支援 法務・契約業務支援
  4. 6 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 初期から現在のLooker構成への変化

    当初、Lookerのプロジェクトはプロダクト単位で1つでした。 グローバル展開を見据えてLookerプロジェクトを分割していますが、その背景・設計思想に 関してお話しします。 日本のデータ JP用 Google Cloud Project import・explore作成用 Lookerプロジェクト
  5. 7 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. データ基盤の構成要素

    - 全体像 Looker・dbtによるデータ基 盤 データソース (BigQuery) データソース保存 データ加工 データ可視化・抽出 1. Lookerのセマンティックレイヤーの機構を活かすために、DBやLogなど 多岐に渡るデータをそのまま結合させたexploreの提供 2. ビジネスロジックを内包したデータマートを作成して提供 Looker
  6. 8 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. •

    APIのリクエスト・レスポンスをそのまま連携しており、 Lookerにimportしているviewファイルが1000を超えるようになった。 • 結果的にファイル数が多くなり、validationやcommitなどを行う際の待ち時間が伸びていた。 背景・課題 上の画像は一部データセットに含まれるテーブルが1000件を超え、import時に全て表示されなくなったもの Viewだけでも数千個存在しており開発に時間が掛かっていた
  7. 9 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 改善前のLooker側フォルダ構成・役割

    log ├── imports │ ├── xxx_api_req.view.lkml │ └── xxx_api_res.view.lkml └── refinements │ └──サービス名 │ └──xxx_api.view.lkml db ├── imports │ └── yyy_db.view.lkml └── refinements │ └── サービス名 │ └──yyy_db.view.lkml explores └── サービス名 importsフォルダ • テーブルからviewを作成する • データソースの破壊的変更を想定し特別な加工は行わない refinementsフォルダ • imports配下にあるviewをincludeし、labelの追加や dimension、measureの作成を行う exploresフォルダ • refinementsフォルダ配下のviewをincludeし、 exploreの定義を行う 当初はプロダクト単位で1つのLookerプロジェクトで作業を完結していました。
  8. 10 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 改善案及び検証結果

    対応案 運用コスト 1 imports部分のみ、まとめて別プロジェクトで管理する 低 2 imports部分をデータソース毎に分けて、別プロジェクトで管理 中 3 importsだけでなくrefinementsも分けて、別プロジェクトで管理 高 validation時間 改善前 30秒前後 プロジェクトAからBをincludeし、refinementsを数個定義 3~4秒 案1でも十分な効果があると判断
  9. 13 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. グローバル展開を進めていく上で、

    システムアーキテクチャにおけるサービスを大きく2つに分類している。 前提条件・用語説明 グローバルサービス - 全リージョン共通で利用されるサービス 例:契約書のレビュー機能など リージョナルサービス - 特定リージョン固有の要件やユースケースに対応するためのサービスのこと 例:日本における反社チェックなど
  10. 14 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. BigQueryのプロジェクト・データセットのリージョンは別とする

    ただし、グローバルサービスのテーブル名とテーブル構成は同じになることを想定 前提条件・用語説明 サービスXのデータを格納する場合 • プロジェクトA(日本用) ◦ データセット:X (asia-northeast1) ◦ テーブル名:table_name • プロジェクトB(US用) ◦ データセット:X (us-centoral1) ◦ テーブル名:table_name
  11. 15 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 解決アプローチ

     1.Lookerプロジェクトの分割 ・import用とexplore生成用の明確な役割分担 ・グローバルサービスは共通のviewフ イルで管理  2.local dependencyを利用した動的な参照元切り替え ・exploreプロジェクト側のconnectionをimport側に適応させる
  12. 16 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. view:

    view名 { sql_table_name: `プロジェクト名.データセット名.テーブル名` ;; } import用Lookerプロジェクトでの作業内容 importされたファイルからプロジェクト名を削除する view: view名 { sql_table_name: データセット名.テーブル名 ;; } 何も削除されてない場合、 記述通りにテーブルを参照する 削除されている場合、 Lookerプロジェクトのconection 情報を利用してテーブルを参照する
  13. 17 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. include:

    "//import用Lookerプロジェクト名/views/データセット名/imports/view名" # ------------------------------------------------------------------------------------ # # Measure追加 # # ------------------------------------------------------------------------------------ view: +view名 { measure: measure名 { type: count_distinct label: "ファイル数" sql: ${カラム名} ;; } explore用Lookerプロジェクトでの作業内容 新しいdimensionやmeasureを定義する場合、 explore用Lookerプロジェクト側で定義を行う テーブルをimportした際のviewを includeしているため、元のカラムは この記述だけで参照可能
  14. 18 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 動的な参照元の切り替えを実現するための仕組み

    connection: "JP(explore用)" local_dependency: { project: "グローバルサービス(import用)" } • importするviewではプロジェクト名を設定しない • modelファイルでのconnection設定 • explore側でlocal_dependecyを設定 view: view名 { sql_table_name: データセット名.テーブル名 ;; } 1. ダッシュボード実行時、explore用 プロジェクトに設定されたconnectionが 参照される 3. includeされたグローバルサービスの データを参照する際、親であるexplore用 プロジェクトのconnectionで上書きする 2. プロジェクト名が存在しないため 通常はimport用プロジェクト側の connectionを利用する
  15. 19 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. グローバル展開に対応するための最終的なLooker構成

    2. プロジェクト名が存在しないため、 通常はimport用プロジェクト側の connectionを利用する 1. ダッシュボード実行時、explore用 プロジェクトに設定されたconnectionが 参照される 3. includeされたグローバルサービスの データを参照する際、親であるexplore用 プロジェクトのconnectionで上書きする ③ ③ ② ② ① ①
  16. 20 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. 今後の課題・展望

    ①: グローバルサービスにおける環境差異 ②: ダッシュ ードへの反映コストの削減 ③: リージョン跨 のデータ提供 • イレギュラー対応されるケースを想定し、監視・検知できる仕組みは必須。 • グローバルなKPIを定め、ある程度同じ指標を見る方針になっているが、exploreや ダッシュボードの修正はリージョン数だけ発生する。 • 各リージョンのデータはリージョンを分けてデータセットに格納しているため、事前にデータ の加工が必要。リージョンの数が増えても機械的に対応できる仕組みを考えていく。
  17. 21 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. まとめ

    Lookerのプロジェクトをうまく分割することで、 開発効率をあげつつ、運用コストを削減してグローバル展開が可能 1. ファイル数が多い場合、importファイル用のLookerプロジェクトを 設けるだけでもvalidationなどの実行時間が削減可能 2. local_dependencyとconennctionの設定を組み合わせることで、 同じviewファイルから複数プロジェクトのテーブルを参照できる 3. リージョンごとにどこまで共通化したルールとするか、 社内での方針確定は必須
  18. 22 本資料は貴社の便宜のためのみに提供されるものであり、複写、引用または第三者の閲覧に供される際は株式会社LegalOn Technologiesの了承を得てください。また、当該資料の利用により直接または間接に生じた損害や損失等について、株式会社LegalOn Technologiesは一切の責任を負いません。©LegalOn Technologies, Inc. all rights reserved. Data

    & AI Summit ’25 Spring 登壇資料 データの見えない糸を紡ぐ :LLMを活用したLookerとdbtによるメタデータ戦略 - Speaker Deck メタデータ戦略に関する簡単な紹介 LLMを活用したメタデータ戦略に関する発表を最近行ったものがありますので、 もしよければ合わせてご覧ください。