数据岗位面试题更新 2026-08-05

在 Cassandra 中,主键起到什么作用?请说明复合主键由哪几部分构成,并给出定义方法。

数据技术原理技术选型Apache Cassandra

考察说明

考查对 Cassandra 数据模型核心概念主键及复合主键构成的理解。

回答思路

  1. 【回答框架 1】Cassandra 主键由分区键和可选聚类键构成,分区键决定数据在集群中的分布位置,用于定位数据所在节点;聚类键则用于在分区内部对数据进行排序,确定同一分区内多行数据的物理存储顺序。
  2. 【回答框架 2】复合主键定义时使用 PRIMARY KEY 语法,可细分为复合分区键和复合聚类键。复合分区键用括号包裹多个列,使数据按多列组合分布;复合聚类键直接在表定义中列出多列,按顺序决定排序层级。
  3. 【回答框架 3】定义方法示例:CREATE TABLE t (a int, b int, c text, PRIMARY KEY (a, b, c)),其中 a 为分区键,b 和 c 为聚类键;若需复合分区键,写作 PRIMARY KEY ((a, b), c)。查询时分区键用于等值过滤,聚类键支持范围查询,但必须遵循最左前缀原则。
  4. 【回答框架 4】主键选择直接影响查询效率和负载均衡,分区键应选择基数高且分布均匀的列,避免热点;聚类键则根据查询排序需求设定,过多聚类键可能增加存储开销。
  5. 【关键点 1】主键由分区键和聚类键组成,分区键决定分布,聚类键决定分区内排序。
  6. 【关键点 2】复合分区键用括号定义,复合聚类键直接列举多列。
  7. 【关键点 3】查询必须至少包含分区键,且遵循最左前缀原则。
  8. 【关键点 4】主键设计需兼顾查询模式和数据分布均匀性。
  9. 【易错点 1】混淆复合分区键与复合聚类键在语法和查询限制上的差异。
  10. 【易错点 2】忽略聚类键顺序对范围查询的影响,导致查询失败或性能下降。
  11. 【易错点 3】分区键设计不当造成数据倾斜或热点,影响集群均衡。