# Migration: Analysis and Planning


![`smart`](AnalysisPlanning_en_001_20230310.png)

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

+ Database Size: Determine the data volume. Typically, the size of the database is based on two factors: whether the physical or logical migration method is considered, and whether all or part of the data will be migrated to the target database.

+ Sizing: Determine the source database sizing and consider future growth to size the target
database. In addition to `CPU` and Memory, ensure the sizing meets your `IOPS` and Network
Bandwidth requirements.

+ Downtime: Determine from your business what the downtime `service level agreements` (`SLAs`) are and how much downtime, if any, the business can accommodate. You can also review `Recovery Time Objective` (`RTO`) and `Recovery Point Objective` (`RPO`) `SLAs` to see how much downtime is acceptable according to your `disaster recovery` (`DR`) and `business continuity` (`BC`) guidelines.

+ Network Bandwidth: Determine the available network bandwidth between the source and target databases. In addition to available bandwidth, network reliability is also important. Based on the data transfer method, network interruption might require you to restart the data transfer job.

+ Database Version, Edition, and Options: Determine the database version, edition, and options for the source and target databases. Based on the migration method, the target and source database version and edition must be compatible.

+ Databases Patches: Determine the patch level for the source and target databases. Ensure that the source and target are at the same or compatible Patch Set and Release Upgrade level. Apply any required patches at the source to minimize any discrepancies during or after the migration.
Also, as necessary, apply any `one-off` patches at the target.

+ Cross-Platform Migration: Determine the endianness of the source and target platforms. `TiDB Cloud` are `little-endian`. If your source database is `big-endian`, you can select the logical migration method, which is typically slower.

+ Database Character Set: Determine the database character set for the source and target
databases. For most migration methods, the target database character set must be a superset of the source database character set. Some methods might need the exact same character set to avoid data loss.

+ Data Encryption: Determine whether the source database uses Data Encryption
(DE). DE is mandatory for all `TiDB Cloud`.

+ `DB` Time Zone: Determine the database time zone used at the source database. It might be
necessary to adjust the database time zone at the target database.

+ `DB` Users, Privileges, and Objects: Determine the database users, privileges, and objects from the source database that might also need to be created at the target database.