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. note inc. メンバー
 193名 社員
 エンジニア
 177名 約50名 5 (2022年9月時点)


    従業員数
 子育て率
 社員紹介による入社率 
 12% 23%
  2. note inc. 過去の現場の声
 
 11 アナリスト
 (ヘビーユーザー)
 PM・ディレクター
 (ライトユーザー)
 -

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

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


    データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 

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


    データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 

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


    データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 

  6. note inc. 
 - 分析用のデータではなかった。(ログが欠損したり消えたりする) 
 
 - データ分析の需要が高まるにつれ、ログの種類が増え、APIサーバーにかかる負荷が高くなっ た。


    
 - バズった際など、APIに負荷がかかってしまっていた。 
 
 - レコード数が増え、RDSでの集計が不可能になった。 
 
 - GoogleAnalyticsが無料で使える範囲を超えた。 
 
 
 28 フェーズ1: RDSによるデータ分析 
 
 課題

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


    データ基盤による分析 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 

  8. note inc. 
 - レコード数が増え、S3のファイルが増えるとともにAthenaのタイムアウトが発生するようになっ た。
 
 - データ分析の要望は増えていくが、インフラの制限により、実現できることに限りが出てきた。 


    
 - タイムアウトの回避のためデータのETLを行ったが、 アーキテクチャーが複雑化してしまい、開発 の難易度が上がり、増える要望を消化できなくなった。 
 
 
 31 フェーズ2: データ基盤による分析 
 
 課題

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


    データ基盤による分析 
 
 
 
 DWH導入
 RDSに よる データ 分析
 
 RDSに よる データ 分析
 

  10. note inc. 33 
 - 主に分析業務の速度の改善のためにDWHの導入を検討。 
 
 - Redshift・BigQueryとの比較の上、Snowflakeの導入を決定。

    
 
 - 速度の改善に成功。分析業務の 大幅効率化。
 フェーズ3: DWH導入 
 
 概要

  11. note inc. 当時のデータ分析の課題
 解決したかった課題 
 - データの探索に時間がかかっていた。 
 
 -

    半年以上の長期間の集計をしようとすると、タイムアウトが発生してしまい集計が不可能。 
 35
  12. note inc. 遅いは罪?
 データの探索に時間がかかる 
 - SQLを実行してからしばらく待つため、別の作業をしてしまい、 集計作業に集中できない 。
 


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


    
 - SQLにミスがあった場合、再度数十分待つ必要があり、 ストレスが発生する。
 
 - 可視化まで時間がかかるので、 現場の要望を消化できない 。
 データが活用されなくなる

  14. note inc. データウェアハウスに求めたもの
 - ほしいデータにすぐにアクセスできる 
 
 - 長期間のログデータの集計 


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


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

  16. note inc. 導入して気がついたよかった点
 - 導入自体が容易
 SnowflakeはAWSにデータをおいていれば扱いが簡単なので、導入が非常に容易だった 
 - サポートが充実
 ドキュメントが豊富かつ

    日本語でのサポートも充実で、基本即日に問題が解決する 
 - 比較的新しいシステムなので、UIなど使用感がとてもいい 
 開発者のモチベーション向上 
 
 41
  17. note inc. - 比較的費用が高い
 
 - 外部テーブルを使った際に、Athenaなどとそこまでパフォーマンスに差が感じられなかった 
 
 -

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