Slide 1

Slide 1 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 1 データカタログ 事例から学ぶメタデータ管理の実態 2024.11.28 Streamlitで開発した自作データカタログの導入

Slide 2

Slide 2 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 2 自己紹介・会社紹介

Slide 3

Slide 3 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 3 山口歩夢 所属 株式会社GENDA データエンジニア 経歴 営業職     :4年 データエンジニア:3年 発信 著書   :Streamlit データ可視化入門     Streamlit入門 Pythonで学ぶデータ可視化&アプリ開発入門 ブログ   :https://qiita.com/Ayumu-y X(旧Twitter) :https://x.com/Yamaguchi_aaaaa Snowflake Squad:https://www.snowflake.com/en/snowflake-squad/ 自己紹介

Slide 4

Slide 4 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 GENDAについて 会社紹介 4 GENDAに多くのグループ企業が所属 グループを横断したデータ活用で利益の向上を目指しています! グループを横断したデータ活用を推進するのが データチームのミッションです。

Slide 5

Slide 5 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 5 GENDA IDについて GENDAには多くの企業が所属し、 非常に多くのプロダクトや幅広い種類のデータが存在しています。 GENDAが提供するサービスの相互送客を可能にする機能 「GENDA ID」を導入し、IDとプロダクトの紐付けを実現します! 会社紹介 GENDA IDのイメージ図

Slide 6

Slide 6 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 6 GENDA IDについて これが拡大していけば、 データチームはGENDAの多種多様なデータを 横断的に取り扱うことになります。 GENDAのデータチームで働く楽しい部分の一つです! 会社紹介 GENDA IDのイメージ図

Slide 7

Slide 7 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 7 どうしてデータカタログを自作したのか

Slide 8

Slide 8 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 8 メタデータの管理・検索機能に特化したものを作りたかった どうしてデータカタログを自作したのか ● 有料版やOSSの多機能なデータカタログを導入・活用する前に、社内でデータカタログの重要性を認識してもらう必要があった ● GENDAの幅広い事業でのデータ活用には、データリネージやデータ品質管理などの機能が最終的に必要になると考えた ● 初期ステップとして、アナリストの需要を満たすことに特化したデータカタログの作成を検討しようと考えた

Slide 9

Slide 9 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 9 費用を抑えたかった どうしてデータカタログを自作したのか ● データカタログの有用性が広まっていなかったため、導入時の費用はできるだけ抑えたかった ● 有料版は高額だったため、自作することによってこの課題を解決しようと考えた ● OSS版は費用面では魅力的だが機能が非常に多すぎるため、 アナリストに提供するにあたって活用しづらい印象を与えてしまう懸念があった

Slide 10

Slide 10 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 10 Streamlitを選んだ理由

Slide 11

Slide 11 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 11 低コストで必要な機能に特化したデータカタログを導入可能 Streamlitを選んだ理由 ● データカタログ導入にあたって、 有料のものは高額でOSSのものは機能が多いためアナリストが混乱する可能性があるという懸念点があった ● データカタログを自作することで、 費用面の課題をクリアしつつアナリストの需要に特化したデータカタログを導入するのが良いのではないかと考えた ドロップダウンでテーブル選択 検索機能

Slide 12

Slide 12 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 12 メタデータの最新情報の追跡が容易になると考えた Streamlitを選んだ理由 ● Snowflake上のテーブルのCOMMENTにメタデータを入れることで、Snowflake上でメタデータの一元管理が可能となった ● 以下のようなクエリを実行して、都度最新のメタデータをSnowflake上で管理した

Slide 13

Slide 13 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 13 UIを非常に手軽に構築できる ● 便利な関数が多く用意されていて、Pythonを使って非常に簡単にUIを構築可能 ● Pythonのみでアプリケーションの開発が行うことができ、データチーム内だけでデータカタログの開発を完結できる ● サーバーエンジニアやフロントエンジニアとのリソースの調整などが不要なため、機能の追加をデータチーム内で完結できる Streamlitを選んだ理由

Slide 14

Slide 14 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 14 Streamlit in Snowflakeを使用すれば簡単にアプリを展開できる ● インフラの知識がなくてもユーザーにアプリケーションを簡単にデプロイ可能 ● しかも、Streamlit in Snowflakeを動かす時と、アプリケーションがテーブルに対してクエリを実行するときに使用するウェアハウスの料 金のみの従来課金制 Streamlitを選んだ理由

Slide 15

Slide 15 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 Snowflakeコミュニティが活発である 15 Streamlit Forum SnowVillage Streamlitを選んだ理由 ● Snowflakeには、SnowVillageというコミュニティがあり、非常に活発に活動が行われている ● 何か困ったことがあっても、気軽にSnowVillageの皆さんに質問や相談をすることができるという点もStreamlitを選んだ理由の一つだった ● さらに現在では、Streamlit Forumという Streamlitについて質問やディスカッションができるページが公開されており、誰でも気軽に相談ができる

Slide 16

Slide 16 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 16 導入結果や導入時の苦労話

Slide 17

Slide 17 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 17 アナリストが分析に活用してくれた 導入結果 ● 導入した結果、無事アナリストがデータ分析にデータカタログを利用してくれた ● データ分析にデータカタログが役立つことが分かったことより、データカタログの有用性を社内に広めることができた

Slide 18

Slide 18 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 18 開発チームがメタデータの情報を共有してくれるようになった 導入結果 ● yamlにメタデータ定義を記載し、TerraformとGitHub Actionsを組み合わせ、メタデータを自動更新するフローの開発も実施 ○ これにより、データエンジニアではない人たちがメタデータの最新情報を共有してくれるような体制になった ○ データマネジメントが捗るようになり、良い結果を得ることができた

Slide 19

Slide 19 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 19 データカタログに必要な新たな機能を把握できた 導入結果 自作のデータカタログを導入することにより、今後データカタログに追加したい機能などが明確になった これによって、データマネジメントチームが実際にOSSのデータカタログの導入するに至った 【追加したい機能】 ● データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい ● ER図でデータのリレーションを把握できるようにしたい ● データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい ● データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい

Slide 20

Slide 20 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 20 どのような機能があれば使ってもらえるのか不明だった 導入時の苦労話 ● どのような機能やUIがあれば活用しやすそうかイメージするのに苦労した ○ 最終的には、以下のようにドロップダウンやテキストボックスでメタデータにアクセスできるように実装した ○ どんなUIや機能があれば使いやすいかアナリストに細かくヒアリングをし、試作品を共有しながらできるだけ要望に近づけた ドロップダウンでテーブル選択 検索機能

Slide 21

Slide 21 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 21 まとめと今後の展望

Slide 22

Slide 22 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 22 自作のデータカタログを導入してみて良かったです! まとめ ● 導入した結果、評判が良好だった! ○ 本当に使ってもらえるのか、上手くいくのかなどの懸念があったが、 導入してみた結果アナリストからの評判が良く、データ分析に活用してもらえた ● データカタログ導入の第一歩として、Streamlitは非常に有用だった ○ コストを抑えて、データエンジニアチームだけでデータカタログを開発をするのにはStreamlitは非常に有用だった 当初の目的であった、社内にデータカタログの有用性を広めるという目的も達成することができ、 更に今後新しく必要な機能も把握することができたため、 Streamlitでのデータカタログの開発に挑戦してみて本当に良かったなと感じています。

Slide 23

Slide 23 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 23 新しく必要性に気づいたことをOpenMetadataを使って実現していきたい 今後の展望 Streamlitの自作データカタログを導入したことによって、新しく必要な機能に気づくことができました。 それに伴い、データマネジメントチームではOpenMetadataを導入するに至りました。

Slide 24

Slide 24 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 24 新しく必要性に気づいたことをOpenMetadataを使って実現していきたい 今後の展望 今後はOpenMetdataで以下の実現を目指す ● データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい ● ER図でデータのリレーションを把握できるようにしたい ● データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい ● データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい

Slide 25

Slide 25 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 25 採用情報

Slide 26

Slide 26 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 26 GENDAでは一緒に働く仲間を募集しています! 採用情報 採用情報や社員インタビューなどが掲載されているnote、技術記事などは以下の2次元コードからご確認ください。 採用情報 note Creators Blog

Slide 27

Slide 27 text

© GENDA Inc. Streamlitで開発した自作データカタログの導入 27 ご清聴ありがとうございました!