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
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Fireside Chat
paigeccino
34
3.1k
Designing for Performance
lara
604
68k
The Cult of Friendly URLs
andyhume
78
6.1k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Side Projects
sachag
452
42k
Code Review Best Practice
trishagee
65
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Building Applications with DynamoDB
mza
91
6.1k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
A designer walks into a library…
pauljervisheath
204
24k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
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