0

我正在尝试使用 CQL 将我的域模型放入 Cassandra。假设我有 USER_FAVOURITES 表。每个收藏夹都有 ID 作为主键。我想按顺序存储多个字段的最多10条记录的列表,field_name,field_location等。

对这样的表格进行建模是个好主意吗

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]))

我总是一起查询收藏夹。我可能想将项目添加到某个位置、开始、结束或中间。

这是一个好习惯吗?看起来不像,但我只是不确定在这种情况下如何对对象进行分组,当我想通过例如 field_location 或更复杂的排序规则来保持它们的顺序时

4

2 回答 2

0

我建议以下结构:

CREATE TABLE USER_FAVOURITES (
    fav_id text PRIMARY KEY,
    favs map<int, blob>
);

这将允许您通过索引访问任何项目。map 的 value 部分是 blob,因为可以轻松地将整个需要的对象序列化为二进制并在以后反序列化。

于 2013-10-30T13:02:21.140 回答
-1

我个人的建议是不要太强调 cassandra 的收藏,因为它会在未来进一步开花。尽管上述指定的情况非常有可能并且这样做没有害处。

于 2013-05-16T09:14:10.647 回答