随着数字化经济建设的推进,首要问题面临国产数据库的选型,如何选?需要综合考虑业务需求、技术兼容性、性能、安全可靠性、扩展灵活性、成本效益、技术支持与培训以及参考案例与口碑等多个因素。
通过综合评估,选择最适合的数据库产品,以满足业务需求并推动业务发展。在笔者查阅资料过程中,更多的只是各国产数据库的排名、技术架构,真正实际环境的分析对比相对较少,面对动辄十几万、几十万的数据库采购费用,不能简单的凭排名来决定。
因此我们选取典型的数据库厂商:达梦、Oracle、Mysql,同时设计了插入性能测试、查询性能测试多个维度及指标,尽可能挖掘每个数据库产品的特性,我们也在不断改进测试环境与方式。
国产信创达梦数据库测试场景
第一部分:暴力测试主要测试了以下几个场景:
1.正常关闭主库实例;
2.直接杀掉主库实例;
3.关闭主库守护进程;
4.关闭备库实例;
5.直接杀掉备库实例;
6.关闭备库守护进程;
7.down主库心跳网卡;
8.down备库心跳网卡(监控器在备库机器上);
9.down备库心跳网卡(监控器在第三天机器上);
.down主库公共网卡;
.down备库公共网卡;
.主库服务器长时间宕机;
.备库服务器长时间宕机。第二部分:测试达梦、Oracle、MySQL数据库性能对比
主要检查测试以下几个场景:
1:大数据新增
模拟跑批业务,大事务,单条新增几千万数据量。
2:单条多次新增
模拟小事物,单条小数据量,多次执行。
3:大数据汇总
模拟大数据查询
4:大数据汇总排序
模拟大数据查询
5:复杂SQL
模拟复杂查询国产信创达梦数据库暴力测试
在做暴力测试之前,先简单看下达梦守护集群:
和Oracle DG架构类似
- 主从同步:
主库增、删、改等操作产生的 Redo 日志通过MAL系统传输到备库,备库接收并重演 Redo 日志,从而实现备库与主库的数据同步。
- 切换:
提供自动切换和手动切换两种守护模式,满足用户不同需求。
其中,自动切换模式需要提前配置并启用监控器,
该模式下,主库出现故障时,会自动将备库切换为主库对外继续提供数据库服务。
主备推荐架构:
两台DB服务器+1台或2台Monitor服务器
其中,monitor占用很少的资源
占用磁盘空间2.1GB,内存*=.789MB,CPU平时使用率为0,数据同步时%。
下面看一下暴力测试结果
国产信创达梦数据库性能测试
数据库压力测试-大数据新增(达梦)
测试场景:大数据新增
环境说明:kylin v10、内存 7200MB、CPU 4C
创建单列数值型测试表t1
单机:一次性插入万测试数据(2250MB),耗时秒,速度 54MB/s
主备:一次性插入万测试数据(2250MB),耗时秒,速度 29MB/s
达梦主库dmserver进程:
CPU使用率从%增长到%;内存使用率从%增长到%
达梦主库dmwatcher进程:
CPU使用率一直%;内存使用率一直%;
达梦备库库dmserver进程:
CPU使用率从%增长到%;内存使用率从%增长到%
达梦备库dmwatcher进程:
CPU使用率一直%;内存使用率一直%;
- 数据库压力测试-大数据新增(MySQL)
测试场景:大数据新增
环境说明:kylin v10、内存 7200MB、CPU 4C
创建单列数值型测试表t1
单机:一次性插入万测试数据(2250MB),耗时秒,速度 6.25MB/s
主备:一次性插入万测试数据(2250MB),耗时秒,速度 6.13MB/s
mysqld进程:
单机:CPU使用率一直%;内存使用率从%增长到%;
主从:CPU使用率一直%;内存使用率从%增长到%;
- 数据库压力测试-大数据新增(Oracle)
测试场景:大数据新增
环境说明:kylin v10、内存 7200MB、CPU 4C
创建单列数值型测试表t1
单机:一次性插入万测试数据(1024MB),耗时秒,速度 8.5MB/s
Oracle进程:
内存使用率从%增长到%;CPU使用率从%增长到%;
数据库压力测试-小数据新增(达梦、Oracle、MySQL)
测试场景:单条插入,循环插入万次
环境说明:kylin v10、内存 7200MB、CPU 4C
测试结果:
达梦数据库:主备耗时秒;单机:秒,行/秒;主备:秒,行/秒。
Oracle数据库:单机:秒,行/秒。
MySQL数据库;主备:分钟秒(秒)hen431行/秒。
数据库压力测试-大数据汇总查询
数据库压力测试-大数据汇总排序查询
性能测试结果
总结:在以上几种测试场景中:
大数据新增、大数据汇总场景,达梦数据库性能最优。
小数据新增、大数据汇总排序,Oracle数据库性能最优。
