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 full-size slide

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

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

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

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


    2
    Speaker

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

    View full-size slide

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

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

    3
    会員登録数


    500万人

    ※2022年7月時点

    総記事数


    2,400万件


    View full-size slide

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

    続けられるようにする

    noteのミッション


    View full-size slide

  5. note inc.
    メンバー

    193名
    社員

    エンジニア

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

    従業員数

    子育て率

    社員紹介による入社率 

    12%
    23%

    View full-size slide

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

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

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

    ● Snowflake導入までの経緯

    ● まとめ

    ● 現在の課題


    View full-size slide

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

    7

    View full-size slide

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


    View full-size slide

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

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


    View full-size slide

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


    View full-size slide

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


    11
    アナリスト

    (ヘビーユーザー)

    PM・ディレクター

    (ライトユーザー)

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


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

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


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


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

    View full-size slide

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


    View full-size slide

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

    13

    View full-size slide

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

    14

    View full-size slide

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

    15

    View full-size slide

  16. note inc.
    Snowflake導入による

    分析業務に起きた変化

    16

    View full-size slide

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

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


    View full-size slide

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

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

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


    View full-size slide

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

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

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

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

    10分 => 30秒(warehouseはS)

    and more...

    40分 => 15秒(warehouseはXS)


    View full-size slide

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

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

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

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

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


    View full-size slide

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

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

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

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

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


    View full-size slide

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

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

    View full-size slide

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

    23

    View full-size slide

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


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


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View full-size slide

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


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


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View full-size slide

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


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


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View full-size slide

  27. note inc.

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


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

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


    概要

    27

    View full-size slide

  28. note inc.

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


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


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


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


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



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


    課題


    View full-size slide

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


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


    データ基盤による分析 


    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View full-size slide

  30. note inc.

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


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


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




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


    概要


    View full-size slide

  31. note inc.

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


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


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



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


    課題


    View full-size slide

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


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


    データ基盤による分析 




    DWH導入

    RDSに
    よる
    データ
    分析


    RDSに
    よる
    データ
    分析


    View full-size slide

  33. note inc.
    33

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


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


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

    フェーズ3: DWH導入


    概要


    View full-size slide

  34. なぜSnowflakeを選
    定したか

    34

    View full-size slide

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

    解決したかった課題 

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


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

    35

    View full-size slide

  36. note inc.
    遅いは罪?

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

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


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


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

    36

    View full-size slide

  37. note inc.
    遅いは罪?

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

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


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


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

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


    View full-size slide

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

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


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


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


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


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

    38

    View full-size slide

  39. note inc.
    Snowflake選定の理由

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


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


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

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

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

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

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

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

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


    View full-size slide

  40. note inc.
    Snowflake選定の理由

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

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

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

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

    40

    View full-size slide

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

    - 導入自体が容易

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

    - サポートが充実

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

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

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


    41

    View full-size slide

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


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


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

    Redshift

    42

    View full-size slide

  43. note inc.
    BigQuery

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


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

    43

    View full-size slide

  44. note inc.
    Snowflake選定の理由

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

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

    44

    View full-size slide

  45. note inc.
    まとめ

    45

    View full-size slide

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

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

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

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


    View full-size slide

  47. note inc.
    現在の課題

    47

    View full-size slide

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

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

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

    48

    View full-size slide

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

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

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

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


    View full-size slide

  50. note inc.
    人手不足

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

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

    51

    View full-size slide

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

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

    52
    採用情報

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

    View full-size slide

  52. note inc.
    さいごに

    53

    View full-size slide

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


    View full-size slide

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

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


    View full-size slide