揭秘国产达梦数据、Oracle、MySQL数据库性能巅峰对决!

发表时间: 2024-06-03 10:20

随着数字化经济建设的推进,首要问题面临国产数据库的选型,如何选?需要综合考虑业务需求、技术兼容性、性能、安全可靠性、扩展灵活性、成本效益、技术支持与培训以及参考案例与口碑等多个因素。

通过综合评估,选择最适合的数据库产品,以满足业务需求并推动业务发展。在笔者查阅资料过程中,更多的只是各国产数据库的排名、技术架构,真正实际环境的分析对比相对较少,面对动辄十几万、几十万的数据库采购费用,不能简单的凭排名来决定。

因此我们选取典型的数据库厂商:达梦、Oracle、Mysql,同时设计了插入性能测试、查询性能测试多个维度及指标,尽可能挖掘每个数据库产品的特性,我们也在不断改进测试环境与方式。


01

国产信创达梦数据库测试场景


第一部分:暴力测试主要测试了以下几个场景:

1.正常关闭主库实例;2.直接杀掉主库实例;3.关闭主库守护进程;4.关闭备库实例;5.直接杀掉备库实例;6.关闭备库守护进程;7.down主库心跳网卡;8.down备库心跳网卡(监控器在备库机器上);9.down备库心跳网卡(监控器在第三天机器上);10.down主库公共网卡;11.down备库公共网卡;12.主库服务器长时间宕机;13.备库服务器长时间宕机。

第二部分:测试达梦、Oracle、MySQL数据库性能对比

主要检查测试以下几个场景:

1:大数据新增模拟跑批业务,大事务,单条新增几千万数据量。2:单条多次新增模拟小事物,单条小数据量,多次执行。3:大数据汇总模拟大数据查询4:大数据汇总排序模拟大数据查询5:复杂SQL模拟复杂查询

02

国产信创达梦数据库暴力测试


在做暴力测试之前,先简单看下达梦守护集群:

和Oracle DG架构类似

  • 主从同步:

主库增、删、改等操作产生的 Redo 日志通过MAL系统传输到备库,备库接收并重演 Redo 日志,从而实现备库与主库的数据同步。

  • 切换:

提供自动切换和手动切换两种守护模式,满足用户不同需求。

其中,自动切换模式需要提前配置并启用监控器,

该模式下,主库出现故障时,会自动将备库切换为主库对外继续提供数据库服务。

主备推荐架构:

两台DB服务器+1台或2台Monitor服务器

其中,monitor占用很少的资源

占用磁盘空间2.1GB,内存15263*0.003=45.789MB,CPU平时使用率为0,数据同步时0.7%。



下面看一下暴力测试结果

03

国产信创达梦数据库性能测试


数据库压力测试-大数据新增(达梦)


测试场景:大数据新增

环境说明:kylin v10、内存 7200MB、CPU 4C

创建单列数值型测试表t1

单机:一次性插入8388万测试数据(2250MB),耗时42秒,速度 54MB/s

主备:一次性插入8388万测试数据(2250MB),耗时78秒,速度 29MB/s


达梦主库dmserver进程:

CPU使用率从4.4%增长到8.0%;内存使用率从43.6%增长到45.1%

达梦主库dmwatcher进程:

CPU使用率一直0.0%;内存使用率一直0.1%;

达梦备库库dmserver进程:

CPU使用率从2.3%增长到5.3%;内存使用率从41.2%增长到44.3%

达梦备库dmwatcher进程:

CPU使用率一直0.0%;内存使用率一直0.3%;

  • 数据库压力测试-大数据新增(MySQL)

测试场景:大数据新增

环境说明:kylin v10、内存 7200MB、CPU 4C

创建单列数值型测试表t1

单机:一次性插入8388万测试数据(2250MB),耗时360秒,速度 6.25MB/s

主备:一次性插入8388万测试数据(2250MB),耗时367秒,速度 6.13MB/s

mysqld进程:

单机:CPU使用率一直18.8%;内存使用率从35.5%增长到50.1%;

主从:CPU使用率一直18.9%;内存使用率从8.0%增长到10.4%;

  • 数据库压力测试-大数据新增(Oracle)


测试场景:大数据新增

环境说明:kylin v10、内存 7200MB、CPU 4C

创建单列数值型测试表t1

单机:一次性插入8388万测试数据(1024MB),耗时120秒,速度 8.5MB/s

Oracle进程:

内存使用率从18.7%增长到23.9%;CPU使用率从7.0%增长到11.0%;

数据库压力测试-小数据新增(达梦、Oracle、MySQL)

测试场景:单条插入,循环插入990万次

环境说明:kylin v10、内存 7200MB、CPU 4C

测试结果:

达梦数据库:主备耗时1132秒;单机:546秒,1831行/秒;主备:1132秒,883行/秒。

Oracle数据库:单机:67秒,14924行/秒。

MySQL数据库;主备:38分钟39秒(2319秒)hen431行/秒。


数据库压力测试-大数据汇总查询

数据库压力测试-大数据汇总排序查询

性能测试结果

总结:在以上几种测试场景中:

大数据新增、大数据汇总场景,达梦数据库性能最优。

小数据新增、大数据汇总排序,Oracle数据库性能最优。