Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflakeを中心としたデータ基盤の立ち上げ
Search
koonagi
October 02, 2023
1
1.1k
Snowflakeを中心としたデータ基盤の立ち上げ
スタフェス Meetup #4
スターフェスティバル
山﨑 皓平(koonagi3)
koonagi
October 02, 2023
Tweet
Share
More Decks by koonagi
See All by koonagi
Cloudbase活用事例
koonagi
0
490
Snowflake初心者がGA4のデータをSnowflakeに連携してみた
koonagi
1
1.1k
Amazon QuickSightを使ってみて、ハマったこと/Tips集
koonagi
12
1.2k
データドリブンなお弁当開発の 実現に向けた取り組み
koonagi
0
650
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.4k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Site-Speed That Sticks
csswizardry
2
190
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Code Reviewing Like a Champion
maltzj
520
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Language of Interfaces
destraynor
154
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
A designer walks into a library…
pauljervisheath
204
24k
Code Review Best Practice
trishagee
65
17k
Transcript
Snowflakeを中心としたデータ基盤の立ち上げ スタフェス Meetup #4 スターフェスティバル 山﨑 皓平(koonagi3)
自己紹介 2 山﨑 皓平(@koonagi3) 所属 ロール 経歴 好きな Snowflake の機能
スターフェスティバル株式会社 (2022年7月入社) インフラ/データ基盤エンジニア SES ▶ クラウドSIer ▶ 外資コンサル ▶ スターフェスティバル Python Worksheets Streamlit in Snowflake
今日の話 © 2021 STAR FESTIVAL INC. 8 2023年4月からSnowflakeを中心としたデータ基盤の整備を実施 してきました。 データ基盤構成がどのように変わったかと基盤整備を実施する中
わかってきた課題やその対応について本セッションでお話します。 3
Snowflakeの導入
Snowflake 導入の背景 ① 分散したデータソース - 複数のデータソースが存在し、横串検索が難しい - RDS/S3/BigQuery/Kintone/Salesforce ② データ基盤を運用するリソース不足
- データ基盤構築以外の業務もあり、データ基盤のメンテナンスする時間が取れない - 気軽にユーザーが分析をできる環境や検証環境を用意できない データへの関心が社内で高まってきたが、いくつか課題があった
Snowflakeを採用! データ基盤としてメンテナンスフリーな点やセキュリティ機能も 充実しているSnowflakeを採用
データ基盤の運用が楽に セキュリティや可能性の担保など各種インフラの管理を Snowflakeに任せられる
Snowflake導入したことのメリット データソースをまたいだ横断検索やメンテフリーの分析環境が提供できるようになった ① 分散したデータソース - 複数のデータソースが存在し、横串検索が難しい - RDS/S3/BigQuery/Kintone/Salesforce ② データ基盤を運用するリソース不足
- 基盤のメンテナンスする時間が取れない - 気軽にユーザーが分析をできる環境や検証環境を用意できない Snowflakeにデータが集約したことで 簡単に横断検索が可能に 複数のチームにメンテフリーの分析環 境や検証環境が提供可能に これまで 現在
データ基盤の構成変化【Before】 データパイプラインはGo/embulkを利用し、RDSやS3にデータを格納 データソース コレクティング ストレージ アクセス
データ基盤の構成変化【After】 データパイプラインの構造は既存のものを維持しつつ Snowflakeにデータ連携 データソース コレクティング ストレージ アクセス
データ基盤のBefore/After Before After これまではBIによって見ているソースが異なっていたが Snowflakeが 全ての分析のソースになるようにする (SSOT)
見えてきた課題
13 課題 1 課題 2 データパイプライン作成が分析のボトルネックに Snowflakeやその周辺サービスに関するナレッジ不足 見えてきた課題 実際にデータ基盤を構築し、一部運用が始まった段階で大きく 2つ課題が見えてきた
課題1 データパイプライン作成が分析のボトルネックに パイプライン作成業務の負荷が高くデータ基盤チームの作業がボトルネックになっていた S3に連携するまで 1.Embulk設定ファイル作成 2.ECSタスク定義作成 3.Fargate環境作成 4.スケジュール設定 S3からデータ連携/加工まで 1.
テーブル作成 2. S3ステージ作成 3. 取り込みタスク/Pipe作成 4. ストアド/タスク作成
課題1 データパイプライン作成が分析のボトルネックに 自動化/分析者によるセルフサービス化を進めてボトルネック解消に務める ① Infrastructure as Code(Terraform)の活用 - Snowflakeの構成管理 -
Embulk/Fargateの構成管理 ② 設定ファイル作成補助ツール作成 - Embulk設定ファイルテンプレート作成 - Snowflake用Terraform設定ファイルテンプレート作成 (https://github.com/ytake/p2t) ③ マニュアル作成 & セルフサービス化 - データ活用までのマニュアル作成 - 分析者したいチームにマニュアルに沿ったパイプライン作成をお願いし、データ基盤チームは基本レビュアーに。
参考: データ活用 マニュアル抜粋 課題1 データパイプライン作成が分析のボトルネックに
課題2 ナレッジ不足 Snowflakeの有識者が0の状態で活用がスタートしたためナレッジが不足 権限の階層構造どうする? 取り込みはtask/pipeどっちが いいんだ..? 分析者にどこまで権限渡せ ば..? PJごとに課金管理したい なぁ...
同じファイル名のファイルが 連携されてきた際に pipeが動 かないぞ... ETLとかで良いツールないか なぁ...
課題2 ナレッジ不足 ユーザー会(SnowVillage)やイベントへの積極参加し他社事例をキャッチアップ https://speakerdeck.com/koonagi/snowflakechu-xin-zhe-gaga4 nodetawosnowflakenilian-xi-sitemita https://zenn.dev/stafes_blog/articles/7b299b2a03e458 ① 他社事例や技術トレンドのキャッチアップ ② ユーザー会に参加し、更に詳細な情報交換も
- イベント登壇者もユーザー会に何名も所属されているので、相談などもできる
課題2 ナレッジ不足 SnowVillageのSlackチャンネルでは情報共有や設計に関する議論なども行われている
20 課題 1 課題 2 Snowflakeやその周辺サービスに関するナレッジ不足 見えてきた課題と対応 自動化/セルフサービス化 ユーザーグループやイベントへの参加 データパイプライン作成が分析のボトルネックに
さいごに • Snowflakeを利用したことでデータ基盤としてのインフラ運用はほぼ なくなって楽になった • データパイプライン構築が楽になるわけではないので、データ基盤 チームに潤沢なリソースがない場合は、自動化やセルフサービス化、外部 サービスの利用検討が必要 • Snowflakeのキャッチアップはユーザー会やイベントへの参加やがオ
ススメ
ご清聴ありがとうございました 22