为解决分库分表的场景下,查询、维护数据难的问题,DMS推出逻辑库、逻辑表的解决方案。您可以将多个(或单个)物理库配置成一个逻辑库、逻辑表,轻松查询与管理复杂、庞大的分库与分表。

背景信息

分库分表场景下,业务数据按照路由算法分散到多个物理库的若干张表中,通常存在以下问题:
  • 对数据进行查询、分析比较困难,通常需要遍历查询所有的表才能找到想要的数据。
  • 在分库分表中,增加、减少一个字段的工作量很大。

DMS提供的逻辑库功能可以将表结构相同且表名前缀相同的物理表生成逻辑表,您可以像管理单张表一样管理此张逻辑表。

前提条件

  • 支持的数据库类型:
    • 关系型数据库:
      • MySQL:RDS MySQLPolarDB MySQL引擎MyBase MySQLAnalyticDB MySQL 3.0、其他来源MySQL
      • SQL Server:RDS SQL ServerMyBase SQL Server、其他来源SQL Server
      • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL引擎MyBase PostgreSQLAnalyticDB PostgreSQL版、其他来源PostgreSQL
      • OceanBase:OceanBase MySQL模式OceanBase Oracle模式、自建OceanBase
      • PolarDB O引擎
      • Oracle
      • DB2
    • 数据仓库:DLAClickHouseMaxComputeHologres
  • 实例的管控模式为安全协同。更多信息,请参见查看管控模式
  • 您的用户角色为数据库Owner。查看数据库Owner,请参见查看资源角色

配置逻辑库

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据资产 > 全局搜索
  3. 在搜索栏中,输入物理库名称,单击搜图标。
  4. 在目标物理库右侧的操作列中,选择更多 > 配置逻辑库
    3配置逻辑库
    说明 该物理库将作为逻辑库的第一个分库。
  5. 可选:新增逻辑库配置对话框中,添加物理分库。
    说明 此步骤为可选,您也可以将单个物理库配置为逻辑库。
    添加至同一逻辑库的物理分库需要具备如下条件:
    • 数据库类型相同,例如同为MySQL。
    • 环境类型相同,例如同为开发(dev)环境。更多信息,请参见实例环境说明
    • 一个物理库只能配置在一个逻辑库中,若当前物理库已配置在其他逻辑库中,请在原逻辑库中删除该物理库后进行重试。
    添加物理分库的步骤:
    • 搜索并选中目标物理库。
    • 单击5图标,将选中的目标物理库添加到右侧的数据库列表中。
      说明 右侧数据库列表中,物理库的展示顺序即为逻辑库分库的顺序。物理库的顺序需要与实际分库保持一致,以免影响后续分表查询操作。
  6. 设置逻辑库名称。逻辑库名称的组成形式为:逻辑库名【别名】。
    逻辑库名默认为逻辑库第一个分库的名称,您还可以输入别名对逻辑库名称进行补充。
  7. 设置数据Owner。
    • 如果您的系统角色为管理员或DBA,您可以单击批量编辑数据Owner,添加某个或多个用户为所有物理分库的数据库Owner(即逻辑库的数据Owner)。
    • 如果系统提示逻辑库下各个库的数据owner不统一,无法推荐。表示当前各个物理分库的数据库Owner不统一,您需要设置统一的数据库Owner。
      说明 申请数据库Owner,请参见管理权限
  8. 单击保存配置

后续步骤

配置逻辑库后,需要生成逻辑表,才能查询逻辑库中逻辑表的数据。更多信息,请参见逻辑表