【磐维数据库】使用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配置
2.schema.xml配置
3.上传postgresql.jar
赋权:
4.重启mycat
# bin/mycat restart

5.Navicat通过8066连接mycat,使用MySQL连接通道,测试成功

6.连接管理端口查看数据源
7.通过Navicat进行创建表,查看底层磐维数据库

2、磐维驱动包中的postgresql.jar进行分库分表,普通水平拆分
1.通过mycat进行插入数据如下

2.磐维数据库查询数据如下,普通水平拆分
3、用磐维驱动包中的panweidb-jdbc-2.0.0.jar进行分库分表,普通水平拆分
1.删除postgresql.jar上传panweidb-jdbc-2.0.0.jar驱动,并更改名字
修改配置文件,将jdbc连接修改为:
jdbc:panweidb://xx.xx.xx.xx:15500/testddb
3.通过Navicat创建表

4.mycat日志信息
5.写入数据

6.mycat日志信息
4、普通水平拆分,对Mycat的schema.xml文件进行dbType修改,修改为panweidb,进行分库分表
1.schema.xml文件进行变更如下

2.truncate表orders
已成功truncate
3.mycat日志
4.写入数据
5.Mycat日志查看、磐维1、磐维2数据库数据查看
5、是否支持磐维垂直拆分
1.schema.xml文件进行变更如下
2.重启Mycat
3.磐维数据库查询表
4.Navicat创建表
5.查询底层磐维数据库表清单

6.插入数据
7.查询是否成功垂直拆分
8.mycat日志
6、是否支持磐维分库分表(水平-ER表)
1.schema.xml文件进行变更如下
2.重启Mycat
3.磐维数据库查询表
4.Navicat创建表
5.查询底层磐维数据库表清单
6.插入数据
7.查询是否成功分库分表(水平-ER表)
8.mycat日志
总结:水平-ER表,待确定待研究
7、全局表,是否支持磐维全局表
1.schema.xml文件进行变更如下
2.重启Mycat
3.磐维数据库查询表
4.Navicat创建表
5.查询底层磐维数据库表清单,成功创建全局表
6.插入数据
7.查询数据是否一致,一致
8、mysql命令连接Mycat,使用mysql语法操作底层磐维数据库
通过bin/mysql命令连接Mycat,使用mysql语法操作底层磐维数据库:
1.连接Mycat服务
2.查看database
3.查询表
4.select
5.insert
6.update
7.delete
浙公网安备 33010602011771号