用途:为 NoSQL 数据库设计数据模型,覆盖 MongoDB(文档)、DynamoDB(键值/宽列)、Redis(键值)和 Cassandra(宽列)。与关系型建模以范式化为核心不同,本技能从访问模式和查询需求出发,再据此塑造数据以高效服务这些模式。
使用前提:按目标数据库安装 mongosh、aws dynamodb CLI、redis-cli 或 cqlsh;整理出应用全部访问模式清单(读/写查询);给出数据量预期(文档数、平均文档大小、增长率);说明各访问模式的读写比例与延迟要求;明确一致性要求(强一致或最终一致)。
主要能力:一是把访问模式整理成表(模式名、查询描述、频率、延迟要求、访问字段),作为一切建模决策的依据。二是 MongoDB 文档建模,按框架在嵌入与引用间取舍:数据总是同时访问、子数据无独立生命周期、基数有界(1:few)、更新不频繁时嵌入;有独立访问模式、基数无界、子文档大或被多个父级共享时引用。三是 DynamoDB 单表设计中规划分区键与排序键以支持主访问模式,用复合排序键表达层级数据,为次要模式规划 GSI,总数控制在 5 个以内。四是评估反规范化取舍,对很少变更的数据反规范化,对频繁变更的数据保留引用。五是处理一对多与多对多关系,无界一对多采用父级引用以避免文档大小上限(MongoDB 为 16MB);DynamoDB 用邻接表与反向 GSI。六是通过版本字段与批量迁移脚本规划模式演进。七是用 explain() 或消耗容量单位验证模型。八是输出文档结构图、示例文档、索引定义(含复合、部分、TTL 索引)、访问模式映射表与迁移脚本。
限制:具体效果取决于目标数据库与应用实际负载,需自行验证;资料未提供价格、收费方式及具体安装步骤以外的配置细节。