用途
本技能用于华为云 DWS(Data Warehouse Service)数据仓库的配置规划与规格选型,面向迁移或新建(Greenfield)场景,对存算一体(coupled)与存算分离(decoupled)两种架构模式进行配置规划。功能边界为:需求调研 -> 架构模式确认 -> CPU 核数计算 -> 最小规格选型 -> 热数据存储/缓存容量计算 ->(可选)增长预留与扩容节奏 -> 报告输出 -> Excel 生成。
触发词包括中文的“DWS规划”“DWS选型”“DWS集群规划”“DWS节点规格”“数据仓库迁移DWS”“华为云DWS”“存算一体”“存算分离”“日增数据量”“DWS扩容”“DWS容量规划”,以及对应的英文触发词。
主要能力
- 支持迁移与新建两类场景的 CPU 核数推导。
- 支持存算一体与存算分离两种架构模式的存储容量计算。
- 输出一个满足需求的最小规格方案(约束下最小算力冗余),不做 A/B 方案对比。
- 基于日增数据量与保留周期,输出存储增长预留与扩容节奏建议。
- 生成结构化 Markdown 报告与 5 个工作表的 Excel 报告。
使用方式
前置条件:Python3 + openpyxl(pip install openpyxl)。
工作流程分为六个阶段:
- 需求调研:收集 8 项必填 + 2 项可选信息,包括场景类型、数据量、日增数据量(可选)、保留周期(可选)、竞品信息、源集群调研(v2.4.0)、工作负载、查询特征、架构模式、缓存策略、部署区域。源集群调研清单见 references/source-cluster-survey.md。
- 架构模式确认:存算一体适用于 <20TB 高性能场景,高水位 70%;存算分离适用于 >=20TB 或热数据比例低/快速增长场景,高水位 80%,缓存策略可选成本优化 50% / 性能优化 100% / 热窗口 N 天 / 自定义热数据量(v2.3.0)。存储计算规则见 references/storage-calculation.md。
- CPU 核数计算:迁移场景按竞品 CPU 总量匹配配置,内存比跟随竞品;未提供竞品核数时回退为 ceil(数据量/100GB)。新建场景基础核数 = ceil(总入仓数据/100GB),计算密集型 x1.3(内存比 1:8),否则 1:4。存算分离与存算一体均使用总入仓数据推导 CPU(v2.5.1),缓存比例仅影响存储/缓存容量分配,不影响 CPU 核数。约束:单节点 >=16vCPU/64GB,节点数 >=3(高可用)。日增数据量不参与 CPU/节点推导,仅用于第五阶段增长预留。完整算法见 references/cpu-sizing-algorithm.md。
- 节点规格规划:遍历 DWS 专属规格目录(dwsx2/dwsx3/dwsax3 系列),满足硬约束(>=16 核/>=64GB/>=3 节点),选择算力冗余最小(节点 + 存储)的组合。选型理由通过四步公式链自动生成。规格目录见 references/ecs-flavor-catalog.md,选型算法见 references/single-plan-algorithm.md。
- 存储容量计算与增长预留:存算一体有效容量 = 总量 / 高水位(70%),点查多时 x(1+索引%),每节点 = ceil(总量/节点数,向上取整到 100GB);存算分离按缓存策略计算热数据 -> 有效缓存 = 热数据 / 高水位(80%)。缓存策略优先级:自定义 > 窗口 > 成本/性能。增长预留(需同时提供日增数据量与保留周期):规划期新增数据 = 日增 x 30 天/月 x 保留月数;期末总量 = 当前 + 新增;扩容线(90% 利用率)容量 -> 净增长余量 -> 预估扩容时间点。增长预测不改变推荐规格,仅输出扩容建议。
- 报告输出:生成结构化 Markdown 报告 + 5 个工作表 Excel 报告(配置推荐总览、资源与存储计算、选型决策依据、容量增长与扩容建议、存算分离 OBS 规格)。
核心命令:python scripts/generate_dws_report.py,文件命名 DWS_Sizing_Report_<YYYYMMDD>.xlsx。
适用场景
- 数据仓库迁移至华为云 DWS 的规格规划。
- 新建 DWS 集群的容量与规格选型。
- 存算一体/存算分离架构选择与容量计算。
- 基于日增数据量的扩容节奏规划。
限制
- 仅输出一个方案(满足需求的最小规格,最小算力冗余),不做 Plan A/B 对比。
- DWS 使用专属规格名称(dwsx2/dwsx3/dwsax3 等),不能使用 MRS aC9/ac7 等通用 ECS 规格;选型前需确认目标区域 DWS 规格可用性。
- 生产单节点 >=16vCPU 且 >=64GB(硬性要求),节点数 >=3(高可用)。
- 迁移场景核数匹配竞品核数,无硬性 >=96 下限;未提供竞品核数时回退为 ceil(数据量/100GB)。
- 缺失信息使用默认值但必须标注(如索引空间默认 +30%,缓存策略默认性能优化 100%),不允许静默使用默认值。
- 日增数据量不参与 CPU/节点推导,仅用于第五阶段增长预留与扩容节奏;未提供日增数据量与保留周期时,Sheet 4 输出 N/A。
- 数据量 <100GB 时回退为 ceil(数据量/100GB) = 1 核,但受单节点 >=16vCPU 硬约束,实际最小规格为 16 核。
- 脚本必须通过 skill action=exec 执行,禁止直接 shell 执行。
- 本规划技能不需要 API 权限。
验证方式
执行 python scripts/generate_dws_report.py 生成 Excel 报告,确认输出 5 个工作表;验证推荐规格满足硬约束(单节点 >=16vCPU 且 >=64GB,节点数 >=3);验证存算分离场景 CPU 按总入仓数据计算(与存算一体一致),缓存比例调整不影响 CPU 核数;确认日增数据量不膨胀初始规格(仅用于第五阶段增长预留)。