Slide 1

Slide 1 text

Snowflakeを中心としたデータ基盤の立ち上げ スタフェス Meetup #4 スターフェスティバル 山﨑 皓平(koonagi3)

Slide 2

Slide 2 text

自己紹介 2 山﨑 皓平(@koonagi3) 所属 ロール 経歴 好きな Snowflake の機能 スターフェスティバル株式会社 (2022年7月入社) インフラ/データ基盤エンジニア SES ▶ クラウドSIer ▶ 外資コンサル ▶ スターフェスティバル Python Worksheets Streamlit in Snowflake

Slide 3

Slide 3 text

今日の話 © 2021 STAR FESTIVAL INC. 8 2023年4月からSnowflakeを中心としたデータ基盤の整備を実施 してきました。 データ基盤構成がどのように変わったかと基盤整備を実施する中 わかってきた課題やその対応について本セッションでお話します。 3

Slide 4

Slide 4 text

Snowflakeの導入

Slide 5

Slide 5 text

Snowflake 導入の背景 ① 分散したデータソース - 複数のデータソースが存在し、横串検索が難しい - RDS/S3/BigQuery/Kintone/Salesforce ② データ基盤を運用するリソース不足 - データ基盤構築以外の業務もあり、データ基盤のメンテナンスする時間が取れない - 気軽にユーザーが分析をできる環境や検証環境を用意できない データへの関心が社内で高まってきたが、いくつか課題があった

Slide 6

Slide 6 text

Snowflakeを採用! データ基盤としてメンテナンスフリーな点やセキュリティ機能も 充実しているSnowflakeを採用

Slide 7

Slide 7 text

データ基盤の運用が楽に セキュリティや可能性の担保など各種インフラの管理を Snowflakeに任せられる

Slide 8

Slide 8 text

Snowflake導入したことのメリット データソースをまたいだ横断検索やメンテフリーの分析環境が提供できるようになった ① 分散したデータソース - 複数のデータソースが存在し、横串検索が難しい - RDS/S3/BigQuery/Kintone/Salesforce ② データ基盤を運用するリソース不足 - 基盤のメンテナンスする時間が取れない - 気軽にユーザーが分析をできる環境や検証環境を用意できない Snowflakeにデータが集約したことで 簡単に横断検索が可能に 複数のチームにメンテフリーの分析環 境や検証環境が提供可能に これまで 現在

Slide 9

Slide 9 text

データ基盤の構成変化【Before】 データパイプラインはGo/embulkを利用し、RDSやS3にデータを格納 データソース コレクティング ストレージ アクセス

Slide 10

Slide 10 text

データ基盤の構成変化【After】 データパイプラインの構造は既存のものを維持しつつ Snowflakeにデータ連携 データソース コレクティング ストレージ アクセス

Slide 11

Slide 11 text

データ基盤のBefore/After Before After これまではBIによって見ているソースが異なっていたが Snowflakeが 全ての分析のソースになるようにする (SSOT)

Slide 12

Slide 12 text

見えてきた課題

Slide 13

Slide 13 text

13 課題 1 課題 2 データパイプライン作成が分析のボトルネックに Snowflakeやその周辺サービスに関するナレッジ不足 見えてきた課題 実際にデータ基盤を構築し、一部運用が始まった段階で大きく 2つ課題が見えてきた

Slide 14

Slide 14 text

課題1 データパイプライン作成が分析のボトルネックに パイプライン作成業務の負荷が高くデータ基盤チームの作業がボトルネックになっていた S3に連携するまで 1.Embulk設定ファイル作成 2.ECSタスク定義作成 3.Fargate環境作成 4.スケジュール設定 S3からデータ連携/加工まで 1. テーブル作成 2. S3ステージ作成 3. 取り込みタスク/Pipe作成 4. ストアド/タスク作成

Slide 15

Slide 15 text

課題1 データパイプライン作成が分析のボトルネックに 自動化/分析者によるセルフサービス化を進めてボトルネック解消に務める ① Infrastructure as Code(Terraform)の活用 - Snowflakeの構成管理 - Embulk/Fargateの構成管理 ② 設定ファイル作成補助ツール作成 - Embulk設定ファイルテンプレート作成 - Snowflake用Terraform設定ファイルテンプレート作成 (https://github.com/ytake/p2t) ③ マニュアル作成 & セルフサービス化 - データ活用までのマニュアル作成 - 分析者したいチームにマニュアルに沿ったパイプライン作成をお願いし、データ基盤チームは基本レビュアーに。

Slide 16

Slide 16 text

参考: データ活用 マニュアル抜粋 課題1 データパイプライン作成が分析のボトルネックに

Slide 17

Slide 17 text

課題2 ナレッジ不足 Snowflakeの有識者が0の状態で活用がスタートしたためナレッジが不足 権限の階層構造どうする? 取り込みはtask/pipeどっちが いいんだ..? 分析者にどこまで権限渡せ ば..? PJごとに課金管理したい なぁ... 同じファイル名のファイルが 連携されてきた際に pipeが動 かないぞ... ETLとかで良いツールないか なぁ...

Slide 18

Slide 18 text

課題2 ナレッジ不足 ユーザー会(SnowVillage)やイベントへの積極参加し他社事例をキャッチアップ https://speakerdeck.com/koonagi/snowflakechu-xin-zhe-gaga4 nodetawosnowflakenilian-xi-sitemita https://zenn.dev/stafes_blog/articles/7b299b2a03e458 ① 他社事例や技術トレンドのキャッチアップ ② ユーザー会に参加し、更に詳細な情報交換も - イベント登壇者もユーザー会に何名も所属されているので、相談などもできる

Slide 19

Slide 19 text

課題2 ナレッジ不足 SnowVillageのSlackチャンネルでは情報共有や設計に関する議論なども行われている

Slide 20

Slide 20 text

20 課題 1 課題 2 Snowflakeやその周辺サービスに関するナレッジ不足 見えてきた課題と対応 自動化/セルフサービス化 ユーザーグループやイベントへの参加 データパイプライン作成が分析のボトルネックに

Slide 21

Slide 21 text

さいごに ● Snowflakeを利用したことでデータ基盤としてのインフラ運用はほぼ なくなって楽になった ● データパイプライン構築が楽になるわけではないので、データ基盤 チームに潤沢なリソースがない場合は、自動化やセルフサービス化、外部 サービスの利用検討が必要 ● Snowflakeのキャッチアップはユーザー会やイベントへの参加やがオ ススメ

Slide 22

Slide 22 text

ご清聴ありがとうございました 22