Cassandra NoSQL/BigTable数据建模中的列表&;超级柱(带卡桑德拉)
我是NoSQL和BigTable的新手,我正在尝试学习如何(如果应该的话)使用超级列来创建一个BigTable友好的模式 基于NoSQL数据建模,听起来我应该将数据聚合到更大的表中,尽可能地进行反规范化,而不是使用以连接为中心的RDBMS模式。基于此,我为“用户”设想了一个简单的模式,我正试图为Cassandra创建这个模式:Cassandra NoSQL/BigTable数据建模中的列表&;超级柱(带卡桑德拉),cassandra,nosql,cql,Cassandra,Nosql,Cql,我是NoSQL和BigTable的新手,我正在尝试学习如何(如果应该的话)使用超级列来创建一个BigTable友好的模式 基于NoSQL数据建模,听起来我应该将数据聚合到更大的表中,尽可能地进行反规范化,而不是使用以连接为中心的RDBMS模式。基于此,我为“用户”设想了一个简单的模式,我正试图为Cassandra创建这个模式: User: { KEY: UserId { name: { first, last
User: {
KEY: UserId {
name: {
first,
last
},
age,
gender
}
};
上面的列族(用户),其键是“UserID”,由3列(姓名、年龄、性别)组成。其列“name”将是一个超级列,由“first”和“last”列组成
所以我要问的是:
- 不能使用CQL创建超级列;可能还有其他机制可以做到这一点,但CQL似乎不是其中之一
- SQL 3.0的语法似乎正在从以“列族”为中心的方法转向类似SQL的基于“表”的语法
User : {
key: userId {
columnName:firstname
ColumnName:lastname
ColumnName:age
ColumnName:gender
ColumnName:zip
ColumnName:street
}
..
};
如何表示表/列族中的值列表
可以将列表存储在cf中的ByTestType中。也可以将列表拆分为单个元素并存储为CompositeType