目前,离线整库方案提供了“与来源库表同名”和“自定义”两种库表匹配策略。
在对应数据源下,选择源端需要同步的数据库表后,默认将源端数据库表,写入到目标端同名的数据库和同名数据表中。此策略下,在方案运行时,默认将在目标数据源内与来源数据库表中的同名对象进行匹配,若目标端不存在该数据表,则方案将会自动生成同名数据表。
说明
目前暂不支持自动创建同名数据库,您需先在目标端LAS中创建好同名的数据库。
示例如下:
将源端数据库DB1下的TableA和TableB同步至LAS ,配置“**与来源库表同名”**策略后,任务运行时将默认在目标数据源内分别匹配“DB1.TableA”和“DB1.TableB”。
若目标端DB1下不存在Table1,则自动生成TableA;已存在TableB,则直接使用目标端的TableB。
同时我们提供了三种对库表映射规则进行转换的配置方式。
您在源端选中需要同步的数据库表后,将通过设置库表映射规则,例如在源端数据库名或表名中加上统一固定的前缀或后缀,在方案执行时,实现写入到转换后的目标端数据库和数据表中,提升方案配置效率。
说明
目前暂不支持自动创建同名数据库,您需先在目标端库中创建好转换后的数据库名称。
以下为您介绍三种自定义的库表映射规则:
映射规则 | 说明 |
|---|---|
源库名和目标库名转换规则 | 配置源库名到目标库名的映射关系,如不配置此项,目标库将使用与来源库同名的库。
说明 批量添加方式,最多添加 1000 个转换规则。 |
源表名和目标表名转换规则 | 配置源表名到目标表名的映射关系,如不配置此项,目标表将使用与来源表同名的表。 说明 实时整库同步解决方案,支持设置多个表名转换规则和批量添加规则。 |
目标表名规则 | 仅离线整库同步方案可配置该规则。 说明 内置变量说明:
内置变量仅可在“目标表名规则”中使用, |
下面以MySQL和PostgreSQL数据源中的库表,映射转换到目标端LAS数据库表中为例,为您示例映射转换的匹配策略。
源端MySQL数据库中存在DB1、DB2两个数据库;DB1下已有表Table1、DB2下已有表Table2。
MySQL-LAS转换示例
源端 | 源库名和目标库名转换规则 | 源表名和目标表名转换规则 | 目标表名规则 | 目标端转换结果 | |
|---|---|---|---|---|---|
示例1 | DB1.Table1 DB2.Table2 |
| Table1 > Target_Table1 | 无 |
|
示例2 | DB1.Table1 DB2.Table2 |
| 无 | 无 |
|
示例3 | DB1.Table1 DB2.Table2 | 无 | Table1 > Target_Table1 | test |
|
示例4 | DB1.Table1 DB2.Table2 | DB1 > Target_DB1 | Table1 > Target_Table1 | ${db_name_src_transed}test${table_name_src_transed} |
|
源端PostgreSQL数据库中存在DB数据库,DB下有Schema1和Shcema2,Schema1下已有表Table1,Shcema2下已有表Table2。
PostgreSQL-LAS转换示例
源端 | 源库名和目标库名转换规则 | 源表名和目标表名转换规则 | 目标表名规则 | 目标端转换结果 | |
|---|---|---|---|---|---|
示例1 |
| 无 | 无 | 无 |
|
示例2 |
| DB > Target_DB |
| 无 |
|
示例3 |
| DB > Target_DB | Table1 > Target_Table1 | ${db_name_src_transed}test${table_name_src_transed} |
|
示例4 |
| DB > Target_DB | Table1 > Target_Table1 | ${table_name_src_transed}_${schema_name_src_transed} |
|