◆王坤 劉水生 陶宇
國產(chǎn)分布式數(shù)據(jù)庫的測(cè)試研究
◆王坤1劉水生2陶宇1
(1.江蘇省電子信息產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)研究院 江蘇 214073;2.江蘇煙草專賣局(公司)信息中心 江蘇 210005)
國產(chǎn)分布式數(shù)據(jù)庫在兼容國產(chǎn)CPU平臺(tái)、操作系統(tǒng)的同時(shí)擁有傳統(tǒng)數(shù)據(jù)庫不具備的擴(kuò)展需求和多數(shù)據(jù)模型的處理能力等特性。本文主要介紹了分布式數(shù)據(jù)庫,分析了煙草行業(yè)的數(shù)據(jù)庫應(yīng)用需求,結(jié)合分布式數(shù)據(jù)庫測(cè)試實(shí)踐,總結(jié)了實(shí)踐過程中的一些評(píng)測(cè)方法和思考。
分布式數(shù)據(jù)庫;國產(chǎn);軟件測(cè)試
作為IT基礎(chǔ)設(shè)施,數(shù)據(jù)庫是新基礎(chǔ)設(shè)施和信息創(chuàng)新生態(tài)的重要組成部分,是承載數(shù)據(jù)的核心關(guān)鍵。根據(jù)部署方式的差異,數(shù)據(jù)庫可分為單機(jī)數(shù)據(jù)庫與分布式數(shù)據(jù)庫。目前,分布式數(shù)據(jù)庫正處于國產(chǎn)[1]軟硬件系統(tǒng)的技術(shù)改造階段,通過產(chǎn)品的適配測(cè)試,可有效檢驗(yàn)產(chǎn)品性能,從而幫助改良產(chǎn)品的成熟度,提高在行業(yè)場景的應(yīng)用能力。
分布式數(shù)據(jù)庫系統(tǒng)一般由較小的計(jì)算機(jī)單元組合運(yùn)行。每臺(tái)計(jì)算機(jī)有一個(gè)完整的或部分的數(shù)據(jù)庫管理系統(tǒng)副本,并在本地?cái)?shù)據(jù)庫存儲(chǔ)數(shù)據(jù)。不同空間位置的數(shù)臺(tái)計(jì)算機(jī)通過網(wǎng)絡(luò)相互連接,形成一個(gè)完備的、邏輯上集中、物理空間分布的大規(guī)模數(shù)據(jù)庫。與單機(jī)數(shù)據(jù)庫相比,分布式數(shù)據(jù)庫在靈活性和可擴(kuò)展性方面具有優(yōu)勢(shì)。一方面,分布式數(shù)據(jù)庫使各部門可以根據(jù)其應(yīng)用的具體需求自由選擇軟件和硬件,而不會(huì)因共享架構(gòu)受到影響;另一方面,分布式體系結(jié)構(gòu)本身具有可擴(kuò)展性,可以根據(jù)業(yè)務(wù)規(guī)模實(shí)現(xiàn)無限的彈性擴(kuò)展。
實(shí)例場景—煙草行業(yè)。
煙草行業(yè)中重要的業(yè)務(wù)系統(tǒng)有生產(chǎn)控制系統(tǒng)、物流系統(tǒng)、企業(yè)移動(dòng)門戶、資產(chǎn)管理、辦公系統(tǒng)等。其中,物流系統(tǒng)是核心系統(tǒng)之一,它可統(tǒng)一分配和跟蹤所有物流車輛,在地圖上以點(diǎn)的形式記錄所有車輛的軌跡,并且實(shí)時(shí)提供展示與路徑跟蹤等。由于系統(tǒng)數(shù)據(jù)量大,數(shù)據(jù)實(shí)時(shí)性要求較高,分布式數(shù)據(jù)庫是滿足當(dāng)前業(yè)務(wù)需求的較好選擇。
網(wǎng)絡(luò)架構(gòu):分布式架構(gòu)通常是多中心、多節(jié)點(diǎn)的部署管理模式。在實(shí)際的生產(chǎn)環(huán)境中,對(duì)網(wǎng)絡(luò)的要求非常高,機(jī)房網(wǎng)絡(luò)延時(shí)一般要求小于10 ms。因此,在測(cè)試環(huán)境中,需要構(gòu)建測(cè)試所需的網(wǎng)絡(luò)環(huán)境,并確保網(wǎng)絡(luò)延時(shí)小于10 ms。
硬件要求:依據(jù)系統(tǒng)需求規(guī)格說明的要求準(zhǔn)備硬件設(shè)備。例如硬盤、內(nèi)存等規(guī)格,目前國內(nèi)服務(wù)器多使用SAS磁盤作為系統(tǒng)盤,SATA作為數(shù)據(jù)盤。
配置要求:分布式系統(tǒng)在多個(gè)軟硬件平臺(tái)進(jìn)行系統(tǒng)的安裝部署,需要設(shè)置的參數(shù)項(xiàng)較多,因此系統(tǒng)配置過程的操作步驟比較煩瑣易出錯(cuò),且不同制造商的技術(shù)實(shí)施也不盡相同,因此部署和調(diào)試需要在制造商技術(shù)人員和部署文檔的配合下完成。
測(cè)試技術(shù)指標(biāo)要求如圖1所示。
圖1 測(cè)試指標(biāo)
雖然不同廠商研發(fā)的分布式數(shù)據(jù)庫產(chǎn)品在事務(wù)處理類型上不同,選擇的技術(shù)架構(gòu)和功能特性定義實(shí)現(xiàn)上也有差異,但數(shù)據(jù)庫實(shí)現(xiàn)的功能一致。依據(jù)行業(yè)標(biāo)準(zhǔn)和研究報(bào)告,從功能性、兼容性、維護(hù)性、可靠性、擴(kuò)展性與安全性等方面定義了如圖1所示的技術(shù)指標(biāo)要求。
(1)測(cè)試返回結(jié)果分析
搜集應(yīng)用系統(tǒng)返回的實(shí)際結(jié)果。一是根據(jù)用戶手冊(cè)的功能點(diǎn)和業(yè)務(wù)流程進(jìn)行手動(dòng)或者自動(dòng)化操作,觀察返回的結(jié)果是否滿足預(yù)先定義的測(cè)試指標(biāo)要求;其次,操作后端服務(wù)器重啟、關(guān)機(jī)、斷開網(wǎng)絡(luò)等,觀察應(yīng)用的表現(xiàn)是否符合分布式系統(tǒng)的可靠性設(shè)計(jì)要求。
分析日志。測(cè)試期間,需要將日志級(jí)別定義為調(diào)試級(jí)別,便于分析日志和定位問題。
獲取操作系統(tǒng)的數(shù)據(jù)信息。分布式數(shù)據(jù)庫多運(yùn)行在Linux操作系統(tǒng)上,在測(cè)試過程中,除了詳細(xì)分析程序日志外,還需要分析操作系統(tǒng)的一些重要數(shù)據(jù)信息,以排查服務(wù)器程序是否存在異常??墒褂胻op命令來查看操作系統(tǒng)的一些數(shù)據(jù)信息,使用lsof工具查看此列表以檢測(cè)和排除系統(tǒng)故障。
內(nèi)存數(shù)據(jù)監(jiān)測(cè)。借助內(nèi)存檢測(cè)工具分析服務(wù)器程序是否存在內(nèi)存泄漏,在Linux環(huán)境中,通常使用Valgrind[2]進(jìn)行內(nèi)存檢測(cè)。
(2)性能測(cè)試數(shù)據(jù)與工具
測(cè)試數(shù)據(jù)準(zhǔn)備。測(cè)試數(shù)據(jù)量的大小、存儲(chǔ)文件的格式、單個(gè)存儲(chǔ)對(duì)象的大小等要素對(duì)分布式數(shù)據(jù)庫的性能測(cè)試結(jié)果有很大的影響。在測(cè)試數(shù)據(jù)的準(zhǔn)備過程中,必須充分了解系統(tǒng)架構(gòu)設(shè)計(jì),規(guī)劃好測(cè)試場景,設(shè)計(jì)好測(cè)試用例,并利用工具或腳本生成測(cè)試數(shù)據(jù)。在測(cè)試數(shù)據(jù)量較大情況下,需提前準(zhǔn)備,如需準(zhǔn)備10TB數(shù)據(jù),假設(shè)每秒寫入100MB數(shù)據(jù),則需要數(shù)十個(gè)小時(shí)。
性能測(cè)試工具。分布式數(shù)據(jù)庫的性能測(cè)試需要利用測(cè)試工具來開展,因此有兩個(gè)關(guān)鍵點(diǎn)需要測(cè)試人員注意:一是性能指標(biāo)的采集和統(tǒng)計(jì)應(yīng)準(zhǔn)確,如TPS(每秒請(qǐng)求數(shù))和吞吐量;其次,應(yīng)確保性能測(cè)試工具本身是否到達(dá)瓶頸。在適配測(cè)試過程中,通常用BenchmarkSQL來模擬一個(gè)商品銷售模型對(duì)分布式數(shù)據(jù)庫系統(tǒng)進(jìn)行性能壓力測(cè)試,其中tmpC值用來衡量系統(tǒng)最大有效吞吐量,Transactions以NewOrder Transaction為準(zhǔn),即最終衡量單位為每分鐘處理的新訂單數(shù)。
當(dāng)前,國內(nèi)分布式數(shù)據(jù)庫行業(yè)仍處于探索起步階段,其技術(shù)能力仍在不斷提升改進(jìn),應(yīng)用市場也在不斷開拓。與傳統(tǒng)關(guān)系數(shù)據(jù)庫相比,分布式數(shù)據(jù)庫不僅提供了事務(wù)一致性,而且具有更靈活的擴(kuò)展能力和多數(shù)據(jù)模型處理能力,為數(shù)據(jù)庫帶來了新的市場機(jī)遇。同時(shí),分布式數(shù)據(jù)庫產(chǎn)業(yè)的發(fā)展過程中仍然存在如數(shù)據(jù)安全[3]、外部接口兼容、功能規(guī)范等問題,在可靠性等方面上與國外同類產(chǎn)品相比有較大差距,為解決這些難題需要行業(yè)持續(xù)地推進(jìn)完善。
[1]王坤,張騰標(biāo),王震宇. 淺談國產(chǎn)化平臺(tái)安全運(yùn)維與容災(zāi)體系建立[A]. 公安部第三研究所.2020年“網(wǎng)絡(luò)安全技術(shù)與應(yīng)用創(chuàng)新”研討會(huì)論文集[C].公安部第三研究所:《信息網(wǎng)絡(luò)安全》北京編輯部,2020:4.
[2]楊善紅.Linux應(yīng)用程序內(nèi)存錯(cuò)誤自動(dòng)化測(cè)試研究[J].民營科技,2011(10):53.
[3]張騰標(biāo),王坤,余波. 基于國產(chǎn)化平臺(tái)下的數(shù)據(jù)安全分析[A]. 公安部第三研究所.2020年“網(wǎng)絡(luò)安全技術(shù)與應(yīng)用創(chuàng)新”研討會(huì)論文集[C].公安部第三研究所:《信息網(wǎng)絡(luò)安全》北京編輯部,2020:3.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2022年4期