Я хочу получить все версии одной ячейки.Однако, похоже, что Cassandra API может получить только последнюю версию / метку времени.Например, использование hector:
import me.prettyprint.hector.api._
import me.prettyprint.hector.api.factory._
import me.prettyprint.cassandra.serializers._
import me.prettyprint.cassandra.service.template._
object GetExample extends App {
val cluster = HFactory.getOrCreateCluster("test_cluster", "127.0.0.1:9160")
val keyspace = HFactory.createKeyspace("test_keyspace", cluster)
val colFamilyName = "test_table"
val template = new ThriftColumnFamilyTemplate(keyspace, colFamilyName,
StringSerializer.get(),
StringSerializer.get())
val result = template.queryColumns("row1")
System.out.println(result.getString("qual1"))
System.out.println(result.getColumn("qual1").getClock())
HFactory.shutdownCluster(cluster)
}
getClock()
дает мне только самую последнюю временную метку.
Одна из причин, по которой я хочу использовать все временные метки, заключается в том, что в собственном API Cassandra удаление может назначать метку времени для удаления.значения старше, чем это.Итак, как мне узнать, какие временные метки использовать, если я не могу их получить?Кроме того, я могу использовать метку времени для хранения разных версий одной ячейки, что является весьма полезным механизмом моделирования.
Может ли Кассандра сделать это?
Я немного искал и обнаружил, как однажды сказал Джонатан Эллис: "Нет, мы не планируем добавлять поддержку для извлечения старых версий."Но это было в марте 2010 года. Это все еще правда?Если да, то почему?