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がもたらした noteのデータ分析の進化
Search
littlekbt
October 26, 2022
Technology
6
7.6k
Snowflakeがもたらした noteのデータ分析の進化
DATA CLOUD WORLD TOUR JAPAN Day 2 15:05-15:35 の発表のスライドです。
littlekbt
October 26, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
Qiita埋め込み用スライド
naoki_0531
0
5.1k
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
470
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
210
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
570
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
kargoの魅力について伝える
magisystem0408
0
210
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
Featured
See All Featured
Done Done
chrislema
181
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Docker and Python
trallard
42
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Raft: Consensus for Rubyists
vanstee
137
6.7k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Statistics for Hackers
jakevdp
796
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
GitHub's CSS Performance
jonrohan
1030
460k
Practical Orchestrator
shlominoach
186
10k
Become a Pro
speakerdeck
PRO
26
5k
Transcript
Snowflakeがもたらした noteのデータ分析の進化 note株式会社 基盤グループ データ基盤チーム リーダー 久保田 勇喜
2015年、株式会社Adwaysに入社。アプリの事前予約システムの開発などを担当後、 2017年からBulbit株式会社(現UNICORN株式会社)でDSPの開発に携わる。 2021年からnote株式会社に入社し、データエンジニアとしてデータ基盤の開発・運用に 携わる。 現在はデータ基盤チームのリーダーとして、開発及びデータ活用の推進を担当。 2
Speaker 久保田勇喜 (くぼた ゆうき)
note inc. あらゆるクリエイターが文章やマンガ、写真、音声等のコン テンツを自由に投稿することができ、ユーザーはそのコンテ ンツを楽しんで応援できるCtoCの メディアプラットフォーム。2014年4月スタート。 3 会員登録数 約 500万人
※2022年7月時点 総記事数 約 2,400万件
4 だれもが創作をはじめ 続けられるようにする noteのミッション
note inc. メンバー 193名 社員 エンジニア 177名 約50名 5 (2022年9月時点)
従業員数 子育て率 社員紹介による入社率 12% 23%
note inc. 本日はなすこと 6 • noteのデータ基盤が目指す姿 • Snowflake導入による分析業務に起きた変化 • Snowflake導入までの経緯
• まとめ • 現在の課題
note inc. noteのデータ基盤が目指す姿 7
note inc. 使われるデータ基盤を開発・運用し、データに基づいた意思決定を支える
note inc. 使われるデータ基盤 = ほしいデータがいつでも・すぐに・直感的に手に入る基盤
note inc. とにかく、クエリーの結果が返ってくるのが遅い。。。
note inc. 過去の現場の声 11 アナリスト (ヘビーユーザー) PM・ディレクター (ライトユーザー) -
せっかくSQLを書いたが、レスポンスが遅いので、別の作業をしてしまいデータ活用のモチベーションが上 がらない。 - そもそもほしいデータがどこにあるかわからない。 - インタラクティブに結果が返ってこず、分析業務の認知負荷が高まる。 - 一度間違えると再度実行するのにまた30分くらい待たなければいけない。 - クエリーの実行完了までが遅いので、タスクの消化ができない。
12 このままでは使われなく なってしまう。。
note inc. 従来のデータ基盤アーキテクチャー 13
note inc. 従来のデータ基盤アーキテクチャー 14
note inc. Snowflake導入後のデータ基盤アーキテクチャー 15
note inc. Snowflake導入による 分析業務に起きた変化 16
note inc. noteにおける分析業務体制 17 基盤開発グループ データ基盤チーム メディア&マーケティンググループ データチーム 経営陣 PM
ディレクター データ活用の推進
note inc. Snowflake導入による変化 18 分析業務の効率大幅アップ 今まで不可能だった規模の 分析が可能に データ活用への興味・関心 の向上
note inc. Snowflake導入による変化 -1- 19 分析業務の効率大幅アップ URL毎の、ユーザーのページ閲覧状況の可視化 1年分の記事PVの月毎の集計 10分
=> 30秒(warehouseはS) and more... 40分 => 15秒(warehouseはXS)
note inc. Snowflake導入による変化 -2- 20 今まで不可能だった規模の 分析が可能に and more... ユーザーの回遊ID毎の、ファネル分析が可能になった
集計開始時から全期間を対象にした集計が可能になった => 新たなインサイトの獲得
note inc. Snowflake導入による変化 -3- 21 データ活用への興味・関心 の向上 ダッシュボードの数の増加した SQLを実行し、データ活用する人口が増えた
=> データの民主化が進み、データにもとづいた意思決定の文化形成が進ん でいる
note inc. 導入後の現場の声 22 速度が爆速で、 待つ時間が大幅に減って効率化が進んだ ①格段に早くなったので SQLたたく人が増えた ②長期間のSQLも回せるようになった。 ③億×億レコードのJoinが回せるようになった
データを見ることに前向きになれたし、データに触れ るモチベーションが上がりました
note inc. Snowflake導入までの経緯 23
note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 noteにおけるデータ分析基盤の歴史
データ基盤による分析 DWH導入 RDSに よる データ 分析 RDSに よる データ 分析
note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 noteにおけるデータ分析基盤の歴史
データ基盤による分析 DWH導入 RDSに よる データ 分析 RDSに よる データ 分析
note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 noteにおけるデータ分析基盤の歴史
データ基盤による分析 DWH導入 RDSに よる データ 分析 RDSに よる データ 分析
note inc. - 記事などのデータも保存しているMySQLに対し、アプリケーションのAPIと同じAPI経由でユー ザーの行動ログも保存し始めた。 - アプリケーションでの利用が主目的、分析はGoogleAnalyticsを利用。
フェーズ1: RDSによるデータ分析 概要 27
note inc. - 分析用のデータではなかった。(ログが欠損したり消えたりする) - データ分析の需要が高まるにつれ、ログの種類が増え、APIサーバーにかかる負荷が高くなっ た。
- バズった際など、APIに負荷がかかってしまっていた。 - レコード数が増え、RDSでの集計が不可能になった。 - GoogleAnalyticsが無料で使える範囲を超えた。 28 フェーズ1: RDSによるデータ分析 課題
note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 noteにおけるデータ分析基盤の歴史
データ基盤による分析 DWH導入 RDSに よる データ 分析 RDSに よる データ 分析
note inc. - AWS上にデータ基盤を構築し、kinesisを利用しストリーミングデータをS3に保存、Athenaによる 分析を開始した。 - APIから分けたことで、スケールが容易になりバズった際の欠損などがなくなり、インフラコスト は上がったが安定性が増した。
- 大規模データの分析用のシステムを使うことでRDSでは実現不可能だった分析が可能になっ た。 30 フェーズ2: データ基盤による分析 概要
note inc. - レコード数が増え、S3のファイルが増えるとともにAthenaのタイムアウトが発生するようになっ た。 - データ分析の要望は増えていくが、インフラの制限により、実現できることに限りが出てきた。
- タイムアウトの回避のためデータのETLを行ったが、 アーキテクチャーが複雑化してしまい、開発 の難易度が上がり、増える要望を消化できなくなった。 31 フェーズ2: データ基盤による分析 課題
note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 noteにおけるデータ分析基盤の歴史
データ基盤による分析 DWH導入 RDSに よる データ 分析 RDSに よる データ 分析
note inc. 33 - 主に分析業務の速度の改善のためにDWHの導入を検討。 - Redshift・BigQueryとの比較の上、Snowflakeの導入を決定。
- 速度の改善に成功。分析業務の 大幅効率化。 フェーズ3: DWH導入 概要
なぜSnowflakeを選 定したか 34
note inc. 当時のデータ分析の課題 解決したかった課題 - データの探索に時間がかかっていた。 -
半年以上の長期間の集計をしようとすると、タイムアウトが発生してしまい集計が不可能。 35
note inc. 遅いは罪? データの探索に時間がかかる - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。
- SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。 - 可視化まで時間がかかるので、 現場の要望を消化できない 。 36
note inc. 遅いは罪? 37 データの探索に時間がかかる - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。
- SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。 - 可視化まで時間がかかるので、 現場の要望を消化できない 。 データが活用されなくなる
note inc. データウェアハウスに求めたもの - ほしいデータにすぐにアクセスできる - 長期間のログデータの集計
- クラウドサービスにあるデータの取り扱いが容易 - BIツール・その他システムとの連携 - できれば安価で運用コストも低い 38
note inc. Snowflake選定の理由 - ほしいデータにすぐにアクセスできる - 長期間のログデータの集計
39 マイクロパーティショニング・ウェアハウスの分離により爆速かつ大規模なデータ探索が可能 5分程度で取り込み可能・Snowpipeなどで連続的に流れてくるデータの取り扱いも容易 ほとんどのBIツールとの連携が可能 ストレージは圧縮により非常に安価・ウェアハウスも使用後はすぐに停止するため、コントロー ルしやすい。 - クラウドサービスにあるデータの取り扱いが容易 - BIツール・その他システムとの連携 - できれば安価で簡単に運用が可能
note inc. Snowflake選定の理由 - ウェアハウスの分離により、ワークロード毎にリソースの割り当てが可能 業務効率化・コストのコントロールがしやすい - マーケットプレイスなど、機能がデータウェアハウスにとどまらないため、データの一元管理が
可能 複雑なアーキテクチャーを一新 40
note inc. 導入して気がついたよかった点 - 導入自体が容易 SnowflakeはAWSにデータをおいていれば扱いが簡単なので、導入が非常に容易だった - サポートが充実 ドキュメントが豊富かつ
日本語でのサポートも充実で、基本即日に問題が解決する - 比較的新しいシステムなので、UIなど使用感がとてもいい 開発者のモチベーション向上 41
note inc. - 比較的費用が高い - 外部テーブルを使った際に、Athenaなどとそこまでパフォーマンスに差が感じられなかった -
ストレージとコンピュートリソースが分離できず、運用に負荷がかかる Redshift 42
note inc. BigQuery - パフォーマンスは申し分なかったが、AWS=>GCPのデータの取り込みに転送のコスト・転送処理 事態に運用コストがかかる - 当時noteではGCPはほとんど使っていなかったので、権限管理など、GCPの運用体制が整って
いなかった。 43
note inc. Snowflake選定の理由 AWSとの親和性も非常に高く、 機能・パフォーマンスともに充実しているSnowflakeの導入を決定 44
note inc. まとめ 45
note inc. Snowflake導入により起きた変化 46 より直感的・ストレスなくデータ分析ができるようになった。 データ活用が活発になり、 データの民主化・データに基づいた意思 決定が進んでいる。 現代のデータ活用には、
データがほしいと思った時に手に入る環境 が必要。
note inc. 現在の課題 47
note inc. 複雑なアーキテクチャー 分析の速度をあげるため、データのETLを多数行っていた。 アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が高 い。 48
note inc. 複雑なアーキテクチャー 分析の速度をあげるため、データのETLを多数行っていた。 アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が上 がってしまった。 49 Snowpipeを利用し、ニアリアルタイムにSnowflakeにデータを投入し、Snowflakeをデータレイク 化することで、ETLではなくELTをベース
とし、データの一元管理を実現する。
50
note inc. 人手不足 ありがたいことに、Snowflakeによりデータ分析が爆速になり、集計待ちというボトルネックが解消さ れ、業務が圧倒的に効率化された。 しかし、できることが多くなりやりたいことが増え 、開発側の人手不足が浮き彫りになった。 51
一緒に理想のデータ基盤 を作ってくれる データエンジニアを募集 中です 52 採用情報 https://open.talentio.com/r/1/c/note/pages/64092
note inc. さいごに 53
note inc. 使われるデータ基盤を開発・運用し、データに基づいた意思決定を支える
note inc. 使われるデータ基盤 = ほしいデータがいつでも・すぐに・直感的に手に入る基盤
note inc.
None