Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snowflakeがもたらした noteのデータ分析の進化

littlekbt
October 26, 2022

Snowflakeがもたらした noteのデータ分析の進化

DATA CLOUD WORLD TOUR JAPAN Day 2 15:05-15:35 の発表のスライドです。

littlekbt

October 26, 2022
Tweet

Other Decks in Technology

Transcript

  1. Snowflakeがもたらした

    noteのデータ分析の進化

    note株式会社 基盤グループ データ基盤チーム リーダー

    久保田 勇喜


    View Slide

  2. 2015年、株式会社Adwaysに入社。アプリの事前予約システムの開発などを担当後、

    2017年からBulbit株式会社(現UNICORN株式会社)でDSPの開発に携わる。

    2021年からnote株式会社に入社し、データエンジニアとしてデータ基盤の開発・運用に
    携わる。

    現在はデータ基盤チームのリーダーとして、開発及びデータ活用の推進を担当。


    2
    Speaker

    久保田勇喜
(くぼた ゆうき)

    View Slide

  3. note inc.
    あらゆるクリエイターが文章やマンガ、写真、音声等のコン
    テンツを自由に投稿することができ、ユーザーはそのコンテ
    ンツを楽しんで応援できるCtoCの

    メディアプラットフォーム。2014年4月スタート。

    3
    会員登録数


    500万人

    ※2022年7月時点

    総記事数


    2,400万件


    View Slide

  4. 4
    だれもが創作をはじめ

    続けられるようにする

    noteのミッション


    View Slide

  5. note inc.
    メンバー

    193名
    社員

    エンジニア

    177名
    約50名
    5
    (2022年9月時点)

    従業員数

    子育て率

    社員紹介による入社率 

    12%
    23%

    View Slide

  6. note inc.
    本日はなすこと

    6
    ● noteのデータ基盤が目指す姿

    ● Snowflake導入による分析業務に起きた変化

    ● Snowflake導入までの経緯

    ● まとめ

    ● 現在の課題


    View Slide

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

    7

    View Slide

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


    View Slide

  9. note inc.
    使われるデータ基盤 

    = ほしいデータがいつでも・すぐに・直感的に手に入る基盤


    View Slide

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


    View Slide

  11. note inc.
    過去の現場の声


    11
    アナリスト

    (ヘビーユーザー)

    PM・ディレクター

    (ライトユーザー)

    - せっかくSQLを書いたが、レスポンスが遅いので、別の作業をしてしまいデータ活用のモチベーションが上
    がらない。


    - そもそもほしいデータがどこにあるかわからない。

    - インタラクティブに結果が返ってこず、分析業務の認知負荷が高まる。


    - 一度間違えると再度実行するのにまた30分くらい待たなければいけない。


    - クエリーの実行完了までが遅いので、タスクの消化ができない。

    View Slide

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


    View Slide

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

    13

    View Slide

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

    14

    View Slide

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

    15

    View Slide

  16. note inc.
    Snowflake導入による

    分析業務に起きた変化

    16

    View Slide

  17. note inc.
    noteにおける分析業務体制

    17
    基盤開発グループ
    データ基盤チーム
    メディア&マーケティンググループ
    データチーム
    経営陣
    PM
    ディレクター
    データ活用の推進


    View Slide

  18. note inc.
    Snowflake導入による変化

    18
    分析業務の効率大幅アップ 
 今まで不可能だった規模の
    分析が可能に

    データ活用への興味・関心
    の向上


    View Slide

  19. note inc.
    Snowflake導入による変化 -1-

    19
    分析業務の効率大幅アップ 

    URL毎の、ユーザーのページ閲覧状況の可視化

    1年分の記事PVの月毎の集計

    10分 => 30秒(warehouseはS)

    and more...

    40分 => 15秒(warehouseはXS)


    View Slide

  20. note inc.
    Snowflake導入による変化 -2-

    20
    今まで不可能だった規模の
    分析が可能に
 and more...

    ユーザーの回遊ID毎の、ファネル分析が可能になった

    集計開始時から全期間を対象にした集計が可能になった

    => 新たなインサイトの獲得 


    View Slide

  21. note inc.
    Snowflake導入による変化 -3-

    21
    データ活用への興味・関心
    の向上

    ダッシュボードの数の増加した

    SQLを実行し、データ活用する人口が増えた

    => データの民主化が進み、データにもとづいた意思決定の文化形成が進ん
    でいる


    View Slide

  22. note inc.
    導入後の現場の声

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

    View Slide

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

    23

    View Slide

  24. note inc.
    2018/6 2019/11 2022/4
    RDSを使ったデータ分析 


    noteにおけるデータ分析基盤の歴史


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View Slide

  25. note inc.
    2018/6 2019/11 2022/4
    RDSを使ったデータ分析 


    noteにおけるデータ分析基盤の歴史


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View Slide

  26. note inc.
    2018/6 2019/11 2022/4
    RDSを使ったデータ分析 


    noteにおけるデータ分析基盤の歴史


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View Slide

  27. note inc.

    - 記事などのデータも保存しているMySQLに対し、アプリケーションのAPIと同じAPI経由でユー
    ザーの行動ログも保存し始めた。 


    - アプリケーションでの利用が主目的、分析はGoogleAnalyticsを利用。 

    フェーズ1: RDSによるデータ分析


    概要

    27

    View Slide

  28. note inc.

    - 分析用のデータではなかった。(ログが欠損したり消えたりする) 


    - データ分析の需要が高まるにつれ、ログの種類が増え、APIサーバーにかかる負荷が高くなっ
    た。


    - バズった際など、APIに負荷がかかってしまっていた。 


    - レコード数が増え、RDSでの集計が不可能になった。 


    - GoogleAnalyticsが無料で使える範囲を超えた。 



    28
    フェーズ1: RDSによるデータ分析


    課題


    View Slide

  29. note inc.
    2018/6 2019/11 2022/4
    RDSを使ったデータ分析 


    noteにおけるデータ分析基盤の歴史


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View Slide

  30. note inc.

    - AWS上にデータ基盤を構築し、kinesisを利用しストリーミングデータをS3に保存、Athenaによる
    分析を開始した。


    - APIから分けたことで、スケールが容易になりバズった際の欠損などがなくなり、インフラコスト
    は上がったが安定性が増した。 


    - 大規模データの分析用のシステムを使うことでRDSでは実現不可能だった分析が可能になっ
    た。




    30
    フェーズ2: データ基盤による分析


    概要


    View Slide

  31. note inc.

    - レコード数が増え、S3のファイルが増えるとともにAthenaのタイムアウトが発生するようになっ
    た。


    - データ分析の要望は増えていくが、インフラの制限により、実現できることに限りが出てきた。 


    - タイムアウトの回避のためデータのETLを行ったが、 アーキテクチャーが複雑化してしまい、開発
    の難易度が上がり、増える要望を消化できなくなった。 



    31
    フェーズ2: データ基盤による分析


    課題


    View Slide

  32. note inc.
    2018/6 2019/11 2022/4
    RDSを使ったデータ分析 


    noteにおけるデータ分析基盤の歴史


    データ基盤による分析 




    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View Slide

  33. note inc.
    33

    - 主に分析業務の速度の改善のためにDWHの導入を検討。 


    - Redshift・BigQueryとの比較の上、Snowflakeの導入を決定。 


    - 速度の改善に成功。分析業務の 大幅効率化。

    フェーズ3: DWH導入


    概要


    View Slide

  34. なぜSnowflakeを選
    定したか

    34

    View Slide

  35. note inc.
    当時のデータ分析の課題

    解決したかった課題 

    - データの探索に時間がかかっていた。 


    - 半年以上の長期間の集計をしようとすると、タイムアウトが発生してしまい集計が不可能。 

    35

    View Slide

  36. note inc.
    遅いは罪?

    データの探索に時間がかかる 

    - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。


    - SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。


    - 可視化まで時間がかかるので、 現場の要望を消化できない 。

    36

    View Slide

  37. note inc.
    遅いは罪?

    37
    データの探索に時間がかかる 

    - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。


    - SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。


    - 可視化まで時間がかかるので、 現場の要望を消化できない 。

    データが活用されなくなる


    View Slide

  38. note inc.
    データウェアハウスに求めたもの

    - ほしいデータにすぐにアクセスできる 


    - 長期間のログデータの集計 


    - クラウドサービスにあるデータの取り扱いが容易 


    - BIツール・その他システムとの連携 


    - できれば安価で運用コストも低い 

    38

    View Slide

  39. note inc.
    Snowflake選定の理由

    - ほしいデータにすぐにアクセスできる 


    - 長期間のログデータの集計 


    39
    マイクロパーティショニング・ウェアハウスの分離により爆速かつ大規模なデータ探索が可能 

    5分程度で取り込み可能・Snowpipeなどで連続的に流れてくるデータの取り扱いも容易 

    ほとんどのBIツールとの連携が可能 

    ストレージは圧縮により非常に安価・ウェアハウスも使用後はすぐに停止するため、コントロー
    ルしやすい。

    - クラウドサービスにあるデータの取り扱いが容易 

    - BIツール・その他システムとの連携 

    - できれば安価で簡単に運用が可能 


    View Slide

  40. note inc.
    Snowflake選定の理由

    - ウェアハウスの分離により、ワークロード毎にリソースの割り当てが可能 

    業務効率化・コストのコントロールがしやすい 

    - マーケットプレイスなど、機能がデータウェアハウスにとどまらないため、データの一元管理が
    可能

    複雑なアーキテクチャーを一新 

    40

    View Slide

  41. note inc.
    導入して気がついたよかった点

    - 導入自体が容易

    SnowflakeはAWSにデータをおいていれば扱いが簡単なので、導入が非常に容易だった 

    - サポートが充実

    ドキュメントが豊富かつ 日本語でのサポートも充実で、基本即日に問題が解決する 

    - 比較的新しいシステムなので、UIなど使用感がとてもいい 

    開発者のモチベーション向上 


    41

    View Slide

  42. note inc.
    - 比較的費用が高い


    - 外部テーブルを使った際に、Athenaなどとそこまでパフォーマンスに差が感じられなかった 


    - ストレージとコンピュートリソースが分離できず、運用に負荷がかかる 

    Redshift

    42

    View Slide

  43. note inc.
    BigQuery

    - パフォーマンスは申し分なかったが、AWS=>GCPのデータの取り込みに転送のコスト・転送処理
    事態に運用コストがかかる 


    - 当時noteではGCPはほとんど使っていなかったので、権限管理など、GCPの運用体制が整って
    いなかった。

    43

    View Slide

  44. note inc.
    Snowflake選定の理由

    AWSとの親和性も非常に高く、

    機能・パフォーマンスともに充実しているSnowflakeの導入を決定

    44

    View Slide

  45. note inc.
    まとめ

    45

    View Slide

  46. note inc.
    Snowflake導入により起きた変化

    46
    より直感的・ストレスなくデータ分析ができるようになった。 

    データ活用が活発になり、 データの民主化・データに基づいた意思
    決定が進んでいる。

    現代のデータ活用には、 データがほしいと思った時に手に入る環境
    が必要。


    View Slide

  47. note inc.
    現在の課題

    47

    View Slide

  48. note inc.
    複雑なアーキテクチャー

    分析の速度をあげるため、データのETLを多数行っていた。 

    アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が高
    い。

    48

    View Slide

  49. note inc.
    複雑なアーキテクチャー

    分析の速度をあげるため、データのETLを多数行っていた。 

    アーキテクチャーが複雑になり、どこにどの状態のデータが存在しているのかなど、認知負荷が上
    がってしまった。

    49
    Snowpipeを利用し、ニアリアルタイムにSnowflakeにデータを投入し、Snowflakeをデータレイク
    化することで、ETLではなくELTをベース とし、データの一元管理を実現する。 


    View Slide

  50. 50

    View Slide

  51. note inc.
    人手不足

    ありがたいことに、Snowflakeによりデータ分析が爆速になり、集計待ちというボトルネックが解消さ
    れ、業務が圧倒的に効率化された。 

    しかし、できることが多くなりやりたいことが増え 、開発側の人手不足が浮き彫りになった。 

    51

    View Slide

  52. 一緒に理想のデータ基盤
    を作ってくれる

    データエンジニアを募集
    中です

    52
    採用情報

    https://open.talentio.com/r/1/c/note/pages/64092

    View Slide

  53. note inc.
    さいごに

    53

    View Slide

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


    View Slide

  55. note inc.
    使われるデータ基盤 

    = ほしいデータがいつでも・すぐに・直感的に手に入る基盤


    View Slide

  56. note inc.

    View Slide

  57. View Slide