# 迁移：分析和规划


![`smart`](AnalysisPlanning_en_001_20230310.png)

------------------------------------------------------------------------------------

+ 数据库大小：确定数据卷。通常，数据库的大小基于两个因素：考虑物理或逻辑迁移方法以及是否将所有或部分数据迁移到目标数据库

+ 大小: 确定源数据库大小并考虑未来的增长以确定目标大小
数据库。除了`CPU`和内存，还要确保大小满足您的`IOPS`和网络。
带宽需求。

+ 停机时间：从您的业务中确定停机`service level agreements`(`SLAs`)是什么，以及业务可以承受多少停机时间（如果有的话）。您还可以查看`Recovery Time Objective` (`RTO`) 和 `Recovery Point Objective` (`RPO`) `SLAs`，看看根据您的`disaster recovery` (`DR`) 和 `business continuity` (`BC`) 准则可以接受多少停机时间

+ 网络带宽：确定源数据库和目标数据库之间的可用网络带宽。除了可用带宽外，网络可靠性也很重要。根据数据传输方法，网络中断可能需要重新启动数据传输作业

+ 数据库版本、版本和选项：确定源数据库和目标数据库的版本、版本和选项。根据迁移方法，目标和源数据库的版本和版本必须兼容

+ 数据库补丁：确定源数据库和目标数据库的补丁水平。确保源数据库和目标数据库处于相同或兼容的补丁集和发布升级水平。在源数据库上应用任何必需的补丁，以在迁移期间或之后将任何差异减少到最小
此外，必要时，在目标上应用任何`one-off`补丁。

+ 跨平台迁移：确定源平台和目标平台的字节顺序。`TiDB Cloud` 等同于 `little-endian`。如果您的源数据库是 `big-endian`，则可以选择逻辑迁移方法，该方法通常较慢

+ 数据库字符集: 确定源数据库和目标数据库的字符集
数据库。对于大多数迁移方法而言，目标数据库的字符集必须是源数据库字符集的超集。有些方法可能需要完全相同的字符集以避免数据丢失。

+ 数据加密：确定源数据库是否使用数据加密
(DE). 所有`TiDB Cloud`都必须使用DE。

+ `DB` 时区：确定源数据库使用的数据库时区。可能是
在目标数据库中调整数据库时区是必要的。

+ `DB` 用户、权限和对象：从源数据库确定可能还需要在目标数据库中创建的数据库用户、权限和对象