NoSQL 分布式存储专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/nosql-expert。
技能介绍
要解决什么问题
当你从单机 MySQL/PostgreSQL 迁到 Apache Cassandra、ScyllaDB 或 Amazon DynamoDB 时,最容易踩坑的不是 API,而是数据模型:仍按实体建表、读时 JOIN、用低基数字段当分区键,结果出现热点分区、全表扫描或 ALLOW FILTERING。这类系统要求先对访问模式建模,再在写时反范式、预聚合,并接受 BASE / 最终一致 的取舍。
技能如何帮你
本技能提供 Cassandra 与 DynamoDB 的心智模型与检查清单,核心包括:
- 查询优先:先列实体与全部访问模式,再为每种模式设计专用表或索引,避免「事后补查询」只能靠迁移。
- 分区键与排序键:用高基数
PK均匀打散流量;在分区内用聚簇键 / 排序键支撑范围查询;警惕单分区无限膨胀(必要时按时间等维度分片)。 - 单表与复制:DynamoDB 邻接表(
USER#123+PROFILE/ORDER#…)实现一次请求拉齐关联数据;必要时多表复制同一字段以服务by_id与by_email等不同路径。 - 引擎差异:Cassandra 侧强调主键结构、计数表预聚合、墓碑与删除模式;DynamoDB 侧区分 GSI/LSI、WCU/RCU 与 TTL 过期。
适用边界
技能聚焦宽列 / 键值分布式存储的设计与排障,不替代官方运维手册,也不覆盖 MongoDB 等文档库建模。若业务强依赖跨实体 ad-hoc 查询或强一致事务,需重新评估选型或在应用层补偿一致性。
使用场景
- 微服务计划从 PostgreSQL 迁到 DynamoDB,上线前需列出全部读路径并为每种访问模式定 PK、SK 与索引。
- 生产 Cassandra 或 ScyllaDB 出现热点分区、P99 延迟升高,需对照分区键基数与查询是否触发全集群扫描排查。
- 新业务在 ScyllaDB 与 DynamoDB 之间选型,需按水平扩展、一致性与单表/GSI 成本评估建模方案。
- DynamoDB 要实现「按用户 ID 一次取回资料与全部订单」,需设计邻接表单表结构而非应用层多次查询。
适合人员
- 负责关系库向 Cassandra 集群迁移的后端工程师,需要在改 schema 前完成「访问模式 → 表/主键」对照清单。
- 日常运维 DynamoDB 或 Cassandra 的 SRE,遇到容量单位突增、热点键或 ALLOW FILTERING 告警,需要从建模层面定位根因。
- 设计读多写少、「每服务独立库」的微服务架构师,需要定反范式、复制表与最终一致性的边界。
- 首次接手宽列/键值项目的 data engineer,需要避免 Author/Book 分表再在代码里 join 的关系型反模式。