我想在Cassandra中进行查询,需要来自两个列族的数据。在sql中,我们通过外键和连接来实现它,但在Cassandra中没有定义这些概念。所以我想在Cassandra中对两个列族进行非规范化,但我不知道该怎么做。 有人可以帮我吗? 谢谢。
答案 0 :(得分:1)
Denormalization表示您根据多个表中join的结果创建表。
在您的示例中,您有以下两个表:
Station (IDStation primary key, code, name, location, supervisor, citycode);
Information (IDInf primary key, IDstation, date, time, temprature, humidity, pressure);
其中Information具有Station表的外键。他们的非规范化表类似于以下
StationInfo (
IDStation,
code,
name,
location,
supervisor,
citycode,
IDInf,
date,
time,
temprature,
humidity,
pressure,
PRIMARY KEY (IDStation, IDInf)
);
其中具有不同信息的同一站是不同的站。
如果Station和Information之间的关系是1:1映射,那么只能使用一个ID来描述它们:
StationInfo (
IDStation primary key,
code,
name,
location,
supervisor,
citycode,
date,
time,
temprature,
humidity,
pressure
);