SuperAPI AI 工具集

cassandra

设计与创作

查看项目

更新于 10-15 21:49

技能介绍

用途:为 Apache Cassandra 提供专业协助,覆盖 CQL、分区键与聚簇列设计、墓碑(tombstone)规避以及 nodetool 运维命令,适合需要线性横向扩展的数据场景。

主要能力与概念:介绍无主环形架构与一致性哈希,各节点对等,由分区令牌决定主副本归属;说明分区键决定物理节点分布,聚簇列决定分区内磁盘排序;支持可调一致性级别(如 LOCAL_QUORUM、LOCAL_ONE)。

使用方式:以查询优先建模设计主键,例如先建键空间再建表:CREATE KEYSPACE telemetry_data WITH replication = {'class': 'NetworkTopologyStrategy', 'us-east': 3, 'eu-west': 3}; 并以 PRIMARY KEY ((分区键), 聚簇列) 组合。基本操作示例为 CREATE TABLE users (user_id UUID PRIMARY KEY, name text, email text); 以及 INSERT INTO users (user_id, name) VALUES (uuid(), 'Alice');。运行时可设置 CONSISTENCY LOCAL_QUORUM 后按分区键查询。

适用场景:高频写入摄取(IoT 传感器、消息系统、时序指标)、多数据中心零停机复制、线性横向扩展、以及高并发键值/分区键查询下的可预测低延迟。

限制与最佳实践:Cassandra 无法做关系型连接或任意过滤,未指定分区键的查询会扫描整个分区;生产查询不应使用 ALLOW FILTERING,避免批量删除(产生墓碑并拖慢读取、引发 GC 停顿),不宜当作分析型 SQL 数据库做聚合与多表扫描;分区大小建议控制在 100MB 以下,可用时间分桶;多 DC 建议 LOCAL_QUORUM;应定期运行 Reaper 修复。常见问题包括 ReadTimeoutException(调低一致性级别并检查 GC)、墓碑过多(避免写空列、调整 gc_grace_seconds、压实 SSTable)、UnavailableException(检查 nodetool status 并恢复节点或改用 LOCAL_ONE)。官方资料未提供具体收费与价格信息。