随着数字化经济建设的推进,首要问题面临国产数据库的选型,如何选?需要综合考虑业务需求、技术兼容性、性能、安全可靠性、扩展灵活性、成本效益、技术支持与培训以及参考案例与口碑等多个因素。
       通过综合评估,选择最适合的数据库产品,以满足业务需求并推动业务发展。在笔者查阅资料过程中,更多的只是各国产数据库的排名、技术架构,真正实际环境的分析对比相对较少,面对动辄十几万、几十万的数据库采购费用,不能简单的凭排名来决定。
       因此我们选取典型的数据库厂商:达梦、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
       国产信创达梦数据库暴力测试
       在做暴力测试之前,先简单看下达梦守护集群:


       和OracleDG架构类似
       主从同步:
       主库增、删、改等操作产生的Redo日志通过MAL系统传输到备库,备库接收并重演Redo日志,从而实现备库与主库的数据同步。
       切换:
       提供自动切换和手动切换两种守护模式,满足用户不同需求。
       其中,自动切换模式需要提前配置并启用监控器,
       该模式下,主库出现故障时,会自动将备库切换为主库对外继续提供数据库服务。


       主备推荐架构:
       两台DB服务器+1台或2台Monitor服务器
       其中,monitor占用很少的资源
       占用磁盘空间2.1GB,内存15263*0.003=45.789MB,CPU平时使用率为0,数据同步时0.7%。




       下面看一下暴力测试结果




       03
       国产信创达梦数据库性能测试
       数据库压力测试-大数据新增(达梦)
       测试场景:大数据新增
       环境说明:kylinv10、内存7200MB、CPU4C
       创建单列数值型测试表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)
       测试场景:大数据新增
       环境说明:kylinv10、内存7200MB、CPU4C
       创建单列数值型测试表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)
       测试场景:大数据新增
       环境说明:kylinv10、内存7200MB、CPU4C
       创建单列数值型测试表t1


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


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




       数据库压力测试-小数据新增(达梦、Oracle、MySQL)
       测试场景:单条插入,循环插入990万次
       环境说明:kylinv10、内存7200MB、CPU4C


       测试结果:
       达梦数据库:主备耗时1132秒;单机:546秒,1831行/秒;主备:1132秒,883行/秒。
       Oracle数据库:单机:67秒,14924行/秒。
       MySQL数据库;主备:38分钟39秒(2319秒)hen431行/秒。
       数据库压力测试-大数据汇总查询


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


       性能测试结果


       总结:在以上几种测试场景中:
       大数据新增、大数据汇总场景,达梦数据库性能最优。
       小数据新增、大数据汇总排序,Oracle数据库性能最优。

友情提示

本站部分转载文章,皆来自互联网,仅供参考及分享,并不用于任何商业用途;版权归原作者所有,如涉及作品内容、版权和其他问题,请与本网联系,我们将在第一时间删除内容!

联系邮箱:1042463605@qq.com