0

次のニーズを満たすデータ ストアを探しています。

  1. クエリするデータが大量にあるため (TB 単位)、分散されています。
  2. 集中的なデータ ストアを書き込みます。データはサービスから生成され、データを保存してそれらの分析を実行したいと考えています。
  3. 分析クエリを適度に高速にしたい (数時間ではなく数分のオーダー)
  4. クエリのほとんどは、「選択、フィルター、集計、並べ替え」タイプです。
  5. システムの要件の変化に応じて保存するものが変わるため、スキーマは頻繁に変更されます。
  6. 当社が保存するデータの一部は、純粋な大縮尺の map/reduce ジョブに他の目的で使用される場合もあります。

キー値ストアはスケーラブルですが、クエリ要件をサポートしていません。

Map/Reduce ジョブはスケーラブルで、クエリを実行できますが、クエリ レイテンシの要件を満たしていないと思います。

RDBMS (MySQL など) はクエリのニーズを満たしますが、スキーマを固定する必要があります。スケーリングすることはできますが、共有などを行う必要があります。

Vertica のような商用ソリューションは、すべての問題を解決するソリューションのように思えますが、可能であれば商用ソリューションは避けたいと思います。

HBase は、基礎となる HDFS により、Hadoop と同じくらいスケーラブルなシステムのようであり、フィルターと集約を実行する機能を備えているようですが、HBase でのフィルター クエリのパフォーマンスについてはよくわかりません。

現在、HBase はセカンダリ インデックスをサポートしていません。これは、任意の列でのフィルタリングに HBase が適切なオプションであるかどうか疑問に思います。ドキュメントによると、行 ID と列ファミリーでのフィルタリングは、列修飾子だけでのフィルタリングよりも高速です。ただし、RowId および Column ファミリにブルーム フィルター インデックスを設定すると、ブルーム フィルターのサイズが大幅に増加し、このオプションを実質的に実行不可能にすることも読みました。

HBase でのフィルター クエリのパフォーマンスに関する多くのデータをオンラインで見つけることができません。ここでさらに情報を見つけられることを願っています。

ありがとう!

4

2 に答える 2

0

apache cassandraを試してみてください。これは、セカンダリインデックスを非常によくサポートします。hbaseブルームフィルターについては、このリンクを参照してください。パターンに応じたブルームの複数のオプションについて説明しています。Hbaseブルームフィルター

于 2012-04-07T22:44:56.147 に答える