なぜHBase
をCassandra
とともに使用するよりもHadoop
を使用するほうがよいのですか?
誰でもこれについて詳細な説明をお願いできますか?
ありがとう
私はどちらかが他のものより優れているとは思わない、それはどちらか一方だけではない。これらは非常に異なるシステムであり、それぞれに長所と短所があります。そのため、実際にはユースケースに依存します。同じインフラストラクチャ内で相互に補完して使用することができます。
違いをより良く説明するために、 Cassandra:The Definitive Guide から写真を借りて、CAP定理について説明します。彼らが言うことは基本的にどんな分散システムでも、consistency、availabilityおよびパーティション許容値であり、現実的にこれらのプロパティのうち2つだけを満たすことができます。それから次のことがわかります。
Hadoopに関しては、HBaseはHDFS上に構築されているため、すでにHadoopスタックを持っている場合に使用すると非常に便利です。また、Hadoopの標準エンタープライズディストリビューションであるClouderaによってサポートされています。
ただし、Cassandraは、Hadoop、つまり人気が高まっているDatastax Briskとの統合も強化されています。また、Cassandraが提供する出力形式(たとえば[BulkOutputFormat
)]を使用して、Hadoopジョブの出力からCassandraクラスターにネイティブにデータをストリーミングできるようになりました。Cassandraは、スタンドアロンのプロジェクトでした。
私の経験では、Cassandraはランダム読み取りに最適であり、スキャンにはあまり適していません。
写真に少し色を付けるために、私は同じインフラストラクチャで仕事で両方を使用してきましたが、HBaseはCassandraとは非常に異なる目的を持っています。私はCassandraを主にリアルタイムの非常に高速なルックアップに使用しましたが、低レイテンシー要件の重いETLバッチジョブにはHBaseを使用しました。
これは本当にブログ投稿に値する質問なので、先に進むのではなく、 an article で2つの主要な違いを要約します。システム。要するに、私見に優れたソリューションはないので、どのシステムがより適しているかを確認するために、実際にユースケースについて考える必要があります。
両方のデータベースの長所と短所を比較し、ビジネス要件に応じて慎重な決定を下す必要があります。
Cassandra
長所:
短所:
HBase
長所:
短所:
詳細については、 article 1 、 article 2 、およびこの presentation をご覧ください。