Slide 1

Slide 1 text

© GENDA Inc. Streamlitのデータカタログが社内にもたらした変化 2024年8⽉28⽇ Data Engineering Study #25 「データカタログの現在地」 Data Engineer 山口 歩夢

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

© GENDA Inc. 本日のお話 Streamlitのデータカタログが社内にもたらした変化

Slide 4

Slide 4 text

© GENDA Inc. GENDAについて

Slide 5

Slide 5 text

© GENDA Inc. GENDAグループに多くのグループ企業が所属 GENDAについて

Slide 6

Slide 6 text

© GENDA Inc. グループを横断したデータ活用で利益の向上を目指しています! GENDAについて

Slide 7

Slide 7 text

© GENDA Inc. GENDAグループが提供するサービスの相互送客を目的とした機能 「GENDA ID」を導入し、 IDとプロダクトの紐付けをしています! GENDAについて GENDA IDのイメージ図

Slide 8

Slide 8 text

© GENDA Inc. GENDAデータチームについて 「グループ横断でデータ利活用ができるデータ基盤を構築・運用すること」が GENDAデータチームの役目です。

Slide 9

Slide 9 text

© GENDA Inc. 「グループ横断でデータ利活用ができるデータ基盤を構築・運用すること」が GENDAデータチームの役目です。 GENDAデータチームについて CTOも「GENDAの重要な武器の一つがデータである」 と言っており社内でデータの重要度が高い!

Slide 10

Slide 10 text

© GENDA Inc. GENDAデータチームについて 多種多様なデータが存在 ゲームセンターの ユーザーのプレイ履歴 オンラインサービスの プレイ履歴 カラオケの来店履歴 こちらはほんの一部で 多種多様なデータの横断的な利活用に貢献しています!

Slide 11

Slide 11 text

© GENDA Inc. 多種多様な事業・データが存在するため データマネジメントを進めたい GENDAデータチームについて

Slide 12

Slide 12 text

© GENDA Inc. そのためにデータカタログが必要! GENDAデータチームについて

Slide 13

Slide 13 text

© GENDA Inc. データカタログ導入まで

Slide 14

Slide 14 text

© GENDA Inc. ● データの関連性を把握できる状態 ○ ER図でデータのリレーションを把握が可能 ○ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 ● データ利活用が活発である状態 ○ 業務用語やデータの利用方法について把握が可能 ○ データやメタデータにアクセスするための方法が明確 ● データの品質を監視できる状態 ● データマートの作成者が把握できる状態 ○ オーナー情報の管理が可能 多種多様な事業・データを横断的に活用するために 以下のような状態を目指したい データカタログ導入まで

Slide 15

Slide 15 text

© GENDA Inc. データカタログを導入したいが 重要性の理解が社内で広まっていなかった ... データカタログ導入まで

Slide 16

Slide 16 text

© GENDA Inc. だからこそ Streamlitで自作した! データカタログ導入まで

Slide 17

Slide 17 text

© GENDA Inc. 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで

Slide 18

Slide 18 text

© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある データカタログ導入まで 『Streamlitでデータカタログを自作するまで』

Slide 19

Slide 19 text

© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで

Slide 20

Slide 20 text

© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... Streamlitを使うことで無料且つ比較的簡単に開発できそう 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで

Slide 21

Slide 21 text

© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... Streamlitを使うことで無料且つ比較的簡単に開発できそう チーム内で提案した結果「やってみよう!」ということになった 🎉 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで

Slide 22

Slide 22 text

© GENDA Inc. Streamlitで開発したデータカタログ

Slide 23

Slide 23 text

© GENDA Inc. 【機能】 ● 指定したスキーマのテーブル一覧 ● テーブルのカラム情報 ● テーブル内のデータプレビュー Streamlitで開発したデータカタログ

Slide 24

Slide 24 text

© GENDA Inc. こちらでデータベース , スキーマ, テーブルを指定すると ■ドロップダウンで Database・Schema・Tableを選択 Streamlitで開発したデータカタログ

Slide 25

Slide 25 text

© GENDA Inc. 指定したスキーマのテーブル一覧がこちらに表示されます ■ドロップダウンで Database・Schema・Tableを選択 Streamlitで開発したデータカタログ

Slide 26

Slide 26 text

© GENDA Inc. ■ドロップダウンで Database・Schema・Tableを選択 下部にここで指定したテーブルのカラムの情報やプレビューも表示されます Streamlitで開発したデータカタログ

Slide 27

Slide 27 text

© GENDA Inc. ■テーブルの概要を検索 赤枠の部分に検索したい文字列を入力すると Streamlitで開発したデータカタログ

Slide 28

Slide 28 text

© GENDA Inc. 指定したスキーマ内のテーブルの概要に検索をかけられます ■テーブルの概要を検索 Streamlitで開発したデータカタログ

Slide 29

Slide 29 text

© GENDA Inc. ● SnowflakeのCOMMENTにカラムやスキーマの概要を挿入 ● 接続元のネットワークを制限することでセキュリティ対策(利用者は VPNを利用) ● ALBを使用してhttps化 ● EC2に作成したアプリをcloneしてデーモン化して $ streamlit run を実行 Streamlitで開発したデータカタログ (システム設計 )

Slide 30

Slide 30 text

© GENDA Inc. Streamlit in Snowflakeでインフラをシンプルにすることも可能 Streamlitで開発したデータカタログ (システム設計 )

Slide 31

Slide 31 text

© GENDA Inc. ● データカタログを使用する人全員に Snowflakeアカウントを作成する必要がある ● 一度起動するとWHが15分間稼働し続けるので高額になる恐れがある ○ 現在はWHが稼働し続ける時間を調整できるようになりました! これらの理由で見送りました Streamlit in Snowflakeでインフラをシンプルにすることも可能 Streamlitで開発したデータカタログ (システム設計 )

Slide 32

Slide 32 text

© GENDA Inc. name: "EMPLOYEES" comment: "従業員マスター " change_tracking: false columns: - name: "EMPLOYEE_ID" type: "NUMBER(38,0)" comment: "従業員 ID。このテーブルの主キー。 " nullable: false - name: "FIRST_NAME" type: "VARCHAR(50)" comment: "名前。 " nullable: true - name: "LAST_NAME" type: "VARCHAR(50)" comment: "苗字。 " nullable: true - name: "SALARY" type: "NUMBER(10,2)" comment: "給与。ドル単位で格納。 " nullable: true - name: "HIRE_DATE" type: "DATE" comment: "雇用した日。日本時間にて格納。 " nullable: true Streamlitで開発したデータカタログ (メタデータ定義フロー ) 【tables/[テーブル名 ].yaml】 右図の例のように、 table毎にyamlでメタデータを記載しておく。 このyamlをGitHubにpushしてmainにmergeすれば、 GitHub Actionsが走って$ terraform applyが実行されてメ タデータが更新される。

Slide 33

Slide 33 text

© GENDA Inc. 導入結果

Slide 34

Slide 34 text

© GENDA Inc. 導入結果 ● データカタログが非常に好評! ○ これにより、社内でデータカタログとメタデータの重要性を理解してもらえた ● データカタログに新たに必要な機能を把握することに繋がった ● Streamlitの知見が得られた ○ これを活かして、便利なデータアプリをたくさん開発できた ● 開発チームがメタデータの情報を共有してくれるようになり、データマネジメントが捗るようになった ※メタデータの最新情報を共有

Slide 35

Slide 35 text

© GENDA Inc. ● 更に直感的にメタデータを素早く見つけられる UIを実装したい ● データリネージ機能が欲しい ● データの品質を監視したい ● さらに詳しいメタデータを確認できるようにしたい ○ データ利活用のためだけでなく、データマネジメントのためのデータも管理したい 導入結果 そして、新たに必要性を感じた機能はこちら

Slide 36

Slide 36 text

© GENDA Inc. 今後の展望

Slide 37

Slide 37 text

© GENDA Inc. 今後の展望 (データマネジメント ) 理想的なデータマネジメントに向けて更に進んでいきたい ● データの関連性を把握できる状態 ○ ER図でデータのリレーションを把握が可能 ○ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 ● データ利活用が活発である状態 ○ 業務用語やデータの利用方法について把握が可能 ○ データやメタデータにアクセスするための方法が明確 ● データの品質を監視できる状態 ● データマートの作成者が把握できる状態 ○ オーナー情報の管理が可能

Slide 38

Slide 38 text

© GENDA Inc. 今後の展望 (Streamlit) Streamlitが有用な技術だと分かり 特にDX観点で事業に貢献できそうだと分かったため 各種ツールを自作して DXに貢献していきたい!

Slide 39

Slide 39 text

© GENDA Inc. 実際に開発した Streamlitアプリを紹介

Slide 40

Slide 40 text

© GENDA Inc. 開発したアプリケーション 景品毎の公開ステータスを可視化するアプリケーション 景品の公開ステータスを確認して、品出しをすべき景品を瞬時に確認できるようにしました。 別のツールからDLしたCSVをアプリにUPし、Snowflakeのデータと掛け合わせて複雑な集計もできるようにしました。

Slide 41

Slide 41 text

© GENDA Inc. 景品の売上や売上見込を可視化するアプリケーション 開発したアプリケーション 週次・月次の売上数値を瞬時に確認可能にしました。 週次定例会議で共有する時に、印刷をして配ることを考慮して使いやすいUIで実装しました。

Slide 42

Slide 42 text

© GENDA Inc. 開発したアプリケーション 景品の売上数値などを様々な角度から可視化するアプリケーション プライズの数値を様々な角度から確認できるようにしました。 ここで可視化されているデータを元に調達するプライズを検討します。

Slide 43

Slide 43 text

© GENDA Inc. 実店舗運営の方々に直接ヒアリングをしながら あると便利な機能を考えて提案しながら開発できるところが 大変であり楽しいところです! 開発したアプリケーション

Slide 44

Slide 44 text

© GENDA Inc. まとめ

Slide 45

Slide 45 text

© GENDA Inc. まとめ ● 会社としてグループ横断でのデータ活用を推進していく方針で、 その実現のためにデータカタログが必要だった ● データカタログを自作したことで、データマネジメントを更に促進することができた ● StreamlitがDXに貢献できることが分かったので、今後も更に便利なアプリを開発できそう

Slide 46

Slide 46 text

© GENDA Inc. 採用情報 【株式会社 GENDA 採用情報】 募集要項はこちら 【GENDA Creators Blog】 技術記事などはこちら GENDAでは一緒に働く仲間を募集しています! 採用情報やブログ記事などは、下記の 2次元コードからご確認ください! 【GENDA note】 社員インタビューはこちら

Slide 47

Slide 47 text

© GENDA Inc. ご清聴ありがとうございました!