时间:2024-09-03
◆王坤 刘水生 陶宇
国产分布式数据库的测试研究
◆王坤1刘水生2陶宇1
(1.江苏省电子信息产品质量监督检验研究院 江苏 214073;2.江苏烟草专卖局(公司)信息中心 江苏 210005)
国产分布式数据库在兼容国产CPU平台、操作系统的同时拥有传统数据库不具备的扩展需求和多数据模型的处理能力等特性。本文主要介绍了分布式数据库,分析了烟草行业的数据库应用需求,结合分布式数据库测试实践,总结了实践过程中的一些评测方法和思考。
分布式数据库;国产;软件测试
作为IT基础设施,数据库是新基础设施和信息创新生态的重要组成部分,是承载数据的核心关键。根据部署方式的差异,数据库可分为单机数据库与分布式数据库。目前,分布式数据库正处于国产[1]软硬件系统的技术改造阶段,通过产品的适配测试,可有效检验产品性能,从而帮助改良产品的成熟度,提高在行业场景的应用能力。
分布式数据库系统一般由较小的计算机单元组合运行。每台计算机有一个完整的或部分的数据库管理系统副本,并在本地数据库存储数据。不同空间位置的数台计算机通过网络相互连接,形成一个完备的、逻辑上集中、物理空间分布的大规模数据库。与单机数据库相比,分布式数据库在灵活性和可扩展性方面具有优势。一方面,分布式数据库使各部门可以根据其应用的具体需求自由选择软件和硬件,而不会因共享架构受到影响;另一方面,分布式体系结构本身具有可扩展性,可以根据业务规模实现无限的弹性扩展。
实例场景—烟草行业。
烟草行业中重要的业务系统有生产控制系统、物流系统、企业移动门户、资产管理、办公系统等。其中,物流系统是核心系统之一,它可统一分配和跟踪所有物流车辆,在地图上以点的形式记录所有车辆的轨迹,并且实时提供展示与路径跟踪等。由于系统数据量大,数据实时性要求较高,分布式数据库是满足当前业务需求的较好选择。
网络架构:分布式架构通常是多中心、多节点的部署管理模式。在实际的生产环境中,对网络的要求非常高,机房网络延时一般要求小于10 ms。因此,在测试环境中,需要构建测试所需的网络环境,并确保网络延时小于10 ms。
硬件要求:依据系统需求规格说明的要求准备硬件设备。例如硬盘、内存等规格,目前国内服务器多使用SAS磁盘作为系统盘,SATA作为数据盘。
配置要求:分布式系统在多个软硬件平台进行系统的安装部署,需要设置的参数项较多,因此系统配置过程的操作步骤比较烦琐易出错,且不同制造商的技术实施也不尽相同,因此部署和调试需要在制造商技术人员和部署文档的配合下完成。
测试技术指标要求如图1所示。
图1 测试指标
虽然不同厂商研发的分布式数据库产品在事务处理类型上不同,选择的技术架构和功能特性定义实现上也有差异,但数据库实现的功能一致。依据行业标准和研究报告,从功能性、兼容性、维护性、可靠性、扩展性与安全性等方面定义了如图1所示的技术指标要求。
(1)测试返回结果分析
搜集应用系统返回的实际结果。一是根据用户手册的功能点和业务流程进行手动或者自动化操作,观察返回的结果是否满足预先定义的测试指标要求;其次,操作后端服务器重启、关机、断开网络等,观察应用的表现是否符合分布式系统的可靠性设计要求。
分析日志。测试期间,需要将日志级别定义为调试级别,便于分析日志和定位问题。
获取操作系统的数据信息。分布式数据库多运行在Linux操作系统上,在测试过程中,除了详细分析程序日志外,还需要分析操作系统的一些重要数据信息,以排查服务器程序是否存在异常。可使用top命令来查看操作系统的一些数据信息,使用lsof工具查看此列表以检测和排除系统故障。
内存数据监测。借助内存检测工具分析服务器程序是否存在内存泄漏,在Linux环境中,通常使用Valgrind[2]进行内存检测。
(2)性能测试数据与工具
测试数据准备。测试数据量的大小、存储文件的格式、单个存储对象的大小等要素对分布式数据库的性能测试结果有很大的影响。在测试数据的准备过程中,必须充分了解系统架构设计,规划好测试场景,设计好测试用例,并利用工具或脚本生成测试数据。在测试数据量较大情况下,需提前准备,如需准备10TB数据,假设每秒写入100MB数据,则需要数十个小时。
性能测试工具。分布式数据库的性能测试需要利用测试工具来开展,因此有两个关键点需要测试人员注意:一是性能指标的采集和统计应准确,如TPS(每秒请求数)和吞吐量;其次,应确保性能测试工具本身是否到达瓶颈。在适配测试过程中,通常用BenchmarkSQL来模拟一个商品销售模型对分布式数据库系统进行性能压力测试,其中tmpC值用来衡量系统最大有效吞吐量,Transactions以NewOrder Transaction为准,即最终衡量单位为每分钟处理的新订单数。
当前,国内分布式数据库行业仍处于探索起步阶段,其技术能力仍在不断提升改进,应用市场也在不断开拓。与传统关系数据库相比,分布式数据库不仅提供了事务一致性,而且具有更灵活的扩展能力和多数据模型处理能力,为数据库带来了新的市场机遇。同时,分布式数据库产业的发展过程中仍然存在如数据安全[3]、外部接口兼容、功能规范等问题,在可靠性等方面上与国外同类产品相比有较大差距,为解决这些难题需要行业持续地推进完善。
[1]王坤,张腾标,王震宇. 浅谈国产化平台安全运维与容灾体系建立[A]. 公安部第三研究所.2020年“网络安全技术与应用创新”研讨会论文集[C].公安部第三研究所:《信息网络安全》北京编辑部,2020:4.
[2]杨善红.Linux应用程序内存错误自动化测试研究[J].民营科技,2011(10):53.
[3]张腾标,王坤,余波. 基于国产化平台下的数据安全分析[A]. 公安部第三研究所.2020年“网络安全技术与应用创新”研讨会论文集[C].公安部第三研究所:《信息网络安全》北京编辑部,2020:3.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!