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

背景信息

在分库分表的场景下,业务数据按照路由算法分散到若干个物理库的N张表中,此时对数据进行查询分析是比较困难的,通常要遍历查询所有的表才能找到想要的数据。不仅如此,在分库分表面前,增加一个字段的工作量也会变得格外大。

为解决该问题,DMS推出逻辑库、逻辑表的解决方案。您可以通过配置,将多个(或单个)物理库配置成一个逻辑库,系统将解析逻辑库中所有的表,自动将表结构(字段)相同且表名前缀相同的物理表生成逻辑表。配置完成后,您可以像管理单张表一样管理此张逻辑表。

前提条件

  • 您的角色为数据库Owner,更多信息,请参见管理权限
  • 数据库类型为MySQL系列、SQL Server系列、Oracle系列等,更多信息,请参见支持的数据库类型与功能中支持逻辑库表查询的数据库类型。
  • 数据库实例的管控模式为安全协同,更多信息,请参见管控模式

配置逻辑库

  1. 登录新版DMS控制台
  2. 在页面顶部的搜索栏,输入物理库名称,单击搜索按钮
  3. 在目标物理库右侧,选择更多 > 配置逻辑库
  4. 配置逻辑库。
    配置逻辑库
    1. 可选:搜索其他物理库(支持模糊搜索),勾选目标物理库,将其移动至右侧。
      添加至同一逻辑库的物理库需具备如下条件:
      • 数据库类型相同,例如同为MySQL。
      • 环境类型相同,例如同为开发(dev)环境,更多信息,请参见实例环境说明
      • 一个物理库只能配置在一个逻辑库中,若当前物理库已配置在其他逻辑库中,请在原逻辑库中删除该物理库后进行重试。

      在全局搜索中选中的物理库将默认添加到右侧列表第一位,添加其他物理库时,请将添加物理库的顺序与实际分库保持一致,以免影响后续分表查询操作。

      说明 此步骤为可选,您也可以将单个物理库配置为逻辑库。
    2. 别名文本框中,输入逻辑库的别名。
      逻辑库名将默认为右侧第一个物理库的名称(或部分名称),您可以增加别名进行补充。
    3. 可选:若系统提示逻辑库下各个库的数据owner不统一,无法推荐。表示当前的各个物理库的数据库Owner不统一,导致无法推荐逻辑库的数据Owner。若您的系统角色为管理员或DBA,您可以单击批量编辑数据owner,批量设置上述物理库的数据Owner,使某用户为所有物理库的数据Owner即可。
      若您的系统角色为管理员或DBA,请申请目标数据库的数据Owner权限,更多信息,请参见管理权限
  5. 单击保存配置
    待系统显示保存配置成功后,您可以在页面顶部的搜索栏,搜索逻辑库名。搜索逻辑库

    可单击逻辑库,查看该逻辑库的物理库组成信息。

编辑逻辑库

  1. 登录新版DMS控制台
  2. 在页面顶部的搜索栏,输入逻辑库名称,单击搜索按钮
    说明 您可在搜索区域选择对象逻辑库,增加过滤条件。
  3. 找到目标逻辑库,选择右侧的更多 > 编辑逻辑库配置
  4. 在弹窗中配置逻辑库。
    说明 更多说明,请参见配置逻辑库的步骤4
  5. 单击保存配置

删除逻辑库

  1. 登录新版DMS控制台
  2. 在页面顶部的搜索栏,输入逻辑库名称,单击搜索按钮
    说明 您可在搜索区域选择对象逻辑库,增加过滤条件。
  3. 找到目标逻辑库,选择右侧的更多 > 删除逻辑库配置
  4. 单击。确认

后续步骤

手动更新逻辑表