BigQuery と Snowflake の究極ガイド

BigQuery と Snowflake の究極ガイド

翻訳者 |李睿

校正 |梁策と孫淑娟

クラウド データ ウェアハウスは、あらゆる最新データ スタックの中心にあります。クラウドベースのデータ ウェアハウスがなければ、データから洞察を得ることは困難です。データ ウェアハウスは、本質的には、さまざまなデータ ソースからの情報を保存および分析する分析プラットフォームであり、企業が高度な意思決定を行ったり、差し迫ったビジネス クエリに回答したりするために使用されます。現在、データ ウェアハウスは企業に導入されているか、徐々に導入されつつあります。この分野には多くの主要な代表者がいます。この記事では、BigQuery と Snowflake のみに焦点を当てます。

スノーフレークとは何ですか?

Snowflake は、主要なクラウド プラットフォーム (AWS、Azure、GCP) 上で実行されるソフトウェア アズ ア サービス (SaaS) ウェアハウス ソリューションです。クラウド専用に構築されており、他のクラウド データ ウェアハウスとは一線を画すいくつかの主要コンポーネントを備えています。 Snowflake は 2014 年に公開され、それ以来、データ ウェアハウス業界で重要なニッチ市場を開拓してきました。 2021年10月現在、時価総額は903.5億米ドルに達している。

Snowflake はクラウド コンピューティング サービスを提供するためにクラウド内で開発されたため、管理や運用のオーバーヘッドはほとんどありません。ネイティブ SaaS サービスである Snowflake は、バックエンドのインフラストラクチャをすべて処理し、ユーザーがデータから洞察を得ることに集中できるようにします。 Snowflake はスケーラビリティが高く、ほぼ無制限の同時クエリをサポートします。

BigQuery とは何ですか?

Google BigQuery は、Google Cloud Platform の一部として 2010 年に初めてリリースされ、市場で最も初期のデータ ウェアハウス ソリューションの 1 つです。当時は複雑なクエリ エンジンであると広く考えられていましたが、Google BigQuery はそれ以来大きな進歩を遂げています。

Snowflake と同様に、BigQuery を使用すると、組織は独自のオンプレミス インフラストラクチャをセットアップまたは維持する必要がなくなり、標準 SQL を使用して有意義な分析情報を発見することに集中できるようになります。 Google BigQuery は完全に Google ネイティブであり、他のクラウド プラットフォームでは実行されません。

建築

  • スノーフレーク

Snowflake は ANSI SQL に基づいており、ストレージとコンピューティングが完全に分離された完全なサーバーレス ソリューションです。そのアーキテクチャは、さまざまな従来の共有ディスクおよび共有なしのアーキテクチャに基づいており、ユーザーにとって一石二鳥の効果をもたらします。永続データ用の中央リポジトリを使用することで、プラットフォーム内のすべてのコンピューティング ノードでデータを利用できるようになります。

Snowflake は、超並列処理 (MPP) を活用してすべてのクエリを処理します。つまり、個々のコンピューティング クラスター (仮想マシンまたはサーバー) はローカルに保存されます。ストレージ側では、Snowflake はデータを個別のマイクロパーティションに整理し、その後、内部的に最適化されて列指向ストレージに圧縮されます。

実際、Snowflake にロードされるすべてのデータは、クラウド ストレージに保存できるように、列形式に再編成、最適化、圧縮されます。 Snowflake は、ファイル サイズ、構造、圧縮、メタデータ、統計、および直接表示されず SQL クエリを通じてのみアクセスできるその他のデータ オブジェクトなど、データ ストレージのあらゆる側面を自動的に処理します。

Snowflake での処理は、「仮想ウェアハウス」またはコンピューティング リソースのクラスターを使用して行われます。各ウェアハウスは複数のノードで構成される MPP です。 Snowflake のクラウド サービス レイヤーは、Snowflake 内のすべてのアクティビティを調整し、ユーザー リクエスト、認証、インフラストラクチャ管理、メタデータ管理、クエリの解析と最適化、アクセス制御などすべてを処理します。

  • Google ビッグクエリ

Google BigQuery は、サーバーレスで、ストレージとコンピューティングが分離されており、ANSI SQL に基づいているという点で Snowflake と非常に似ていますが、アーキテクチャはまったく異なります。 BigQuery は、多数のマルチテナント サービスを使用しており、このサービスを動かす特定の Google インフラストラクチャ テクノロジーには、Dremel、Colossus、Jupiter、Borg などがあります。 Google BigQuery での計算は、SQL クエリの実行に使用される大規模なマルチテナント コンピューティング クラスタである Dremel によって実行されます。

Dremel は、SQL クエリを実行ツリーに変換することで、面倒な作業を実行します。 BigQuery のリーフは「スロット」と呼ばれ、ストレージからデータを読み取り、必要な計算を実行します。実行ツリーのブランチは「ミキサー」と呼ばれ、すべての集約を処理するために使用されます。チーム内の 1 人のユーザーは、数千のスロットを利用して、必要に応じてクエリを実行できます。

Snowflake と同様に、BigQuery はデータを列形式に圧縮し、Google のグローバル ストレージ システムである Colossus にデータを保存します。 Colossus はデータの複製、回復、分散管理を管理するため、単一障害点が存在しません。 BigQuery は、Google の Jupiter ネットワークを使用してデータをある場所から別の場所にすばやく移動し、すべてのハードウェア リソースの割り当てとオーケストレーションは Borg (Google がリリースした Kubernetes の前身) を通じて行われます。

スケーラビリティ

Snowflake は自動スケーリングと自動一時停止の機能を提供し、ビジー状態またはアイドル状態の期間中にクラスターを停止または開始できるようにします。ユーザーは Snowflake を使用してノードのサイズを変更することはできませんが、1 回のクリックでクラスターのサイズを変更することはできます。さらに、Snowflake を使用すると、ユーザーは最大 10 のデータ ウェアハウスを自動的に拡張でき、1 つのテーブル内のキューあたりの DML 制限は 20 になります。

繰り返しになりますが、BigQuery は必要に応じて追加のコンピューティング リソースを自動的にプロビジョニングし、すべてをバックグラウンドで処理します。ただし、BigQuery はデフォルトで同時ユーザー数が 100 人に制限されています。どちらのプラットフォームでも、企業は需要に応じて自動的に規模を拡大または縮小できます。さらに、Snowflake を使用すると、ユーザーは異なるデータ ウェアハウス内のビジネス間ワークロードを分離できるため、異なるチームが同時実行の問題なしに独立して操作できるようになります。

セキュリティとコンプライアンス

Snowflake は保存データの暗号化を自動的に提供します。ただし、列に対してきめ細かい権限は提供されず、スキーマ、テーブル、ビュー、プロシージャ、およびその他のオブジェクトに対して権限が提供されます。対照的に、BigQuery は、データセット、テーブル、ビュー、グラフへのアクセスを制御するための列レベルのセキュリティと権限を提供します。

BigQuery はネイティブの Google 製品であるため、BigQuery のセキュリティ機能と認証機能が組み込まれた他の Google Cloud サービスも活用でき、統合がさらに簡単になります。 Snowflake は組み込みの仮想プライベート ネットワークを提供しません。ただし、Snowflake が AWS クラウド プラットフォームでホストされている場合は、AWS PrivateLink を使用するとこの問題を解決できます。

一方、BigQuery を使用すると、Google の仮想プライベート クラウドを活用できます。 BigQuery と Snowflake はどちらも、HIPAA、ISO 27001、PCI DSS、SOC1TYPE II、SOC2TYPE II の認定標準に準拠しています。

データサポート

どちらのプラットフォームも構造化データと半構造化データ (Avro、Parquet、Orc、CSV、JSON) をサポートしており、2021 年 9 月 20 日現在、Snowflake は非構造化データのサポートを発表しており、パブリック プレビューで利用できます。

管理

BigQuery と Snowflake を使用して、ユーザー ロール、権限、データ セキュリティを管理します。すべてのパフォーマンス チューニングは自動的に行われ、データ量が増加してクエリが複雑になると、両方のプラットフォームが需要に合わせてバックグラウンドで自動的に拡張されます。

さらに、両方のソリューションは SaaS サービスとして提供されるため、基盤となるメンテナンスとインフラストラクチャはすべて処理されます。 BigQuery はすべてを自動的に処理しますが、Snowflake では管理者がコンピューティング層とストレージ層を個別に拡張できます。つまり、Snowflake の仮想ウェアハウスに関連するサイズ設定やライセンス作業を処理する必要なく、ワークロードを分離できるということです。

データ保護

BigQuery と Snowflake はどちらもデータ保護に優れています。 Snowflake は、タイムトラベルとフェイルセーフの 2 つの機能を使用してこの問題を解決できます。タイムトラベルにより、Snowflake は更新される前のデータの状態を保存します。 Time Travel の標準保持期間は 1 日 (エンタープライズ カスタマーは最大 90 日間の期間を指定できます) で、データベース、テンプレート、テーブルに適用できます。

フェイルセーフを使用すると、Snowflake は履歴データを回復できます。期間は設定できず、タイムトラベル保持期間の終了後すぐに開始されます。リカバリを開始するには Snowflake にリクエストする必要がありますが、重大な操作障害により破損または失われた可能性のあるデータは、この機能を通じて Snowflake によってリカバリできます。

BigQuery の管理者は、復元の手間をかけずに簡単に変更を元に戻すことができます。 BigQuery は、テーブルに対するすべての変更の完全な 7 日間の履歴を保持します。ただし、テーブル データを 7 日間以上保持するために、BigQuery ではテーブル スナップショットと呼ばれる機能が提供されています (スナップショットは、特定の時点でのテーブルの内容を保存するために使用されます)。

価格

Snowflake の価格モデルはデータ ウェアハウスの使用量に応じて課金されるため、コストは主に全体的な使用量によって決まります。 Snowflake には、さまざまなサイズ (X-Small、Small、Medium、Large、X-Large など) のデータ ウェアハウスがいくつかあり、料金とサーバー/クラスターの数が大きく異なります。ただし、Snowflake の X-Small ウェアハウスの基本料金は 1 秒あたり 0.00056 ドルです。

データ ウェアハウスのサイズが 2 倍になるたびに、価格も 2 倍になります。 Snowflake には、ユーザーが使用料を支払うためにクレジットを事前購入できる価格プランがいくつかあります。事前購入容量プランは初期費用率が低いため、従量課金プランよりも有利です。

BigQuery は、スキャンまたは読み取られたバイト数に応じて課金されます。 BigQuery では、オンデマンド料金と固定料金が提供されます。オンデマンドの料金は、特定のクエリで処理されるバイト数に基づいて 1 TB あたり 5 ドルです。固定料金モデルでは、クエリを実行するためのソケット (仮想 CPU) または専用リソースを購入します。 100 スロットの月額費用は約 2,000 ドルです (年間払いの場合は 1,700 ドルに下がります)。

Snowflake と BigQuery はどちらもストレージ コストが比較的低くなっています。 Snowflake は、オンデマンドの顧客には 1 TB あたり月額 40 ドル、プリペイドの顧客には 1 TB あたり月額 23 ドルを請求します。 BigQuery では、アクティブ ストレージに対しては 1 TB あたり月額 20 ドル、非アクティブ ストレージに対しては 1 TB あたり月額 10 ドルが課金されます。

クラウドコンピューティングインフラストラクチャ

ネイティブ SaaS 製品である Snowflake は、あらゆる主要なクラウド プラットフォーム (AWS、GCP、Azure) で実行されます。 BigQuery はネイティブの Google Cloud 製品であるため、Google Cloud Platform でのみ利用できます。

パフォーマンス

Snowflake は微調整の必要がなく、すぐに使用できるため、パフォーマンスと実行が高速化され、クエリ時間の点では BigQuery などの他のデータ ウェアハウスよりも優れていることがよくあります。 Snowflake と BigQuery には相違点よりも類似点の方が多いかもしれません。

アイドル時間が長く、大量のクエリを実行する必要があるのはたまにだけであれば、BigQuery の方が効率的で、計算コストも安くなる可能性があります。一方、使用量がより予測可能で持続可能である場合は、Snowflake を使用する方がコスト効率が高くなる可能性があります。

SnowflakeとBigQueryの主な違い

Snowflake と BigQuery には注目すべき重要な違いがいくつかあります。まず、Snowflake でのスケーリングと拡張は完全に自動ではなく、何らかの入力が必要ですが、BigQuery はすべてを自動的に処理します。

2 番目に、Snowflake は主要なクラウド プラットフォームで実行できますが、BigQuery は Google Cloud Platform でのみ実行できます。 Snowflake は完全な SaaS ソリューションであり、BigQuery は PaaS ソリューションです。さらに、Snowflake には Secure Data Sharing と呼ばれる独自の機能があり、データベース内の選択したオブジェクトを他の Snowflake アカウントと共有できます。すべてが Snowflake 独自のサービス レイヤーとメタデータ ストア内で行われるため、Secure Data Sharing を使用すると、アカウント間で実際にデータがコピーまたは転送されることはありません。

BigQuery にはデータ共有機能がありません。ただし、BigQuery では、特定のユーザーまたはグループに基礎となるテーブルへのアクセス権を付与せずに、クエリ実行結果を共有するための承認済みビューを作成する機能が提供されています。 BigQuery には、機械学習モデルを作成して実行し、クエリのパフォーマンスを大幅に向上できる BigQuery ML という機能もあります。

機械学習とリアルタイム ストリーミング ワークロードに関しては、BigQuery は間違いなく Snowflake よりも優位です。要約すると、新しいクラウド データ プラットフォームを選択するときは、解決しようとしているユース ケースを決定の主な考慮事項にする必要があります。

Snowflake と BigQuery の今後の展開は?

最新のクラウド データ ウェアハウスを導入する目的は、データ ウェアハウスを一元化されたデータ リポジトリに統合し、アナリストがビジネス インテリジェンス ツールを使用して分析やレポートを作成できるようにして、信頼できる単一の真実のソースを作成することです。実際の環境では、データ ウェアハウスはチーム用のより大きなデータ ウェアハウスを作成するだけです。

データ ウェアハウスを使用すると、チームは 1 か所ですべてのデータにアクセスし、他のビジネス チームが利用できない情報を含む、主要な関係者向けの高レベルのダッシュボードとレポートを作成できます。結局のところ、データはレポートに含まれている場合にのみ価値があります。

これはまさにリバース ETL が解決する問題です。リバース ETL は、中央データ ウェアハウスから運用記録システムにデータをコピーするプロセスです。これには、成長、マーケティング、販売、サポートに使用される SaaS ツールが含まれますが、これに限定されません。

原題: BigQuery vs Snowflake: The Definitive Guide、著者: Luke Kline

<<:  Azureで提供されるSolarWindsデータベースパフォーマンス監視製品

>>:  アジアのクラウドプロバイダーが暗号通貨マイニングマルウェアの標的に

推薦する

ビットコインとWe-mediaは2013年のインターネット業界の流行語トップ10にランクイン

今年も年末となり、様々な業界の見直しが始まりました。インターネット業界にとって、1年間の変化は驚くべ...

【乾物】ASO最適化のブラックテクノロジー:高速レビュー、キーワードカバレッジ、Appleリスト更新ルール!

クイックレビュー簡単に確認できるように、具体的な操作手順を説明します。最初のステップは、App St...

Green Radish アルゴリズムのアップデートにより、ソフトテキスト広告は今後どこに向かうのでしょうか?

何事にも限界はある。オンラインのソフトテキスト広告の時代は終わりを迎えるべきなのだろうか。以前、世界...

モノのインターネットの爆発的な普及により、エッジコンピューティングの進歩が求められている。

調査会社IDCによると、モノのインターネット(IoT)への支出は2020年までに1.3兆ドルに達し、...

ネットワークマーケティングの有効性評価

オフライン マーケティングと比較したオンライン マーケティングの最大の利点の 1 つは、ほとんどのオ...

優れたWeiboプロモーション記事の3つの特徴

記事を書いた後、Weibo プラットフォームで共有する予定です。自動プラグインを使用して同期しますか...

ウェブサイトの最適化には、真実かつ信頼できる

インターネットには真実と虚偽が多すぎます。検索市場はインターネットの最も本物の描写です。検索市場の検...

Kubernetes クラスターでの Etcd データのバックアップと復元

最も人気のあるコンテナ オーケストレーション ソフトウェアとして、Kubernetes はますます多...

ウェブサイトナビゲーション開発の分析: どのようなナビゲーションウェブサイトが必要ですか?

1. ナビゲーションウェブサイトとは何ですか?ナビゲーションウェブサイトはURLナビゲーションとも呼...

エッジコンピューティングとデータストレージ: インダストリー4.0の主要テクノロジー

インダストリー 4.0 のテクノロジーとシステム、センサー、IoT デバイスのおかげで、企業は生産プ...

ユーザーが関心を持つブログトピックを作成しますか?たった3ステップ!

この記事を読んでいるあなたは、次のような状況に陥っているかもしれません。Web サイトを更新する必要...

外部リンク構築の3つの悩みを解決する名言

外部リンクの確立には長期にわたる忍耐が必要です。外部リンクの数には、ウェブマスターの苦労と数え切れな...

spinservers: 50% オフ、2*40Gbps 超大容量帯域幅の米国専用サーバー、2*e5-2690v4/256gDDR4/3.84TNVMe

spinservers は現在、米国ダラスのコア データ センターにある高帯域幅サーバーを 50% ...

ショートビデオマーケティングの鍵:データのエンパワーメント + 多様なゲームプレイ

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスショート動画の人気が続く...