# 容量评估流程（异构数据库迁移场景）

![`smart`](CapacityPlanningProcess_zh_001_20240314.png)

----------------------------------------------------
容量评估按照对象不同又分为新集群容量评估和已有集群容量评估，新集群容量评估侧重于评估满足业务目标数据的集群规模大小的评估，已有集群容量评估不仅涉及业务新目标的资源评估，还可能会涉及对集群当前容量冗余量以及未来趋势的评估，相对是更复杂更系统的工程。本篇限于篇幅，后面会重点介绍新集群容量评估，同时适用于新业务或者跨数据库异构迁移场景。

容量评估的目标是获取满足业务需求的数据库存储和计算资源配置。
在异构数据库迁移场景中，一般做法是：

- 第一步：先评估出（如通过基准测试或经验评估或业务流量压测等）常见场景（比如 OLTP 简单索引点查、索引小批量查询、统计分析场景等）下的指定基准实例（一般为主流配置）的多项数据库能力。

- 第二步：对不同的业务场景的具体需求通过计算分析分别获取这些能力对应需要的数据库配置（容量评估结果）。

- 第三步：根据得到的各项数据库评估数据通过相加或者取最大值等方式计算获得最终的容量评估数据，为了安全起见，可以再在最终评估数据上乘以  x （大于 1）的系数来增加测试和上线的成功率。

简单用公式表示是：某个指标的容量评估数据（集群数、单集群实例数、存储）= （业务需求/基准实例能力）*  基准实例资源量，容量评估最终结果数据= SUM or MAX（所有指标的容量评估数据）。例如业务需求的读取 QPS 为 10 万，基准实例可以支撑 2 万的读取 QPS，那容量评估的结果是需要 10/2 = 5 个 基准实例的读实例资源来满足业务的读流量需求。

容量评估的结果数据最终主要是两类数据，
- 一是集群实例评估数据，主要是确定需要多少的数据库集群以及每个集群的实例配置；
- 二是存储评估数据，主要是通过评估得到的数据占用总存储在计算得到每个实例配置的磁盘大小。


