Slide 1

Slide 1 text

Snowflakeがもたらした
 noteのデータ分析の進化
 note株式会社 基盤グループ データ基盤チーム リーダー 
 久保田 勇喜


Slide 2

Slide 2 text

2015年、株式会社Adwaysに入社。アプリの事前予約システムの開発などを担当後、 
 2017年からBulbit株式会社(現UNICORN株式会社)でDSPの開発に携わる。 
 2021年からnote株式会社に入社し、データエンジニアとしてデータ基盤の開発・運用に 携わる。
 現在はデータ基盤チームのリーダーとして、開発及びデータ活用の推進を担当。 
 
 2 Speaker
 久保田勇喜
(くぼた ゆうき)

Slide 3

Slide 3 text

note inc. あらゆるクリエイターが文章やマンガ、写真、音声等のコン テンツを自由に投稿することができ、ユーザーはそのコンテ ンツを楽しんで応援できるCtoCの
 メディアプラットフォーム。2014年4月スタート。
 3 会員登録数
 約 500万人
 ※2022年7月時点
 総記事数
 約 2,400万件


Slide 4

Slide 4 text

4 だれもが創作をはじめ
 続けられるようにする
 noteのミッション


Slide 5

Slide 5 text

note inc. メンバー
 193名 社員
 エンジニア
 177名 約50名 5 (2022年9月時点)
 従業員数
 子育て率
 社員紹介による入社率 
 12% 23%

Slide 6

Slide 6 text

note inc. 本日はなすこと
 6 ● noteのデータ基盤が目指す姿
 ● Snowflake導入による分析業務に起きた変化
 ● Snowflake導入までの経緯
 ● まとめ
 ● 現在の課題


Slide 7

Slide 7 text

note inc. noteのデータ基盤が目指す姿
 7

Slide 8

Slide 8 text

note inc. 使われるデータ基盤を開発・運用し、データに基づいた意思決定を支える


Slide 9

Slide 9 text

note inc. 使われるデータ基盤 
 = ほしいデータがいつでも・すぐに・直感的に手に入る基盤


Slide 10

Slide 10 text

note inc. とにかく、クエリーの結果が返ってくるのが遅い。。。


Slide 11

Slide 11 text

note inc. 過去の現場の声
 
 11 アナリスト
 (ヘビーユーザー)
 PM・ディレクター
 (ライトユーザー)
 - せっかくSQLを書いたが、レスポンスが遅いので、別の作業をしてしまいデータ活用のモチベーションが上 がらない。
 
 - そもそもほしいデータがどこにあるかわからない。 
 - インタラクティブに結果が返ってこず、分析業務の認知負荷が高まる。 
 
 - 一度間違えると再度実行するのにまた30分くらい待たなければいけない。 
 
 - クエリーの実行完了までが遅いので、タスクの消化ができない。 


Slide 12

Slide 12 text

12 このままでは使われなく なってしまう。。


Slide 13

Slide 13 text

note inc. 従来のデータ基盤アーキテクチャー
 13

Slide 14

Slide 14 text

note inc. 従来のデータ基盤アーキテクチャー
 14

Slide 15

Slide 15 text

note inc. Snowflake導入後のデータ基盤アーキテクチャー
 15

Slide 16

Slide 16 text

note inc. Snowflake導入による
 分析業務に起きた変化
 16

Slide 17

Slide 17 text

note inc. noteにおける分析業務体制
 17 基盤開発グループ データ基盤チーム メディア&マーケティンググループ データチーム 経営陣 PM ディレクター データ活用の推進


Slide 18

Slide 18 text

note inc. Snowflake導入による変化
 18 分析業務の効率大幅アップ 
 今まで不可能だった規模の 分析が可能に
 データ活用への興味・関心 の向上


Slide 19

Slide 19 text

note inc. Snowflake導入による変化 -1-
 19 分析業務の効率大幅アップ 
 URL毎の、ユーザーのページ閲覧状況の可視化
 1年分の記事PVの月毎の集計
 10分 => 30秒(warehouseはS)
 and more...
 40分 => 15秒(warehouseはXS)


Slide 20

Slide 20 text

note inc. Snowflake導入による変化 -2-
 20 今まで不可能だった規模の 分析が可能に
 and more...
 ユーザーの回遊ID毎の、ファネル分析が可能になった 
 集計開始時から全期間を対象にした集計が可能になった 
 => 新たなインサイトの獲得 


Slide 21

Slide 21 text

note inc. Snowflake導入による変化 -3-
 21 データ活用への興味・関心 の向上
 ダッシュボードの数の増加した 
 SQLを実行し、データ活用する人口が増えた
 => データの民主化が進み、データにもとづいた意思決定の文化形成が進ん でいる


Slide 22

Slide 22 text

note inc. 導入後の現場の声
 22 速度が爆速で、 待つ時間が大幅に減って効率化が進んだ ①格段に早くなったので SQLたたく人が増えた ②長期間のSQLも回せるようになった。 ③億×億レコードのJoinが回せるようになった データを見ることに前向きになれたし、データに触れ るモチベーションが上がりました

Slide 23

Slide 23 text

note inc. Snowflake導入までの経緯
 23

Slide 24

Slide 24 text

note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 
 
 noteにおけるデータ分析基盤の歴史
 
 データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 


Slide 25

Slide 25 text

note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 
 
 noteにおけるデータ分析基盤の歴史
 
 データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 


Slide 26

Slide 26 text

note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 
 
 noteにおけるデータ分析基盤の歴史
 
 データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 


Slide 27

Slide 27 text

note inc. 
 - 記事などのデータも保存しているMySQLに対し、アプリケーションのAPIと同じAPI経由でユー ザーの行動ログも保存し始めた。 
 
 - アプリケーションでの利用が主目的、分析はGoogleAnalyticsを利用。 
 フェーズ1: RDSによるデータ分析 
 
 概要
 27

Slide 28

Slide 28 text

note inc. 
 - 分析用のデータではなかった。(ログが欠損したり消えたりする) 
 
 - データ分析の需要が高まるにつれ、ログの種類が増え、APIサーバーにかかる負荷が高くなっ た。
 
 - バズった際など、APIに負荷がかかってしまっていた。 
 
 - レコード数が増え、RDSでの集計が不可能になった。 
 
 - GoogleAnalyticsが無料で使える範囲を超えた。 
 
 
 28 フェーズ1: RDSによるデータ分析 
 
 課題


Slide 29

Slide 29 text

note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 
 
 noteにおけるデータ分析基盤の歴史
 
 データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 


Slide 30

Slide 30 text

note inc. 
 - AWS上にデータ基盤を構築し、kinesisを利用しストリーミングデータをS3に保存、Athenaによる 分析を開始した。
 
 - APIから分けたことで、スケールが容易になりバズった際の欠損などがなくなり、インフラコスト は上がったが安定性が増した。 
 
 - 大規模データの分析用のシステムを使うことでRDSでは実現不可能だった分析が可能になっ た。
 
 
 
 30 フェーズ2: データ基盤による分析 
 
 概要


Slide 31

Slide 31 text

note inc. 
 - レコード数が増え、S3のファイルが増えるとともにAthenaのタイムアウトが発生するようになっ た。
 
 - データ分析の要望は増えていくが、インフラの制限により、実現できることに限りが出てきた。 
 
 - タイムアウトの回避のためデータのETLを行ったが、 アーキテクチャーが複雑化してしまい、開発 の難易度が上がり、増える要望を消化できなくなった。 
 
 
 31 フェーズ2: データ基盤による分析 
 
 課題


Slide 32

Slide 32 text

note inc. 2018/6 2019/11 2022/4 RDSを使ったデータ分析 
 
 noteにおけるデータ分析基盤の歴史
 
 データ基盤による分析 
 
 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 


Slide 33

Slide 33 text

note inc. 33 
 - 主に分析業務の速度の改善のためにDWHの導入を検討。 
 
 - Redshift・BigQueryとの比較の上、Snowflakeの導入を決定。 
 
 - 速度の改善に成功。分析業務の 大幅効率化。
 フェーズ3: DWH導入 
 
 概要


Slide 34

Slide 34 text

なぜSnowflakeを選 定したか
 34

Slide 35

Slide 35 text

note inc. 当時のデータ分析の課題
 解決したかった課題 
 - データの探索に時間がかかっていた。 
 
 - 半年以上の長期間の集計をしようとすると、タイムアウトが発生してしまい集計が不可能。 
 35

Slide 36

Slide 36 text

note inc. 遅いは罪?
 データの探索に時間がかかる 
 - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。
 
 - SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。
 
 - 可視化まで時間がかかるので、 現場の要望を消化できない 。
 36

Slide 37

Slide 37 text

note inc. 遅いは罪?
 37 データの探索に時間がかかる 
 - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。
 
 - SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。
 
 - 可視化まで時間がかかるので、 現場の要望を消化できない 。
 データが活用されなくなる


Slide 38

Slide 38 text

note inc. データウェアハウスに求めたもの
 - ほしいデータにすぐにアクセスできる 
 
 - 長期間のログデータの集計 
 
 - クラウドサービスにあるデータの取り扱いが容易 
 
 - BIツール・その他システムとの連携 
 
 - できれば安価で運用コストも低い 
 38

Slide 39

Slide 39 text

note inc. Snowflake選定の理由
 - ほしいデータにすぐにアクセスできる 
 
 - 長期間のログデータの集計 
 
 39 マイクロパーティショニング・ウェアハウスの分離により爆速かつ大規模なデータ探索が可能 
 5分程度で取り込み可能・Snowpipeなどで連続的に流れてくるデータの取り扱いも容易 
 ほとんどのBIツールとの連携が可能 
 ストレージは圧縮により非常に安価・ウェアハウスも使用後はすぐに停止するため、コントロー ルしやすい。
 - クラウドサービスにあるデータの取り扱いが容易 
 - BIツール・その他システムとの連携 
 - できれば安価で簡単に運用が可能 


Slide 40

Slide 40 text

note inc. Snowflake選定の理由
 - ウェアハウスの分離により、ワークロード毎にリソースの割り当てが可能 
 業務効率化・コストのコントロールがしやすい 
 - マーケットプレイスなど、機能がデータウェアハウスにとどまらないため、データの一元管理が 可能
 複雑なアーキテクチャーを一新 
 40

Slide 41

Slide 41 text

note inc. 導入して気がついたよかった点
 - 導入自体が容易
 SnowflakeはAWSにデータをおいていれば扱いが簡単なので、導入が非常に容易だった 
 - サポートが充実
 ドキュメントが豊富かつ 日本語でのサポートも充実で、基本即日に問題が解決する 
 - 比較的新しいシステムなので、UIなど使用感がとてもいい 
 開発者のモチベーション向上 
 
 41

Slide 42

Slide 42 text

note inc. - 比較的費用が高い
 
 - 外部テーブルを使った際に、Athenaなどとそこまでパフォーマンスに差が感じられなかった 
 
 - ストレージとコンピュートリソースが分離できず、運用に負荷がかかる 
 Redshift
 42

Slide 43

Slide 43 text

note inc. BigQuery
 - パフォーマンスは申し分なかったが、AWS=>GCPのデータの取り込みに転送のコスト・転送処理 事態に運用コストがかかる 
 
 - 当時noteではGCPはほとんど使っていなかったので、権限管理など、GCPの運用体制が整って いなかった。
 43

Slide 44

Slide 44 text

note inc. Snowflake選定の理由
 AWSとの親和性も非常に高く、
 機能・パフォーマンスともに充実しているSnowflakeの導入を決定
 44

Slide 45

Slide 45 text

note inc. まとめ
 45

Slide 46

Slide 46 text

note inc. Snowflake導入により起きた変化
 46 より直感的・ストレスなくデータ分析ができるようになった。 
 データ活用が活発になり、 データの民主化・データに基づいた意思 決定が進んでいる。
 現代のデータ活用には、 データがほしいと思った時に手に入る環境 が必要。


Slide 47

Slide 47 text

note inc. 現在の課題
 47

Slide 48

Slide 48 text

note inc. 複雑なアーキテクチャー
 分析の速度をあげるため、データのETLを多数行っていた。 
 アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が高 い。
 48

Slide 49

Slide 49 text

note inc. 複雑なアーキテクチャー
 分析の速度をあげるため、データのETLを多数行っていた。 
 アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が上 がってしまった。
 49 Snowpipeを利用し、ニアリアルタイムにSnowflakeにデータを投入し、Snowflakeをデータレイク 化することで、ETLではなくELTをベース とし、データの一元管理を実現する。 


Slide 50

Slide 50 text

50

Slide 51

Slide 51 text

note inc. 人手不足
 ありがたいことに、Snowflakeによりデータ分析が爆速になり、集計待ちというボトルネックが解消さ れ、業務が圧倒的に効率化された。 
 しかし、できることが多くなりやりたいことが増え 、開発側の人手不足が浮き彫りになった。 
 51

Slide 52

Slide 52 text

一緒に理想のデータ基盤 を作ってくれる
 データエンジニアを募集 中です
 52 採用情報
 https://open.talentio.com/r/1/c/note/pages/64092

Slide 53

Slide 53 text

note inc. さいごに
 53

Slide 54

Slide 54 text

note inc. 使われるデータ基盤を開発・運用し、データに基づいた意思決定を支える


Slide 55

Slide 55 text

note inc. 使われるデータ基盤 
 = ほしいデータがいつでも・すぐに・直感的に手に入る基盤


Slide 56

Slide 56 text

note inc.

Slide 57

Slide 57 text

No content