用于存储嵌入式文档的 Cassandra 数据模型
Cassandra data model to store embedded documents
在mongodb中我们可以将嵌入文档存储到一个collection.Then中,我们如何将嵌入文档存储到cassandra中???对于此示例 JSON 表示???
UserProfile = {
name: "user profile",
Dave Jones: {
email: {name: "email", value: "dave@email.com", timestamp: 125555555},
userName: {name: "userName", value: "Dave", timestamp: 125555555}
},
Paul Simon: {
email: {name: "email", value: "paul@email.com", timestamp: 125555555},
phone: {name: "phone", value: "4155551212", timestamp: 125555555},
userName: {name: "userName", value: "Paul", timestamp: 125555555}
}
}
如果您的文档嵌套层次不是太深,您可以使用 C* 2.1 中的 User Defined Types。
我个人建议将您的架构重新考虑为更扁平的形式,例如:
create table profiles (
name text,
name2 text,
email text,
username text,
ts timestamp,
primary key (name,name2) // compound primary key!
)
在mongodb中我们可以将嵌入文档存储到一个collection.Then中,我们如何将嵌入文档存储到cassandra中???对于此示例 JSON 表示???
UserProfile = {
name: "user profile",
Dave Jones: {
email: {name: "email", value: "dave@email.com", timestamp: 125555555},
userName: {name: "userName", value: "Dave", timestamp: 125555555}
},
Paul Simon: {
email: {name: "email", value: "paul@email.com", timestamp: 125555555},
phone: {name: "phone", value: "4155551212", timestamp: 125555555},
userName: {name: "userName", value: "Paul", timestamp: 125555555}
}
}
如果您的文档嵌套层次不是太深,您可以使用 C* 2.1 中的 User Defined Types。
我个人建议将您的架构重新考虑为更扁平的形式,例如:
create table profiles (
name text,
name2 text,
email text,
username text,
ts timestamp,
primary key (name,name2) // compound primary key!
)