BigQuery DWH

Snowflake、Redshift、BigQuery比較ガイド

はじめに

これまで、法人向け業務アプリ開発の要件定義から実装、テスト、保守サポートまで、一貫して提供してきました。

  • 開発業務は、販売管理、メンテサービス、会計、人事給与、購買管理、など幅広く担当。
  • 独立後、データ分析基盤構築の導入構築から拡張、データ活用までサポート。
  • 個人事業主として2年で6社のデータ分析現場で支援。

その中で、

  • 「Snowflake、RedShift、BigQueryの特徴の違いがよく分からない?」
  • 「料金もいくらかかるのか分からない?」
  • 「弊社に合うDWHはどれでしょうか?」

といったご相談を受けるケースが増えてきました。

この記事では、

  • ビッグデータやDWH製品のコストの考え方
  • 事業成果に向けたデータ基盤の選定ポイント
  • 選定ポイントに沿った各サービスの違い

が分かるよう記事を整理しています。

(なお、2023年7月末時点の情報のため、正確な費用や特徴については、各公式サイトをご覧ください。)

DWHとは?

DWHとは、データウェアハウスの略称で、「データの保管場所」という意味合いで、複数のサービスのデータなどを集約したシステムとなります。

データベースでは、データのCRUD(登録、参照、更新、削除)を目的としていますが、DWHは、データ分析を目的としたシステムとなります。

このため、

  • 大量データを分析しやすい状態に格納できる
  • 大量データに瞬時にアクセスできる

ことに強みを持っています。

本記事では、昨今の主流であるクラウド型のDWHサービスを中心に特徴を比較/整理しています。

Snowflake、Redshift、BigQueryの違い

ここでは、Snowflake、Redshift、BigQueryを比較し、それぞれの特徴をまとめます。

共通的な特徴

  • WEBブラウザからSQLによるDDL、DMLが可能(テーブル作成、データ登録/参照/更新/削除)
  • トランザクションデータ、一時テーブル、ビュー、マテリアライズドビュー、ストアドプロシージャ、など一般的なRDBMSの機能も存在

Snowflakeの特徴

  • 計算リソースの指定が必要。
  • テーブルの更新を別テーブルに記録できる。(データストリーム機能)

Redshiftの特徴

  • 基本的にはコンピューティングノード(稼働マシン)の利用時間とデータ格納先のストレージに対して課金される。(時間従量課金も存在)
  • クエリ履歴のフィルタ機能がが充実している。

BigQueryの特徴

  • サーバーレスアーキテクチャのため、計算リソースのチューニングが不要。
  • 機械学習の利用が可能(BigQueryML機能)。
  • Google関連サービスのデータ連携が容易(GoogleAnalytics、Firebase、GooglePlayのストアデータ、GoogleSpreadsheet)。
  • GoogleCloud内の別RDBへクエリが可能(連携クエリ機能)。

各サービスの比較

ここでは、各サービスを様々な観点で比較しています。

認知度

Googleトレンドから、各サービスを比較しました。

直近5年では、もっともBigQueryが認知されており、2021年付近でSnowflakeの認知が進み、2023年7月末時点ではSnowflakeの方が認知されている状況です。

ただし、認知度でしかないため市場シェア率とは異なりますが、BigQueryを検討/比較されている方が多いことがわかります。

はじめやすさ

既存のアーキテクチャ次第で導入ハードルは変わります。

例えば、既にAWSでシステム構築済みであれば、Redshiftの方が既存AWSサービスとスムーズに連携ができるため、DWH導入後のデータロード機能までの立ち上げの工数は下がる傾向にあります。ただし、Redshiftは基本的にノードなどのサーバ設定が必要なため、DWHとして利用開始までに要件整理などの設定調整が必要となります。

また、GoogleWorkspace導入済み企業であれば、BigQueryの早期利用が可能です。

このように、利用状況によってはじめやすさは異なります。

運用

BigQueryを標準利用する(定額利用でない)場合、計算リソースは自動計算されるため、ユーザ側はサーバスペックを意識する必要が少なく、それ以外のテーブル設計や分析などの領域に集中することが可能です。

SnowflakeやRedshiftは、ある程度ユーザ側の設定が必要なため、インフラ整備の運用が発生します。

統合性(インテグレーション)

Redshiftについて、データレイクに配置したS3を標準機能で取り込みでき、RDSに直接クエリできるなど、既存AWSの各サービスとの連携強みを持つため、既存サービスの相性を

BigQueryについて、Googleの多数のサービスとの連携に強みを持ちます。Google Analytics、GoogleSpreadSheetやLookerStudioなどのサービス群とBigQueryを接続する場合、基本な利用において設定で利用開始することが可能です。

また、社内でGoogleWorkspaceを利用していればユーザ管理が容易であることも魅力のひとつです。

コスト計画

Redshiftはノード数や起動時間に応じて課金されるため、あらかじめ想定するスペックが決まればある程度予算感が見えるます。

一方、SnowflakeおよびBigQueryは、従量課金のため、初期コストはかかりませんが、主に蓄積しいているデータ量と、実行したクエリのスキャン量に応じて課金される違いがあります。

どのように選べば良いか?

「結局どのように検討する方が良いのか?」

というご意見も多くいただくため、以下の手順を推奨しています。

step1: データ活用の目的を整理する。

データ分析の基盤整備で重要なことは、データ分析・活用をしやすい基盤を整えること でであって、ツールを導入することや、データを単純に管理することではありません。

「現在、データ分析について、何に課題を感じているのか?」

「今後どのようになりたいのか?」

を中心に整理することで、現在のデータ状況とのギャップを埋めていくことが大切となります。

step2: 既存の業務利用システム(アーキテクチャ)を整理する。

課題を正確に捉える上でも、現状のデータ状況を押させる必要があります。

例えば、「今、大量にデータがあるが、利用できていない」というお悩みを伺うケースがよくありますが、「どのように活用したいのか?」を中心に考えないと、活用までに必要なギャップを埋めることができません。

ここを整理することで、具体的に「活用するには、この単位のデータでは分析できない」など、データの品質の解像度が上がります。

step3: 課題解決となり得るか?

ツールを導入することで、課題のどれが解決するかを整理します。

重要な点は、ツール導入によって課題が必ず解決できるとは限らない という点です。

一定の成果がでるものの、運用面やコスト面で新たな課題が発生する可能性は存在します。

DWHで全て解決せず、データ分析基盤全体で中長期的に改善するプロセスを回すことが大切になります。

まとめ

この記事では、法人向け業務アプリの開発からデータ分析支援まで行ってきた経験をもとに、ビッグデータやデータウェアハウス(DWH)製品の選定について解説しました。

特にSnowflake、Redshift、BigQueryの三つのDWHサービスについて特徴と違いを詳細に比較し、その認知度、導入の易しさ、運用、統合性、コストなどを考慮した選定ポイントを提示しています。

データ活用の目的や既存の業務利用システムの整理を行い、課題解決の可否を考慮しながらDWHを選定することを推奨しています。

さいごに

上記のようにデータ分析の現場経験がない状態での導入には時間がかかります。

「外注する場合でも、どのような人に依頼すれば良いか分からない」

「業務に追われ、実際に手を動かせない」

というケースもあるかと思います。

社内でご検討いただくための資料を準備しております。

気軽にダウンロードください。

 

-BigQuery, DWH