我想知道如何使用cassandra的键值存储。如果我有数据流,我不知道它的架构和结构,那么如何使用cassandra的键值存储和java代码来保存它,以及它实际上是如何工作的
ee7vknir1#
要将cassandra用作简单的键值存储,请使用一个简单的模式:
CREATE TABLE kvstore ( key text, value text, PRIMARY KEY(key) )
如果您知道将使用二进制数据,则可以使用blob类型而不是text类型。不过,Cassandra的优势在于集群。如果你考虑一下这个非常相似的模式:
blob
text
CREATE TABLE kvstore ( key text, version int, value text, PRIMARY KEY(key, version) )
这给了你一个非常相似的键/值存储,除了给定key的所有value将按version自然排序-你可以只选择一个版本(SELECT * FROM kvstore WHERE key=? AND value=?)或给定键的所有值(SELECT * FROM kvstore WHERE key=?)。
key
value
version
SELECT * FROM kvstore WHERE key=? AND value=?
SELECT * FROM kvstore WHERE key=?
1条答案
按热度按时间ee7vknir1#
要将cassandra用作简单的键值存储,请使用一个简单的模式:
如果您知道将使用二进制数据,则可以使用
blob
类型而不是text
类型。不过,Cassandra的优势在于集群。如果你考虑一下这个非常相似的模式:
这给了你一个非常相似的键/值存储,除了给定
key
的所有value
将按version
自然排序-你可以只选择一个版本(SELECT * FROM kvstore WHERE key=? AND value=?
)或给定键的所有值(SELECT * FROM kvstore WHERE key=?
)。