我正在尝试使用cql将我的域模型放到cassandra中。假设我有用户最喜爱的表。每个收藏夹都有id作为主键。我想按顺序存储最多10条记录的列表,包括多个字段、字段名称、字段位置等等。
这样做是个好主意吗
CREATE TABLE USER_FAVOURITES (
fav_id text PRIMARY KEY,
field_name_list list<text>,
field_location_list list<text>
);
对象将由匹配指示符的列表项(例如。
Object(field_name_list[3],field_location_list[3]))
我总是在一起。我可能想添加和项目的一些位置,开始,结束或中间。
这是个好习惯吗?看起来不像,但我只是不知道在这种情况下如何对对象进行分组,也不知道如何通过字段位置或更复杂的排序规则来保持它们的有序
2条答案
按热度按时间31moq8wy1#
我个人的建议是不要过分强调Cassandra的收藏,因为它在未来会进一步发展。虽然上述情况是非常可能的,这样做没有坏处。
eivgtgni2#
我建议采用以下结构:
这将允许您通过索引访问任何项目。map的值部分是blob,因为可以很容易地将所需的整个对象序列化为二进制,然后反序列化。