有没有办法在 Cassandra NoSQL 中按列族查询?

Is there a way to query by column family in Cassandra NoSQL?

Table 创建尝试:

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)。我确定我在这里遗漏了一个主要概念。

  1. 主要思想是任何用户对象都有 3 个列系列,可以随着时间的推移进行扩展。
  2. 另一个想法是,任何查询 select 或插入都应该能够只调用家庭,例如f2 并仅更新该系列中的列。

这可以和家人一起做吗?或者是否有另一种方法可以利用宽行、动态列或我缺少的 NoSQL 的某些功能?

我是数据库新手,非常感谢 5 年前的解释。我考虑过在 SQL 中使用 table 连接,但考虑到对象本身将扩展,我认为它不会可靠地扩展。

现代 Cassandra 不按照列族进行操作 - 它是原始设计,最终在 Cassandra 4.0 中被弃用。

如果您只想更新特定列 - 只需指定它们(加上主键)。 Cassandra 不会用 null 或类似的东西更新其余部分 - 默认情况下,Cassandra 按单个单元格(列值)而不是整行操作。选择相同 - 如果您只想获取特定列,请在 SELECT 语句中指定它们。

我建议您获取“Cassandra:权威指南”的第 3 版 - 它可能仍然可以从 DataStax 的网站上获得。