144

Google Cloud Bigtableと Google Cloud Datastore / App Engine データストアの違いは何ですか?また、主な実用上の利点/欠点は何ですか? 私の知る限り、Cloud Datastore は Bigtable の上に構築されています。

4

9 に答える 9

106

Datastore の経験と Bigtable のドキュメントを読むと、主な違いは次のとおりです。

  • Bigtable は当初、HBase との互換性のために設計されましたが、現在は複数の言語のクライアント ライブラリを備えています。Datastore はもともと、Python/Java/Go ウェブアプリ デベロッパー(元は App Engine)向けでした。
  • Bigtable は、「ただそこにある」のではなく、クラスタを構成する必要があるという点で、Datastore よりも「もう少し IaaS」です。
  • Bigtable がサポートするインデックスは 1 つだけです。「行キー」(Datastore のエンティティ キー)です。
    • これは、Datastore のインデックス付きプロパティとは異なり、クエリがキー上にあることを意味します
  • Bigtable は単一の行でのみ原子性をサポートします - トランザクションはありません
  • ミューテーションと削除は Bigtable ではアトミックではないように見えますが、Datastore は読み取り/クエリ方法に応じて結果整合性と強整合性を提供します
  • 請求モデルは大きく異なります。
    • 読み取り/書き込み操作、ストレージ、および帯域幅に対するデータストアの料金
    • 「ノード」、ストレージ、帯域幅に対するBigtableの料金
于 2015-05-06T20:05:09.327 に答える
105

Bigtable は大量のデータと分析用に最適化されています

  • Cloud Bigtableはゾーンまたはリージョン間でデータをレプリケートしません (単一のクラスター内のデータはレプリケートされ、耐久性があります)。つまり、Bigtable はより高速で効率的であり、コストははるかに低くなりますが、耐久性が低く、デフォルト構成で利用可能です。
  • HBase APIを使用します - ロックインのリスクや新しいパラダイムを学ぶ必要はありません
  • オープンソースのビッグデータ ツールと統合されているため、Bigtable に保存されているデータを、顧客が使用するほとんどの分析ツール (Hadoop、Spark など) で分析できます。
  • Bigtable は単一の行キーによってインデックス付けされます
  • Bigtable は単一のゾーンにあります

Cloud Bigtable は、複雑なバックエンド ワークロードを伴う大規模なデータを必要とする大企業や企業向けに設計されています。

Datastore は、高価値のトランザクション データをアプリケーションに提供するように最適化されています

  • Cloud Datastoreはレプリケーションとデータ同期により非常に高い可用性を実現
  • データストアは、汎用性と可用性が高いため、より高価です
  • 同期レプリケーションが原因で、データストアのデータ書き込みが遅くなる
  • Datastore は、トランザクションとクエリに関してはるかに優れた機能を備えています (セカンダリ インデックスが存在するため)
于 2015-05-06T23:24:01.443 に答える
2

考慮すべき比較的マイナーな点として、2016 年 11 月の時点で、bigtable python クライアントライブラリはまだアルファ版であるため、将来の変更には下位互換性がない可能性があります。また、bigtable python ライブラリは App Engine の標準環境と互換性がありません。柔軟なものを使用する必要があります。

于 2016-11-16T07:27:33.140 に答える