0

私はCassandra1.1.8を使用していますが、今日、キースペースに次のコンテンツを含む列ファミリーが表示されました。

 SELECT * FROM challenge;
 KEY
----------------------------
 49feb2000100000a556522ed68  
 49feb2000100000a556522ed74  
 49feb2000100000a556522ed7a   
 49feb2000100000a556522ed72   
 49feb2000100000a556522ed76   
 49feb2000100000a556522ed6a   
 49feb2000100000a556522ed70   
 49feb2000100000a556522ed78   
 49feb2000100000a556522ed6e   
 49feb2000100000a556522ed6c   

したがって、行キーのみです。昨日、それらの行があり、私はいくつかの削除を実行しました(正確にそれらの行に対して)。私はヘクターを使用しています

Mutator<byte []> mutator = HFactory.createMutator(keyspace, BYTES_ARRAY_SERIALIZER)
    .addDeletion(challengeRowKey(...), CHALLENGE_COLUMN_FAMILY_NAME)
    .execute();

これは、単一のマシン/単一ノードでの小規模な開発およびテスト環境であるため、ハードウェアの詳細は適切ではないと思います。おそらく私は愚かなことをしているのか、物事がどのように機能しているかについてのポイントがわかりませんでしたが、上記の行は有効ではないことを理解していました...列名と列値の座標が欠落しているため、有効なセルがありません(行キー/列名/列値)...そうですか?

ゴースト読み取りについて読みましたが、これは分散環境でのシナリオだと思います... 1日後、単一のCassandraノードで有効ですか??

4

1 に答える 1

2

http://www.datastax.com/docs/1.0/dml/about_writes#about-deletesから

「削除された行の行キーは、範囲クエリの結果に引き続き表示される場合があります。Cassandraで行を削除すると、その行キーのすべての列にトゥームストーンがマークされます。これらのトゥームストーンが圧縮によってクリアされるまで、空の行キーがあります。 (列を含まない行)これらの削除されたキーは、get_range_slices()呼び出しの結果に表示される可能性があります。クライアントアプリケーションが行に対して範囲クエリを実行する場合は、空の列リストを返す行キーを除外する必要があります。」

于 2013-02-28T13:18:14.510 に答える