web-dev-qa-db-ja.com

BigQueryとAmazonRedshiftの長所と短所

GoogleBigQueryとAmazonRedshiftを比較すると、どちらも同じ一連の要件に対応でき、主にコストプランが異なります。 Redshiftは、テーブルの結合に問題がある可能性があるGoogle BigQueryと比較して、構成(キーの定義と最適化作業)がより複雑であるようです。

GoogleBigQueryとAmazonRedshiftの長所と短所のリストはありますか?

16
user2339344

この比較をredditに投稿しました。すぐに、RedShiftの長期開業医が私の発言にコメントするようになりました。完全な会話については、 https://www.reddit.com/r/bigdata/comments/3jnam1/whats_your_preference_for_running_jobs_in_the_aws/cur518e を参照してください。

クラスターのサイズ設定:

  • Redshiftは、CPU、RAM、HDなどの数を選択し、それらをオンにするように要求します。
  • BigQueryは気にしません。プロビジョニングは不要で、いつでも使用できます。

何もしない場合の1時間あたりのコスト:

  • Redshiftは、何もしていない場合でも、実行中のこれらの各サーバーの1時間あたりの支払いを要求します。
  • アイドル状態の場合、BigQueryは保存されたGBあたり月額$ 0.02しか請求しません。 1 GBあたり月額2セント、それだけです。

クエリの速度:

  • Redshiftのパフォーマンスは、支払うCPUの量によって制限されます
  • BigQueryは、クエリを数秒で実行するために必要な数のリソースを透過的に取り込みます。

インデックス作成:

  • Redshiftは、特定の基準の下でデータにインデックスを付ける(修正:配布する)ように求めます。このインデックスに基づいてのみ高速クエリを実行できます。
  • BigQueryにはインデックスがありません。すべての操作は高速です。

掃除機:

  • Redshiftには、定期的なメンテナンスと数時間続く「バキューム」操作が必要です。これらのサーバー時間ごとに料金を支払っています。
  • BigQueryはそうではありません。 「掃除機」を忘れてください。

データの分割と配布:

  • Redshiftでは、パフォーマンスを維持するためにサーバー内でデータを分散する方法を検討する必要があります。これは、特定のクエリに対してのみ機能する最適化です。
  • BigQueryはそうではありません。必要なクエリを実行するだけです。

ライブデータのストリーミング:

  • Redshiftでは不可能(?)。
  • BigQueryは、テーブルごとに1秒あたり最大100,000行の取り込みを簡単に処理します。

クラスターの成長:

  • より多くのデータがある場合、またはより多くの同時ユーザーがスケールアップする場合、Redshiftは苦痛になります。
  • BigQueryは正常に機能します。

マルチゾーン:

  • 可用性とデータの整合性のためにマルチゾーンのRedshiftが必要ですか?痛い。
  • BigQueryはデフォルトでマルチゾーン化されています。

BigQueryを試すために、クレジットカードやセットアップ時間は必要ありません。試してみてください( BigQueryを試すための簡単な手順 )。

独自のデータをBigQueryに配置する準備ができたら、JSONの改行で区切られたログをGoogle CloudStorageにコピーしてインポートするだけです。

クラウドでのデータウェアハウスの価格設定に関する詳細なガイドは次のとおりです。 クラウドの価格設定パート3.2について-その他のデータウェアハウス

33
Felipe Hoffa

Amazon Redshiftは、拡張を可能にするMPP機能を備えた標準のSQLデータベース(Postgresに基づく)です。これらの機能では、最高のパフォーマンスを得るには、データモデルをある程度適合させる必要もあります。大量のSQL標準をサポートしており、Postgresと通信できるほとんどのツールは変更せずに使用できます。

BigQueryはデータベースではありません 標準SQLを使用せず、JDBC/ODBC接続を提供しないという意味で 。独自のAPIとインターフェースを備えたユニークなサービスです。 SQLクエリのサポートは制限されていますが、ほとんどのユーザーはカスタムコード(Java、Pythonなど)を介して対話します。一部のサードパーティツールはBigQueryのサポートを追加していますが、既存のツールは変更しないと機能しません。

tl; dr-Redshiftは、既存のツールとの対話や複雑なSQLの使用に適しています。 BigQueryは、カスタムコード化されたインタラクションやSQLを嫌うチームに適しています。

更新2017-04-17-コストと速度の違いの最新の要約があります(売り込みに包まれているのでYMMV)。 TL; DR-Redshiftは通常高速であり、データをある程度定期的にクエリすると安価になります。 http://blog.panoply.io/a-full-comparison-of-redshift-and-bigquery


UPDATE-私はこれに反対票を投じ続けているので(???? ‍♂️)、他の回答の項目に対する最新の回答があります:

クラスターのサイズ設定:

  • Redshiftを使用すると、使用量に合わせてコストを調整できます。可能な限り最速のクエリが必要な場合はSSDノードを選択し、GBあたりのコストを可能な限り低くしたい場合はHDDノードを選択します。小さく始めて、必要なときにいつでもノードを追加します。

何もしない場合の1時間あたりのコスト:

  • Redshiftは、クラスターをクエリに対応できる状態に保ち、ミリ秒単位で応答でき(結果キャッシュ)、シンプルで予測可能な毎月の請求額を提供します。
  • たとえば、あるスクリプトが週末に誤って10,000の巨大なクエリを実行したとしても、Redshiftの請求額はまったく増加しません

クエリの速度:

  • Redshiftのパフォーマンスは絶対にクラス最高であり、常に高速になります。過去6か月で3〜5倍速くなりました。

インデックス作成:

  • Redshiftにはインデックスがありません。 allowsソートキーを定義して、パフォーマンスを高速からめちゃくちゃ高速に最適化します。

掃除機:

  • クラスターに空きリソースがある場合、RedshiftはANALYZEやVACUUMDELETEなどの定期メンテナンスを自動的に実行するようになりました。

データの分割と配布:

  • Redshiftは配布を必要としません。 allows大規模な結合でも非常に高速に実行できる配布キーを定義できます。
  • {参加パフォーマンスについて競合他社に尋ねる…}

ライブデータのストリーミング:

  • Redshiftには2つの選択肢があります
    • Amazon Kinesis Firehoseを使用して、リアルタイムデータをRedshiftにストリーミングします。
    • Redshift Spectrum外部テーブルを使用してS3が着陸するとすぐに(そして高速で)S3にリアルタイムでクエリを実行することにより、取り込みを完全にスキップします

クラスターの成長:

  • Redshiftは、ほとんどのクラスターを数分で柔軟にサイズ変更できます。

マルチゾーン:

  • Redshiftは、障害が発生したハードウェアをシームレスに置き換え、必要に応じてリージョン間を含め、データを継続的にバックアップします。
12
Joe Harris