国产信创数据库:达梦数据、Oracle、MySQL性能对比
国产信创数据库:达梦数据、Oracle、MySQL性能对比
随着数字化经济建设的推进,数据库选型成为首要问题。本文通过设计多个维度及指标的测试场景,对国产信创数据库达梦数据与Oracle、MySQL在性能方面的差异进行了对比测试。测试内容涵盖了大数据新增、小数据新增、大数据汇总查询等多个场景,数据详实,结论明确。
国产信创数据库测试场景
第一部分:暴力测试主要测试了以下几个场景:
- 正常关闭主库实例
- 直接杀掉主库实例
- 关闭主库守护进程
- 关闭备库实例
- 直接杀掉备库实例
- 关闭备库守护进程
- Down主库心跳网卡
- Down备库心跳网卡(监控器在备库机器上)
- Down备库心跳网卡(监控器在第三天机器上)
- Down主库公共网卡
- Down备库公共网卡
- 主库服务器长时间宕机
- 备库服务器长时间宕机
第二部分:测试达梦、Oracle、MySQL数据库性能对比
主要检查测试以下几个场景:
- 大数据新增模拟跑批业务,大事务,单条新增几千万数据量
- 单条多次新增模拟小事物,单条小数据量,多次执行
- 大数据汇总模拟大数据查询
- 大数据汇总排序模拟大数据查询
- 复杂SQL模拟复杂查询
国产信创达梦数据库暴力测试
在做暴力测试之前,先简单看下达梦守护集群:
和Oracle DG架构类似
主从同步:
主库增、删、改等操作产生的 Redo 日志通过MAL系统传输到备库,备库接收并重演 Redo 日志,从而实现备库与主库的数据同步。
切换:
提供自动切换和手动切换两种守护模式,满足用户不同需求。其中,自动切换模式需要提前配置并启用监控器,该模式下,主库出现故障时,会自动将备库切换为主库对外继续提供数据库服务。
主备推荐架构:
两台DB服务器+1台或2台Monitor服务器
其中,monitor占用很少的资源
占用磁盘空间2.1GB,内存15263*0.003=45.789MB,CPU平时使用率为0,数据同步时0.7%。
国产信创达梦数据库性能测试
数据库压力测试-大数据新增(达梦)
测试场景:大数据新增
环境说明: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数据库性能最优。