Snowflakeの導入効果をレビューでご紹介(yamnaku-ノバセル株式会社)
ノバセル株式会社 / yamnaku
メンバー / フルスタックエンジニア / 従業員規模: 51名〜100名
利用プラン | ツールの利用規模 | ツールの利用開始時期 |
---|---|---|
Standard Edition および Enterprise Edition(複数アカウントを運用) | 11名〜50名 | 2021年3月 |
利用プラン | Standard Edition および Enterprise Edition(複数アカウントを運用) |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2021年3月 |
アーキテクチャ
アーキテクチャの意図・工夫
弊社では、データウェアハウスとしてSnowflakeを採用しているため、データ基盤の他のコンポーネントについてはModern Data Stackを採用しております。ETL/リバースETLツールとしてはtroccoを採用しています。UIがわかりやすく、非エンジニアでも慣れると構築が可能になるため、ビジネスサイドのメンバーも利用しています。ウェアハウス内での各種管理を簡易化するため、TerraformやdbtといったOSSツールを活用しながら安全かつ利便性の高いデータパイプラインを整備しています。
BIツールとしては、当初はRedashを採用していましたが、ビジネスサイドのメンバー増に合わせて、Tableauの導入を行いました。利用シーンやユースケースに合わせて使い分けています。
導入の背景・解決したかった問題
導入背景
2020年時点で、弊社で提供しているTVCM分析サービス「ノバセルアナリティクス」の分析データ結果がRDBに保管されており、大量の分析データを随時RDBから抽出する必要がありました。RDBのパフォーマンスに影響を及ぼす状態になっていたため、データ基盤の導入を検討しました。
比較検討したサービス
- Amazon Redshift
- Google BigQuery
- Snowflake
選定理由
Redshift、 BigQuery、 Snowflakeをそれぞれ比較し、分析にかかるコスト・運用コストのバランスが良く、かつ学習コストも少なくて済むSnowflakeの導入を決めました。以下はそれぞれとの比較になります。
Redshift vs Snowflake
- 当時のRedshiftは、常にインスタンスを起動する必要があり、利用していない場合にも費用がかかってしまっていた。一方で、Snowflakeはウェアハウスの起動時間に対する従量課金だった。
- Redshiftは柔軟なインスタンスサイズの変更が難しく、テーブルのインデックス設計などの運用に必要な知識も多く要求された。一方でSnowflakeは、インスタンスサイズを非常に柔軟に変更できる点や、インデックスやパーティションの設計を自動で設定してくれるなどの運用にかかる労力が少ない点で魅力的だった。
BigQuery vs Snowflake
- 当時のBigQueryは、データスキャン量に対して課金される料金体系になっていることもあり、分析時にかかるコストがやや読めないところがネックになっていた。一方で、Snowflakeはウェアハウスの起動時間に対する従量課金であった。
- BigQueryではパーティションなどの設計が必要だったのに対し、Snowflakeは直感的に操作可能で、パーティションの設計も不要だった。
- 弊社ではAWSを利用しているため、AWSにホスティング可能だった。
導入の成果
既存のアプリケーションシステム内で集計処理を実装するより、Snowfalke上での集計処理を実装する方が高速に実装・動作できるようになりました。また、データ分析に関わる周辺ツールとの連携も充実しているため、効率的な開発を進めることが出来るようになりました。
もし、BigQueryやRedShiftを利用して開発をしていたら、Snowflakeほどのシンプルさや統一的なインターフェースが提供されていないため、やや取り回しに困っていただろうと思います。
(Snowflakeの登場により、これらのDWHサービスの革新も進んだ点があり、Snowflakeが与えている影響は非常に大きいです。)
導入時の苦労・悩み
当時、データエンジニアの採用をしていなかったこともあり、Snowfalkeに関する組織内の理解度は低かったです。そのため、Snowflakeが何か、どう活用すべきなのか、という点についての理解は進んでいませんでした。
そのため、以下の施策を通してSnowflakeのユースケースに関する認知の拡大を図りました。
- 社内でのSnowflakeに関する勉強会の開催
- 競合TVCM効果分析サービス「ノバセルトレンド」の開発において、Snowflakeでのデータパイプライン構築の実施
導入に向けた社内への説明
上長・チームへの説明
導入はトップダウン的に推進し、費用対効果としては、以下の2点を説明材料にしました。
- ノバセルがデータ分析ソリューションを事業の中心として導入しているため、その事業の拡張性を支えることが可能なデータ基盤の導入は早急に必要
- Snowflakeを導入することで、半永久的に増大するデータをスケールさせ、学習コストをかけずにデータドリブンな意思決定ができる環境を整えられる
また、Snowflakeは従量課金制のため、ROIについては比較的コントロールしやすいかと思います。
活用方法
よく使う機能
- Snowflakeの「データウェアハウス」機能を利用した、データ分析パイプラインの構築
- 社内向けの営業・マーケティング分析のほか、顧客向けのマーケティング効果分析ソリューション「ノバセル」における分析データの集計
- Snowpark for Pythonなどを利用したPythonによる機械学習による分析
- アクセス量の少ないアプリケーションのバックエンドのデータベースとして用いることもあり、Snowflakeに全システムのデータを集約できるようにしている
ツールの良い点
- コストパフォーマンスが高い
- 学習コストが低く、シンプルな記法・運用ながら、スケーラビリティやパフォーマンスが非常に高いです。そのため、スモールスタートでも、エンタープライズでも幅広く対応できる点が強みです。
- 安定的に運用ができる
- ダウンタイムや障害の発生頻度が非常に低く、安定したサービス提供がなされている。また、サポートの品質も高いため、安心してサービス運用を行うことができる。
- 将来性の高さ
- Snowflakeはデータを中心とした統合的なプラットフォームを目指しており、次世代のクラウドインフラストラクチャとして見据えることも可能です。日本での事例やコミュニティも発展してきており、安心して導入することが可能になってきています。
ツールの課題点
- 構成管理・DevOps周りの開発関連機能があまり成熟しておらず、運用を開始した後の改修時に困る場面がある。
- 改修による影響範囲を調べることが大変だったり、改修内容をSnowflakeに反映するためのデプロイパイプラインを自前で構築する必要があります。(※今後Githubなどとの連携が予定されています。)
- Terraformのプロバイダーがまだバージョン0系のため不安定で、バグに遭遇することが多いです。元々は公式が管理していないプロバイダーであり、公式が管理するようになってまだ日が浅いため、この後のアップデートに期待しています。
- データ分析ではGPUが使えなかったり、notebookがホスティングできないなどの欠点があり、Snowflakeが利用できないケースがあります。(今後のアップデートで対応予定。)。また、各ベンダーが提供している周辺製品(BIツールやMLサービス)を利用したい場合には、当該ベンダーが提供するDWH製品に勝てないです。
ツールを検討されている方へ
バランスの取れた製品のため、ビジネス規模やユースケースによらず導入しやすい製品で、あまり注意点らしい注意点は無いです。前述したように、ベンダーごとに相性の良いツールがあるので、それが外せない場合には注意が必要です。 Snowflakeの場合、周辺ツールを別途色々導入していく必要があり、自由度は高い反面、各クラウドベンダーのように、その環境内で全ての周辺ツールを完結させるには至っていません。
ノバセル株式会社 / yamnaku
メンバー / フルスタックエンジニア / 従業員規模: 51名〜100名
2021年ノバセル入社。サーバーサイドエンジニアとして開発業務に従事したのち、2022年ごろからSnowflakeを利用したデータ基盤の構築を担当。2023年Snowflake Data Superherosに選出。現在は、マーケティング効果分析サービス「ノバセル」で顧客に提供する分析データのパイプライン構築、プロダクトマネジメントを行っている。
よく見られているレビュー
ノバセル株式会社 / yamnaku
メンバー / フルスタックエンジニア / 従業員規模: 51名〜100名
2021年ノバセル入社。サーバーサイドエ...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法