Snowflakeの導入効果をレビューでご紹介(株式会社マインディア)
株式会社マインディア / Shintaro Amaike
データエンジニア
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
エンタープライズエディション | 11名〜50名 | 2020年4月 | B to B B to C |
利用プラン | エンタープライズエディション |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2020年4月 |
事業形態 | B to B B to C |
アーキテクチャ
アーキテクチャの意図・工夫
- RDSやS3からSnowpipeを利用してデータベースに蓄積されるように構築
- BtoCサービスのデータもSnowflakeで管理することによってデータの一元化に対応
- SnowflakeからMarketplaceへの展開、TableauやLookerなどBIツールとの連携
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
当社では、取得したデータをRDSに保存していましたが、今後のデータ量の増加が喫緊の課題となっていました。そのため、データウェアハウス(DWH)の導入を決定し、主要なDWHサービスの比較検討を行いました。
どのような状態を目指していたか
パフォーマンス:将来想定されるデータサイズでもクエリが問題なく実行できること。
スケーラビリティ:簡単にスケールアップ・スケールアウトすることができること。
既存システム(AWS, Tableau)との接続性: AWS S3からのデータ取得ができる。 Tableauと連携できる。
データベースのメンテナンス・チューニングが簡単であること。
セキュリティが確保されていること。
コスト効率:TCO(Total Cost of Ownership)を考慮し、見込み金額が適切であること。
スモールスタートが可能であること。
全文検索:メールタイトル、文面から全文検索ができること。
比較検討したサービス
- Oracle Cloud
- Google BigQuery
- Amazon Redshift
比較した軸
- パフォーマンス
将来的なデータ量増加にも対応できる高いクエリ実行性能
Snowflakeは1秒で起動するため、迅速な処理が可能
- スケーラビリティ
容易なスケールアップ・スケールアウト
コンピューティングとストレージの分離により、柔軟な拡張が可能
- 既存システムとの接続性
AWS S3からのデータ取得
Tableauとの連携
- 簡易なメンテナンス・チューニング
管理の容易さ
セキュリティ
データ転送時のセキュリティ
暗号化ファイルの取り扱い
- コスト(TCO)
初期コストの低さ
スモールスタートの可能性
オートオフ機能によるコスト抑制
これらの点を総合的に評価し、当社の要件に最も適したサービスを選定することを目指しました。
選定理由
迅速な起動と柔軟なスケーリング:
短時間で起動する能力
初期段階では、オートオフ機能によるコスト抑制が可能
コンピューティングとストレージが分離しており、一部のクライアント専用でコンピューティングリソースを増やすなどの柔軟な対応が容易高速なクエリ処理とデータ取り込みの容易さ:
キャッシュが効いており、Tableauのフィルタ反応が非常に速い(RDSで数秒かかっていた処理がSnowflakeでは一瞬で完了)
S3上のCSV, JSON読み込みが非常にスムーズ
読み込みデータのデータオプションについて、非常に細かいパラメータ設定が可能わかりやすいコストと簡単な管理:
主にストレージ費用とウェアハウスの起動時間でコストがかかるためわかりやすい
Snowflake用のIAMを作成してS3間でデータ転送が可能で、別クラウドインフラを管理する手間が不要
導入の成果
改善したかった課題はどれくらい解決されたか
データ処理速度が大幅に向上し、大規模データセットに対するクエリ実行時間が短縮されました。
スケーラビリティの向上により、需要の変動に柔軟に対応できるようになり、コスト効率も改善しました。
どのような成果が得られたか
AWS S3やTableauとの連携がスムーズになり、データ分析のワークフローが効率化されました。
管理の簡易化により、運用コストが削減され、セキュリティ強化も実現しました。
結果として、データ駆動型の意思決定が迅速化され、ビジネス全体の効率と競争力が向上しました。
導入時の苦労・悩み
既存システムとの円滑な連携、将来的なデータ量増加に対応できるパフォーマンスとスケーラビリティの確保、データセキュリティの担保、コスト管理の最適化ができるかという点です。
特に、AWS S3やTableauとの連携、クエリ実行速度の向上、セキュリティ対策、初期投資とランニングコストのバランスがとれているかというのは選定する上でのポイントとなりました。
導入に向けた社内への説明
上長・チームへの説明
現在のデータ管理システムを継続使用すると、近い将来、データ量の急増や分析ニーズの多様化に対応できなくなる可能性がありました。
Snowflakeに移行することで、高速なクエリ処理と柔軟なスケーラビリティを実現し、大規模データに対する迅速な分析が可能になることを説明しました。
活用方法
- チームで顧客への提案資料の作成に利用
- 顧客へデータの連携で利用
- Streamlitで当社のデータと連携し可視化として利用
よく使う機能
- Snowpipe 定期的にデータをロードする手段の一つとして活用
- タスク マートの構築や定期的な集計のスケジュール実行
- Streamlit ダッシュボードの開発、Cortexの利用
ツールの良い点
効率的なクエリ実行と柔軟なコスト管理: ワークシート単位でクエリを実行でき、実行速度が速いほど料金を抑えられます。これにより、パフォーマンスとコストの最適化が可能です。
AI&ML への注力: AI&MLの機能追加に注力しており、高度なデータ分析や予測モデリングをサポートしています。これにより、データからより深い洞察を得ることができます。
Snowflake Marketplace: 自社にないデータを取得でき、分析の幅が広がります。データ取得のコストと時間を節約でき、常に最新データにアクセス可能です。また、データを販売することができるようになっており、データ提供企業にとっても新たな収益源となります。データの共有はSnowflakeの仕組みを利用するため、セキュアで効率的です。
充実したサポート: 手厚いサポート体制を整えており、技術的な問題や導入時の課題に迅速に対応します。これにより、ユーザーは安心してシステムを運用できます。
ツールの課題点
- コスト管理:クエリを実行するとウェアハウスが稼働し、ウェアハウス使用量ベース(クエリの実行時間)の課金モデルにより、予期せぬ高額請求が発生する可能性がある。
Cost Management機能により、現在の使用量の確認や将来の使用量の予測ができるようになっています。また、Resource Monitors を利用することでしきい値によって通知を送ることもできます。
パフォーマンスの最適化:適切なクエリ設計や、ストレージ管理
モニタリングのクエリヒストリーでパフォーマンスが悪いクエリを探索できます
クエリを見直すことでコストを削減できます。 ストレージ使用量による課金もあるため、定期的に不要なテーブルの見直しを実施 します。
ツールを検討されている方へ
当社ではSnowflakeを運用して4年が経過しておりますが、導入前に比較検討したサービスも含めて 現状Snowflakeを超えるデータウェアハウスのサービスは無いです。 是非、候補として検討してみてはいかがでしょうか。
今後の展望
SnowflakeはAI&MLの機能追加に注力的で、LLMを利用できるCortexや自然言語でクエリを生成するCopilotの活用を進める予定をしております。
株式会社マインディア / Shintaro Amaike
データエンジニア
よく見られているレビュー
株式会社マインディア / Shintaro Amaike
データエンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法