创建完数据访问代理数据库后,与普通单机数据库一样,数据访问代理也需要创建数据表。对于设置为“分库分表”模式的数据访问代理数据库来说,在创建数据表时需要制定其相应的分表规则,之后应用通过连接数据访问代理可以透明访问后端的数据表,由数据访问代理根据设定的分表规则进行路由操作。
操作步骤
在数据访问代理控制台左侧菜单栏选择 数据库,进入数据库列表。
在列表中,单击需要建表的数据库名称进入该数据库基本信息页,单击右侧页面下方的 新增数据表。
进入创建数据表向导,填写或选择各项信息,并单击 下一步。
表属性:
选择 单表 则无需设置拆分的路由规则。
选择 拆分表 后需要指定对应的分表数以及路由规则。
分表总数:所指定的分表数会被均分在当前数据库的各个物理库中。
分表规则:
在拆分表(分表)模式下数据访问代理提供上层应用透明的数据表访问模式,所以这里需要设置分表路由规则,数据访问代理会对应用的 SQL 进行自动路由。
Hash 取模:数据访问代理会以指定的路由字段与数据库数量进行取模散列。
字符串截取:数据访问代理会以指定的路由字段中指定范围的字符串来进行散列。
自身位:指定路由字段数值来进行直接路由。
自定义:如果上述路由操作无法满足需求,用户也可以直接定义数据路由表达式,数据访问代理会根据指定的路由字段以及自定义表达式来进行路由。自定义分表规则支持 Groovy 表达式,更多详情参见 自定义分表规则。
现在创建物理表:选中时点击 下一步 会根据设置的分表数进行物理表的创建。在没有选中的情况下点击 下一步 会完成数据表(逻辑表)的创建,但是此时还没有物理表,需要手动进行关联。
高级设置:可以进行分库规则的自定义设置,规则同“分表规则”。
执行 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 )
说明执行详细信息可以在控制台左侧的 运维 > 任务管理 中的任务列表进行查询。
查看并应用创建后的数据表。
在左侧菜单栏选择 数据库,进入数据库列表。
找到新创建数据表所在的数据库,单击数据库名进入详情页面。
在下方的 数据表信息 标签页中可以看到新创建的数据表。这时新创建的数据表尚未生效,客户端无法进行查询或者其他操作,需要单击右上方的 配置生效 来生效当前的数据表变更。
数据表的状态有 正常、创建中、创建失败、删除中、删除失败 四种。
说明单击 配置生效 只会将状态为 正常 的数据表配置生效。
单击 确定 后,新创建的数据表(包括所有该数据库下的变更)均会生效。