配置
逻辑库
功能说明: 逻辑库是客户端程序连接计算节点服务器后,可以访问的数据库,描述数据库表的集合,类似于直接连接存储节点实例后,看到的一个数据库。
功能入口: 在关系集群数据库可视化管理平台页面中选择配置->逻辑库。
在逻辑库页面,输入逻辑库名称,点击“搜索”,即可搜索到相应的信息。
添加逻辑库
功能入口: “配置->逻辑库->添加逻辑库”
-
逻辑库名称唯一且不为空
-
默认分片节点: 用户可选择是否配置,不配置则在该逻辑库下创建(create table)表时需要先在 管理平台的“表信息”页面添加表定义信息。若选择配置则可绕过管理平台直接在该逻辑库下执行建表语句(当配置1个默认节点时,执行建表语句默认在该逻辑库下创建垂直分片表,若配置多个时,默认创建分片类型为AUTO_CRC32的水平分片表)。
-
字符集: 默认utf8mb4,可选latin1、gbk、utf8、utf8mb3、gb18030、binary、big5、ascii、gb2312,若选择了分片节点,则会依据所选分片节点的版本给出对应支持的字符集;
-
校对集: 默认utf8mb4_general_ci。若选择了分片节点,则会依据所选分片节点的版本给出对应支持的校对集,5.7版本默认utf8mb4_general_ci,8.0版本默认utf8mb4_0900_ai_ci,既有5.7又有8.0版本默认utf8mb4_general_ci校对集跟随字符集联动变化,即:当字符集选择latin1时,校对集依次可选latin1_swedish_ci、latin1_bin;当字符集选择gbk时,校对集依次可选gbk_chinese_ci、gbk_bin;当字符集选择utf8时,校对集依次可选utf8_general_ci、utf8_bin;当字符集选择utf8mb4时,校对集依次可选utf8mb4_general_ci、utf8mb4_bin;当字符集选择binary时,校对集依次可选binary;当字符集选择gb18030时,校对集依次可选gb18030_chinese_ci、gb18030_bin。
Note:
计算节点参数defaultCollationForUtf8mb4,用于控制8.0版本下字符集utf8mb4的默认校对集。在建库时需要注意默认参数及逻辑库创建指定的默认校对集。参数说明请参考《关系集群数据库-【服务端操作手册】功能使用手册》。
-
指定了字符集/校对集的逻辑库,其下面的表创建时,若不单独指定表的字符集/校对集,则默认均按逻辑库的字符集/校对集进行创建;
-
点击“√”,即可添加逻辑库配置(此时逻辑库为空库)。
-
当前已有逻辑库数超过授权逻辑库数时,不允许继续添加新逻辑库。
编辑逻辑库
在管理平台中选择配置->逻辑库->编辑逻辑库,更改逻辑库名称会提示:“修改名称可能导致该逻辑库相关的用户权限变更”,所以应该谨慎修改逻辑库名称。
-
逻辑库字符集/校对集保存后可以修改,动态加载后生效;
-
对逻辑库字符集/校对集修改后,新创建的表若未指定表的字符集/校对集,则默认均按新修改后的逻辑库级别字符集/校对集进行创建;
-
点击“√”,逻辑库即编辑完成,但要生效到计算节点必须点击“动态加载”按钮才算编辑成功。
删除逻辑库
说明
删除逻辑库会将逻辑库下所有未创建表结构的表信息一起删除,但如果有任何一张表结构为“已创建”的表,则会弹窗提示无法删除逻辑库。
表信息
功能说明: 管理平台为HHDB Server集群提供业务表的可视化配置功能。一般在连接计算节点3323服务端口进行业务表的创建前需要在管理平台表信息功能中先定义对应的表,再动态加载成功后,才能正常创建表结构并使用。
功能入口: 在关系集群数据库可视化管理平台页面中选择配置->表信息
表类型: 全局表、子表、水平分片表、垂直分片表
添加表信息
目前支持添加:水平分片表、垂直分片表、全局表、子表。以下将以自动分片和高级分片两种分片方式演示添加水平分片表。
自动分片方式添加水平分片表:
自动分片可引用AUTO_CRC32,AUTO_MOD分片类型进行水平分片表添加,页面默认使用AUTO_CRC32分片类型,两者用法区别可参考页面给予的“方式说明”。更详细介绍可参照“分片规则”章节。
第一步: 选择创建的水平分片表所属的逻辑库
第二步: 填写水平分片表使用的分片字段
第三步: “开启全局唯一约束”勾选框初始状态根据“计算节点参数配置”中“是否默认为添加的表开启全局唯一约束”参数是否打开而决定是否勾选。关于全局唯一约束具体说明请参照服务端操作手册文档的章节说明
第四步: 选择分片方式,默认为自动分片方式
第五步: 选择分片类型为“AUTO_CRC32”
第六步: 选择添加的水平分片表拆分路由的数据节点(“该逻辑库下所有数据节点”默认勾选,且匹配该逻辑库“默认分片节点”栏数据,当默认分片节点栏未配置时,匹配“数据节点”栏数据,当数据节点栏也为空时,则该逻辑库被选中时提示“当前逻辑库下没有关联数据节点”)
第七步: 填写表名称,支持批量添加表名称,可选择换行、英文逗号、英文空格任一方式对表进行分隔。若批量添加的表使用的分片字段一致则只添加表名即可,若不一致可在输入框内使用“表名:分片字段”的方式指定,例如:test:id,test1:name
第八步: 点击“生成预览”按钮查看预添加的表信息。未预览的表不允许直接“保存”
第九步: 点击“保存”按钮将表信息新增到配置库中。若需要立即生效到计算节点中还需要执行动态加载
高级分片方式添加水平分片表:
操作步骤简述:
选择逻辑库、填写默认分片字段、分片方式选择“高级分片”、选择分片规则(如果没有分片规则则参考新增分片规则)、填写表名称、点击“生成预览”、点击“保存”、动态加载。
可以一次性同时新增多张相同规则的表。
新增子表
子表: 子表为关联表,是一组特殊的分片表集合,包括一张父表与至少一张子表,子表数据所属的数据节点由父表数据所属的数据节点决定。
子表的用途: 在计算节点不支持跨库JOIN操作的早期,计算节点设计了父子表的模式以支持相关使用场景。子表记录的存储位置依据于父表记录的存储位置,在JOIN条件为关联字段的情况下能有效解决跨数据节点JOIN操作的效率和性能问题。
子表的建议: 目前由于计算节点已支持跨库JOIN操作,父子表的模式后期将不再进行更新,所以不推荐使用子表。
添加子表方式: 管理平台中可以直接新增子表,也可以在表信息页面父表记录下新增子表
直接新增子表:
- 在关系集群数据库可视化管理平台页面中选择配置->表信息->“添加表”。在添加表信息页面,选择子表
- 然后输入子表的名称、子表关联字段,点击“保存”,即添加了子表的配置信息。
表信息页面父表记录下添加子表:
-
在表信息页面,选择表类型是“水平分片表”且表结构为“未创建”的记录。
-
点击“+”号,然后输入子表名称、子表关联字段、父表关联字段
-
点击“√”,即添加了子表的配置信息。
注意
假如该父表下需要添加多张子表,则填写的父表关联字段必须一致。表结构已创建的父表不允许添加子表。
编辑表信息
功能入口: 在关系集群数据库可视化管理平台页面中选择配置->表信息点击“编辑”按钮或点击表名称进入“编辑表信息”页面
表分为已创建和未创建两种状态,当表结构类型是未创建时可以编辑表名称、逻辑库、分片字段、分片方式、数据节点等信息
点击“保存”,则编辑表信息配置成功。当表结构类型是已创建时,则不允许再修改表定义,但支持通过“修改表结构”或“修改表配置”来变更表。
表记录导入
可通过表信息页面“批量操作”->“批量导入”或“添加表信息”->批量导入表信息”页面进行表批量导入操作
注意
- 删除了第一行说明数据的文件,如果格式和配置数据正确,也可以导入成功
- 当前仅识别导入格式为.xls或.xlsx的文件,其它格式的文件导入时均置灰无法被选中
- 导入成功的表信息,其“表结构”列均为未创建
- 批量导入时,需要一批信息均填写无误才会导入成功,否则全部导入失败
表记录导出
-
点击表信息页面“导出”按钮,即可对勾选的记录进行导出。若未勾选则默认导出所有表信息记录。
-
若勾选“已创建的表导出表结构”,则导出的内容中自动加入“表结构详情”一列,展示已创建表的“建表语句”。
-
导出记录中的“表结构详情”从计算节点管理端口(3325)中的show @@ddl命令中获取,水平分片表与全局表取所属数据节点中DNID最小的结果。若当前主3325端口无法连接则“表结构”、“表结构详情”两列内容为空。
删除表
功能入口: 在关系集群数据库可视化管理平台页面中选择配置->表信息->“删除”
功能说明: 点击“删除”按钮,弹出框提示:“确认要删除吗?”,点击“确定”,则未创建的表的表信息配置删除成功。
注意
- 表结构未创建的表可以直接删除表信息配置
- 删除已创建的表会弹出提示:“xxx表在server端还存在,删除表失败。请在server端drop后再删除”。
历史兼容说明
计算节点弃用了HASH(包括HASH23)与AUTO分片规则。后续新增表时不再支持使用已废弃的分片规则,但历史已使用HASH(包括HASH23)与AUTO的表仍可继续使用。但需要注意:“SQL中若使用字符串类型的分片字段操作,需注意大小写敏感问题(即保证SQL中分片字段大小写与数据存入时一致)”。同时管理平台若检测到系统中存在引用HASH(包括HASH23)与AUTO的表,表信息、表添加、表编辑页面会有相应提示信息。具体如下图所示:
数据迁移说明: 若系统存在引用历史分片规则HASH(包括HASH23)与AUTO的表,建议将表数据迁移到新的分片规则表中。表数据迁移可通过分片方案在线变更功能进行操作。