代码改变世界

【磐维数据库】使用mycat进行分库分表测试方案

2025-03-31 22:23  狂澜与玉昆0950  阅读(142)  评论(0)    收藏  举报

中国移动磐维数据是基于openGauss定制开发的中国移动自用版OLTP数据库。自去2023年年12月发布以来,受到广泛关注,目前已成功上线百余套。 在产品落地的过程中,我们积累了大量的迁移、适配,以及问题分析诊断的经验。 北京海量数据技术股份有限公司,作为移动磐维集中式数据库外协厂商,对集中式磐维数据库的运维、管理、开发等均有深入了解。在江西移动现场运维整理汇总经验。

背景

由于部分客户存在Mycat + MySQL数据库架构,MySQL数据库替换国产磐维数据库,基于考虑是否可以减少业务的适配改造工作量,因此测试Mycat是否可支持磐维数据库的分库分表测试。

硬件环境

CPU:8
内存:16GB
操作系统:CentOS Linux release 7.9.2009 (Core)
mycat:Mycat-server-1.6

测试总结

编号测试项目测试结果
1 使用磐维postgresql.jar,创建表,2个磐维实例是否同步创建 通过
2 使用磐维postgresql.jar进行分库分表,普通水平拆分 通过
3 使用磐维panweidb-jdbc-2.0.0.jar进行分库分表,普通水平拆分 通过
4 对Mycat的schema.xml文件进行dbType修改,修改为panweidb,进行分库分表,普通水平拆分 通过
5 是否支持磐维垂直拆分 通过
6 是否支持磐维分库分表(水平-ER表) 待研究
7 是否支持磐维全局表 通过
8 通过bin/mysql命令连接Mycat,使用mysql语法查询底层磐维数据库 通过

测试用例

1、Navicat连接Mycat,创建表,2个磐维实例是否同步创建

1.server.xml配置
image.png
2.schema.xml配置
image.png
3.上传postgresql.jar
image.png
赋权:
image.png
4.重启mycat

  # bin/mycat restart

image.png
5.Navicat通过8066连接mycat,使用MySQL连接通道,测试成功
image.png
image.png
6.连接管理端口查看数据源
image.png
7.通过Navicat进行创建表,查看底层磐维数据库
image.png
image.png

2、磐维驱动包中的postgresql.jar进行分库分表,普通水平拆分

1.通过mycat进行插入数据如下
image.png
image.png
2.磐维数据库查询数据如下,普通水平拆分
image.png

3、用磐维驱动包中的panweidb-jdbc-2.0.0.jar进行分库分表,普通水平拆分

1.删除postgresql.jar上传panweidb-jdbc-2.0.0.jar驱动,并更改名字
image.png
修改配置文件,将jdbc连接修改为:
jdbc:panweidb://xx.xx.xx.xx:15500/testddb
image.png
3.通过Navicat创建表
image.png
image.png
4.mycat日志信息
image.png
5.写入数据
image.png
image.png
6.mycat日志信息
image.png

4、普通水平拆分,对Mycat的schema.xml文件进行dbType修改,修改为panweidb,进行分库分表

1.schema.xml文件进行变更如下
image.png
image.png
2.truncate表orders
image.png
已成功truncate
image.png
3.mycat日志
image.png
4.写入数据
image.png
5.Mycat日志查看、磐维1、磐维2数据库数据查看
image.png

5、是否支持磐维垂直拆分

1.schema.xml文件进行变更如下
image.png
2.重启Mycat
image.png
3.磐维数据库查询表
image.png
4.Navicat创建表
image.png
5.查询底层磐维数据库表清单
image.png
image.png
6.插入数据
image.png
7.查询是否成功垂直拆分
image.png
8.mycat日志
image.png

6、是否支持磐维分库分表(水平-ER表)

1.schema.xml文件进行变更如下
image.png
2.重启Mycat
image.png
3.磐维数据库查询表
image.png
4.Navicat创建表
image.png
5.查询底层磐维数据库表清单
image.png
6.插入数据
image.png
7.查询是否成功分库分表(水平-ER表)
image.png
8.mycat日志
image.png
总结:水平-ER表,待确定待研究

7、全局表,是否支持磐维全局表

1.schema.xml文件进行变更如下
image.png
2.重启Mycat
image.png
3.磐维数据库查询表
image.png
4.Navicat创建表
image.png
5.查询底层磐维数据库表清单,成功创建全局表
image.png
6.插入数据
image.png
7.查询数据是否一致,一致
image.png

8、mysql命令连接Mycat,使用mysql语法操作底层磐维数据库

通过bin/mysql命令连接Mycat,使用mysql语法操作底层磐维数据库:
1.连接Mycat服务
image.png
2.查看database
image.png
3.查询表
image.png
4.select
image.png
5.insert
image.png
6.update
image.png
7.delete
image.png