
# 对象名修改（对象名映射）
实时同步功能可以支持源数据库和目标数据库中的同步对象（包括数据库、schema、表）的名称不同。对象名映射功能主要在如下场景使用：
- [对象名修改]：如果同步的数据库对象在目标数据库中的命名和源数据库中不同，那么可以使用DRS提供的对象名映射功能进行修改。
- [多对一同步]：如果需要进行库、schema、表的多对一同步，那么可以使用DRS提供的对象名映射功能实现。
本小节主要介绍如何在实时同步任务配置过程中，使用对象名映射功能，该功能的映射关系详情可参见[查看同步映射](https://support.huaweicloud.com/realtimesyn-drs/drs_10_0100.html)章节。
#### 使用须知
- 不支持库名、表名带有换行符的对象进行映射。
- 首次创建实时同步任务时，在选择同步对象阶段可设置映射，后续不可编辑映射。
- 通过编辑同步对象功能来增加或者减少同步对象时，首次编辑的对象可以设置映射关系，已经在同步关系中的对象不可设置映射。
- 若目标库是PG类（如GaussDB和PostgreSQL），目的库的schema名称不能设置为以pg_开头，否则会迁移失败。
- 对于GaussDB为源库支持DDL同步链路，如果对象名进行映射，可能存在某些ddl关联的对象名无法识别，默认会按照源库的对象名进行处理。
- 以下链路，支持基础映射：
  - AWS DocumentDB -\> DDS
  
  - Cassandra -\> GeminiDB Cassandra
  
  - MySQL -\> MariaDB
  
  - MySQL -\> GaussDB集中式版
  
  - MySQL -\> GaussDB分布式版
  
  - MySQL -\> TaurusDB
  
  - MySQL -\> Kafka
  
  - MySQL -\> PostgreSQL
  
  - MySQL -\> Oracle
  
  - MariaDB -\> MariaDB
  
  - MariaDB -\> MySQL
  
  - MariaDB -\> TaurusDB
  
  - DDM -\> DDM
  
  - DDM -\> Oracle
  
  - DDM -\> MySQL
  
  - DDM-\>GaussDB集中式版
  
  - DDM-\>GaussDB分布式版
  
  - DB2 for LUW -\> GaussDB集中式版
  
  - DB2 for LUW -\> GaussDB分布式版
  
  - DDS -\> MongoDB
  
  - Microsoft SQL Server -\> GaussDB集中式版
  
  - Microsoft SQL Server -\> GaussDB分布式版
  
  - Microsoft SQL Server -\> Microsoft SQL Server
  
  - Microsoft SQL Server -\> MySQL
  
  - Microsoft SQL Server -\> PostgreSQL
  
  - Microsoft SQL Server -\> TaurusDB
  
  - MongoDB -\> DDS
  
  - GaussDB集中式版 -\> MySQL
  
  - GaussDB集中式版 -\> Oracle
  
  - GaussDB集中式版 -\> GaussDB集中式版
  
  - GaussDB集中式版 -\> GaussDB分布式版
  
  - GaussDB分布式版 -\> MySQL
  
  - GaussDB分布式版 -\> Oracle
  
  - GaussDB分布式版-\>GaussDB分布式版
  
  - GaussDB分布式版-\>GaussDB集中式版
  
  - TaurusDB -\> MySQL
  
  - TaurusDB -\> TaurusDB
  
  - Oracle -\> MySQL
  
  - Oracle -\> TaurusDB
  
  - Oracle -\> GaussDB集中式版
  
  - Oracle -\> GaussDB分布式版
  
  - Oracle -\> PostgreSQL
  
  - Oracle -\> DDM
  
  - PostgreSQL -\> PostgreSQL
  
  - PostgreSQL -\> GaussDB集中式版
  
  - PostgreSQL -\> GaussDB分布式版
  
  - TiDB -\> TaurusDB
   
- 以下链路，仅支持表级映射：
  - DynamoDB -\> GeminiDB兼容DynamoDB接口
   
- 以下链路，支持schema级映射，表级映射和Topic映射：
  - GaussDB集中式版 -\> Kafka
  
  
  
  - GaussDB分布式版 -\> Kafka
   
- 以下链路，不支持包含smallserial, serial, bigserial 这3个类型的表进行schema映射。
  - GaussDB集中式版-\>GaussDB分布式版
  
  - GaussDB集中式版-\>GaussDB集中式版
  
  - GaussDB分布式版-\>GaussDB分布式版
  
  - GaussDB分布式版-\>GaussDB集中式版
   
- 以下链路，支持多对一的对象映射。
  - MySQL-\>MySQL
  
  - MySQL-\>TaurusDB
  
  - MySQL-\>Kafka
  
  - MySQL -\> Oracle
  
  - TaurusDB-\>MySQL
  
  - TaurusDB-\>TaurusDB
  
  - Oracle-\>GaussDB
  
  - MySQL-\>Oracle
  
  - GaussDB集中式版-\>GaussDB分布式版
  
  - GaussDB集中式版-\>GaussDB集中式版
  
  - GaussDB分布式版-\>GaussDB分布式版
  
  - GaussDB分布式版-\>GaussDB集中式版
   
 
 #### 对象名修改
实时同步过程中，如果待同步的库、schema、表对象在源数据库和目标数据库中存储名称不同，可以使用实时同步提供的映射功能进行映射。例如：将源数据库中的A库同步到目标数据库，变成目标数据库中的B库，此时就可以使用库映射功能来实现。
1. 在"设定同步"页面，同步对象右侧已选对象框中，选择需要进行映射的数据库，单击"编辑"按钮。 
   图1库映射   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001953261729.png "点击放大")
   
   
2. 修改名称。 
   在弹出的编辑框中，填写新的数据对象名称，修改后的名称即为保存在目标数据库中的名称。
   图2修改库名   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001953101957.png "点击放大")
   图3修改schema名   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001925823000.png "点击放大")
   图4修改表名   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001925982348.png "点击放大")
   
   
3. 查看修改结果。 
   修改成功后，您会看到修改前和修改后的名称，至此，表示完成对象名映射的配置。
   图5查看修改结果   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001953084181.png "点击放大")
   
   
 
 #### 多对一同步
实时同步过程中，可以使用对象名映射功能修改库、schema、表名称，实现多对一的同步。
以库级多对一为例，schema、表级多对一场景可参考如下步骤：
1. 在"设定同步"页面，同步对象右侧已选对象框中，选择需要进行多对一同步的数据库，分别单击"编辑"按钮。
2. 在"编辑库名"的弹出框中，统一填写新的数据库名，修改后的名称即为保存在目标数据库中的库名。 
   例如，将源库中的库test_16和库auto_nprocess_001，修改为同样的库test_16_new。
   图6修改结果   
   ![](https://support.huaweicloud.com/realtimesyn-drs/figure/zh-cn_image_0000001953261745.png "点击放大")
   
   
3. 库名修改成功后，您会看到修改前的库名和修改后的新数据库名，至此，表示已完成多对一库映射的配置。
4. 配置完成后，等待任务启动并完成同步后，即可实现库test_16、库auto_nprocess_001到库test_16_new的同步。
