为解决分库分表的场景下,查询、维护数据难的问题,DMS推出逻辑库、逻辑表的解决方案。您可以将多个(或单个)物理库配置成一个逻辑库、逻辑表,轻松查询与管理复杂、庞大的分库与分表。
背景信息
分库分表场景下,业务数据按照路由算法分散到多个物理库的若干张表中,通常存在以下问题:
- 对数据进行查询、分析比较困难,通常需要遍历查询所有的表才能找到想要的数据。 
- 在分库分表中,增加、减少一个字段的工作量很大。 
DMS提供的逻辑库功能可以将表结构相同且表名前缀相同的物理表生成逻辑表,您可以像管理单张表一样管理此张逻辑表。
前提条件
- 支持的数据库类型: - 关系型数据库: - MySQL:RDS MySQL、PolarDB MySQL版、MyBase MySQL、AnalyticDB MySQL 3.0、其他来源MySQL 
- SQL Server:RDS SQL Server、MyBase SQL Server、其他来源SQL Server 
- PostgreSQL:RDS PostgreSQL、PolarDB PostgreSQL版、MyBase PostgreSQL、AnalyticDB PostgreSQL版、其他来源PostgreSQL 
- OceanBase:OceanBase MySQL模式、OceanBase Oracle模式、自建OceanBase 
- PolarDB PostgreSQL版(兼容Oracle) 
- Oracle 
- DB2 
 
- 数据仓库:DLA、ClickHouse、MaxCompute、Hologres 
 
- 实例的管控模式为安全协同。更多信息,请参见查看管控模式。 
配置逻辑库
- 登录数据管理DMS 5.0。
- 单击控制台左上角的  图标,选择。说明 图标,选择。说明- 若您使用的是非极简模式的控制台,请在顶部菜单栏中,选择。 
- 在搜索栏中,输入物理库名称,单击  图标。 图标。
- 在目标物理库右侧的操作列中,选择。该物理库将作为逻辑库的第一个分库。 
- 可选:在新增逻辑库配置对话框中,添加物理分库。 - 添加的物理分库需要满足如下条件: - 数据库类型相同,例如同为MySQL。 
- 环境类型相同,例如同为开发(dev)环境。更多信息,请参见实例环境说明。 
- 一个物理库只能配置在一个逻辑库中。若当前物理库已配置在逻辑库A中,请在逻辑库A中删除该物理库后,再将其配置在逻辑库B中。 
 - 添加物理分库的操作如下: - 搜索并选中目标物理库。 
- 单击  图标,将选中的目标物理库添加到右侧的数据库列表中。说明 图标,将选中的目标物理库添加到右侧的数据库列表中。说明- 右侧数据库列表中,物理库的展示顺序即为逻辑库分库的顺序。物理库的顺序需要与实际分库保持一致,以免影响后续分表查询操作。 
 
- 设置逻辑库别名名称。 - 逻辑库名称的组成形式为:逻辑库名【别名】。 
- 设置数据Owner。 - 如果您的系统角色为管理员或DBA,您可以单击批量编辑数据Owner,添加某个或多个用户为所有物理分库的数据库Owner(即逻辑库的数据Owner)。 说明- 如果系统提示逻辑库下各个库的数据owner不统一,无法推荐。表示当前各个物理分库的数据库Owner不统一,您需要设置统一的数据库Owner。设置数据库Owner操作,请参见管理访问控制权限。 
- 单击保存配置。 
后续步骤
配置逻辑库后,需要生成逻辑表,才能查询逻辑库中逻辑表的数据。更多信息,请参见逻辑表。