6

私は最近、Cassandra がイベント タイプごとにカスタム ttl を使用して時間ベースのイベントを保存するのに完全に適合するケースに遭遇しました (他の解決策は、hadoop に保存し、手動で簿記を行うことです (ttls など、私見は非常に複雑なアイデアです) またはhbase に切り替えます)。問題は、Datastax Enterprise エディションがなくても、cassandra MapReduce のサポートがすぐに機能するかどうかです。

彼らは CassandraFS に多くの投資をしたようですが、通常の Pig CassandraLoader がアクティブに維持され、実際にスケーリングされるかどうかを自問します (スライス内の行を反復処理するだけのように見えるため)。これは何億もの行で機能しますか?

4

2 に答える 2

1

ランダムパーティショナーを使用してマップ/削減できますが、もちろん、取得するキーはランダムな順序になります。おそらくcassandraでCL = 1を使用したいので、マップ/リデュースを実行しているときに毎回2つのノードから読み込む必要はなく、ローカルデータを読み取る必要があります。私はPigを使用していません。

于 2012-11-01T20:27:46.257 に答える
-2

なぜhbaseしないのですか?Hbase は時系列データにより適しています。非常に小さなクラスターに数十億行を簡単に配置し、WAL が有効になっている小さな 3 ノード クラスター (最大 50MB/秒) で 1 秒あたり最大 50 万行を取得できます。Cassandra にはいくつかの欠陥があります。

  1. cassandra では、実際にはキーの量によって制限されます (数十億行の場合、修復が永遠に機能することを想像してください)。したがって、たとえば 1 時間ごとに時間を「分割」するスキーマを設計すると、実際のタイムスタンプが列として配置されます。しかし、「巨大な列」のリスクが高いため、このようなスキームはうまくスケーリングできません。
  2. その他の問題 - cassandra でデータの範囲を mapreduce することはできません。ただし、順序付けされたパーティショナーを使用する場合を除きます。これは、バランスを取ることができないため、まったくオプションではありません。
于 2012-11-01T12:40:58.907 に答える