创建数据访问代理数据表

创建完数据访问代理数据库后,与普通单机数据库一样,数据访问代理也需要创建数据表。对于设置为“分库分表”模式的数据访问代理数据库来说,在创建数据表时需要制定其相应的分表规则,之后应用通过连接数据访问代理可以透明访问后端的数据表,由数据访问代理根据设定的分表规则进行路由操作。

操作步骤

  1. 在数据访问代理控制台左侧菜单栏选择 数据库,进入数据库列表。

  2. 在列表中,单击需要建表的数据库名称进入该数据库基本信息页,单击右侧页面下方的 新增数据表

  3. 进入创建数据表向导,填写或选择各项信息,并单击 下一步

    • 表属性:

      • 选择 单表 则无需设置拆分的路由规则。

      • 选择 拆分表 后需要指定对应的分表数以及路由规则。

    • 分表总数:所指定的分表数会被均分在当前数据库的各个物理库中。

    • 分表规则:

      • 在拆分表(分表)模式下数据访问代理提供上层应用透明的数据表访问模式,所以这里需要设置分表路由规则,数据访问代理会对应用的 SQL 进行自动路由。

      • Hash 取模:数据访问代理会以指定的路由字段与数据库数量进行取模散列。

      • 字符串截取:数据访问代理会以指定的路由字段中指定范围的字符串来进行散列。

      • 自身位:指定路由字段数值来进行直接路由。

      • 自定义:如果上述路由操作无法满足需求,用户也可以直接定义数据路由表达式,数据访问代理会根据指定的路由字段以及自定义表达式来进行路由。自定义分表规则支持 Groovy 表达式,更多详情参见 自定义分表规则

    • 现在创建物理表:选中时点击 下一步 会根据设置的分表数进行物理表的创建。在没有选中的情况下点击 下一步 会完成数据表(逻辑表)的创建,但是此时还没有物理表,需要手动进行关联。

    • 高级设置:可以进行分库规则的自定义设置,规则同“分表规则”。

  4. 执行 DDL 语句创建数据表(如果上一步选择了 现在创建物理表)。这里可以通过直接输入 DDL 语句来进行表 DDL 操作,单击 执行 触发,比如输入:

     CREATE TABLE IF NOT EXISTS `test_table_normal`( stuID INTEGER NOT NULL AUTO_INCREMENT, stuname char(30)notnull, gender int NOT NULL )
    新建表 DDL
    说明

    执行详细信息可以在控制台左侧的 运维 > 任务管理 中的任务列表进行查询。

  5. 查看并应用创建后的数据表。

    1. 在左侧菜单栏选择 数据库,进入数据库列表。

    2. 找到新创建数据表所在的数据库,单击数据库名进入详情页面。

    3. 在下方的 数据表信息 标签页中可以看到新创建的数据表。这时新创建的数据表尚未生效,客户端无法进行查询或者其他操作,需要单击右上方的 配置生效 来生效当前的数据表变更。

      数据表的状态有 正常创建中创建失败删除中删除失败 四种。

      说明

      单击 配置生效 只会将状态为 正常 的数据表配置生效。

    4. 单击 确定 后,新创建的数据表(包括所有该数据库下的变更)均会生效。