1

そのため、非常に大きな行がいくつかあります。数百万列幅のものもあります。各列は JSON オブジェクトです。

明らかに、データは倹約の max_packet よりも大きく、行全体を取得しようとすると、あらゆる種類の狂気が発生します。質問は、(ルビーを使用して)データを取得するためのより適切な方法があるかどうかです。それはすべて TimeUUID データであり、一度に 100 または 1000 程度のバッチを使用して行全体を取得できるようにしたいと考えています。ただし、これを行う方法がわかりません。範囲操作のほとんどはキー ベースであり、列ベースではありません。

また、単純に get を実行すると、リングの 2 つのノードがクラッシュします (RF=2)。その間 GC がスラッシングしているように見え、クラッシュ時に Java Heap OOM エラーが発生します。

ありがとう、ブレット

4

1 に答える 1

0

範囲操作のほとんどはキー ベースであり、列ベースではありません。

使用しているインターフェイスはわかりませんが、Cassandra の API は、返される列名の範囲を指定できるget_sliceを受け入れるメソッドをサポートしています。twitter ruby​​ クライアントは、スライス範囲にマップするおよびへSliceRangeのオプションを提供します。:start:finishgetmulti_get

于 2013-05-06T21:21:54.960 に答える