表创建尝试:
CREATE TABLE users_v1 (
guid uuid PRIMARY KEY,
notice text,
first_name text,
last_name text,
obsidian text,
starlight text,
bids text,
apps text,
FAMILY f1 (first_name, last_name),
FAMILY f2 (obsidian, starlight),
FAMILY f3 (bids, apps)
);我尝试过基于f*进行查询,但我似乎无法得到返回或编写的(first_name, last_name)。我肯定我错过了一个重要的概念。
这能和家人一起做吗?或者,还有其他方法可以利用宽行、动态列或我缺少的NoSQL特性吗?
我对数据库很陌生,所以5年前的解释很受欢迎。我已经考虑过在SQL中使用表联接,但考虑到对象本身将被扩展,我不认为它将可靠地扩展。
发布于 2022-05-24 06:54:27
现代卡桑德拉并不是按列族来运作的--这是最初的设计,最后在卡桑德拉4.0中被废弃了。
如果您只想更新特定的列,只需指定它们(加上主键)。Cassandra不会用null或类似的东西更新其余部分--默认情况下,Cassandra由单个单元格(列值)操作,而不是整行。对于SELECT -如果您只想获得特定的列,请在SELECT语句中指定它们。
我建议你获得第三版的“卡桑德拉:权威指南”-它可能仍然可以从DataStax的网站。
https://stackoverflow.com/questions/72356168
复制相似问题