分享:软件全面国产化替代,10款数据库TPC-C测评哪家强时间:2022-04-07 01:04:28欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 本文来自OceanBase社区分享,仅限交流探讨。原作者风华流沙,武汉东方赛思数据部总负责人 ------ 我所在的武汉东方赛思软件股份有限公司是一家专注于大数据分析、大数据平台软件研发和服务的国家高新技术企业,我们的项目涉及卫生健康、智慧税务、数字政务、市场监管领域,帮助这些企业做好数字化转型。 提起技术选型的起因,还要从我们使用的开源操作系统 Centos说起。由于Centos停止维护,让我们不得不开始思考当国外软件突然不提供服务后,我们的业务该如何稳定进行。为避免后续相关事件对公司项目造成影响,我们决定将所有软硬件都替换为国产方案。 ## 数据库替换背景 在数据库层面,我们正在使用的 MySQL 也需要替换为国产开源的产品。当然,替换原因不止这一点。我们在使用MySQL 的过程中,面临的一些痛点越来越难以解决。 - 痛点一:我们当前的业务系统涉及大量 ETL 数据加工、处理,MySQL 8.0 的性能难以支撑,迫使我们寻求一个性能表现更好的数据库。 - 痛点二:在大型项目中会使用到多套 MySQL 实例及分库分表架构,日常运维与管理非常繁杂。 - 痛点三:由于近期项目中的实时在线数据量非常大,一旦出现节点宕机情况,就会波及业务系统的稳定运行,甚至带来更为严重的后果,因此,寻找一款更为稳定可靠的数据库势在必行。 基于上述痛点,我们开始着手国产数据库的调研,从多个平台了解到,华为OpenGuess、蚂蚁OceanBase、腾讯TDSQL、达梦数据库DB8在国内拥有较好口碑,因此对这几款数据库产品进行测评,包括性能、兼容性、高可用特性等方面,旨在筛选出最适合我们需求的国产数据库。最初,我们计划先在内部 OA 系统的发票报销模块尝试新产品的适配,但经过一番产品调研后,了解到OceanBase不仅兼容MySQL,也支持HTAP混合负载,其高可用能力甚至达到 RPO=0、RTO ![](https://img.alicdn.com/imgextra/i2/O1CN01Eq5UIR1mACh9pyUX9_!!6000000004913-0-tps-2118-516.jpg) 从测试数据可以看出:在并发 100 的情况下,OceanBase 4.0 能确保平均响应时间少于 3 秒,满足响应时间要求,TPS 远高于 DM8。压测结果符合业务的预期响应时间,性能也满足需求,说明业务可行。 ### 高可用测试 为验证在集群节点宕机时 OceanBase 4.0 的表现,我们通过模拟故障的方式,验证在单节点宕机情况下数据库是否还能继续提供服务,以及恢复正常服务要多久。 我们使用 3 台配置为10GB 的服务器部署 1-1-1 3节点集群环境,在测试环境下利用脚本,持续分批写入数据,每秒向数据库指定表插入 2000 条数据,查看 QPS 和表写入变化。在集群节点都在线的情况下 Kill 掉其中一个 OBServer 进程,观察脚本分时写入情况。我们发现在宕机时,BI 查询仍然正常,数据写入有短暂的明显降低,但大致3秒写入就自动恢复,可以证实 RTO