国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論國產(chǎn)OLTP數(shù)據(jù)庫在移動通訊領(lǐng)域的測試評價標(biāo)準(zhǔn)

2021-08-09 01:52:21李敬林董欣
中國新通信 2021年10期
關(guān)鍵詞:評價標(biāo)準(zhǔn)選型測試

李敬林 董欣

【摘要】? ? 自21世紀(jì)以來,多種OLTP((on-line transaction processing)數(shù)據(jù)庫產(chǎn)品如雨后春筍般涌現(xiàn),國產(chǎn)數(shù)據(jù)庫不斷成長壯大,多款數(shù)據(jù)庫產(chǎn)品相繼進入移動通信的IT系統(tǒng),各數(shù)據(jù)庫產(chǎn)品形態(tài)各不相同。面對新形勢,大家都希望在商用前通過測試來評價一款數(shù)據(jù)庫的優(yōu)劣,國產(chǎn)數(shù)據(jù)庫的測試評價標(biāo)準(zhǔn)成為一項大家重點關(guān)注的焦點。同時,如何通過測試來判斷某數(shù)據(jù)庫是否符合IT系統(tǒng)的需求也是一個重要的命題。本論文從測試的角度,提出了如何評價分析一款國產(chǎn)數(shù)據(jù)庫的功能、性能、穩(wěn)定性、健壯性、安全性、兼容性,作為各移動業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫選型參考依據(jù),同時也為軟件系統(tǒng)的技術(shù)發(fā)展路線給出指引。

【關(guān)鍵詞】? ? 國產(chǎn)數(shù)據(jù)庫? ? OLTP? ? 測試? ? 評價標(biāo)準(zhǔn)? ? 選型

一、OLTP數(shù)據(jù)庫測試簡介

軟件系統(tǒng)發(fā)展到一定規(guī)模,就離不開數(shù)據(jù)庫,對于傳統(tǒng)實時交易系統(tǒng)更加離不開OLTP數(shù)據(jù)庫。OLTP數(shù)據(jù)庫的特點是可以及時處理高并發(fā)的交易請求,多線程管理, 是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,主要是基本的、日常的事務(wù)處理,例如銀行交易、移動通訊業(yè)務(wù)交易。

既然有OLTP數(shù)據(jù)庫產(chǎn)品的存在,就有該產(chǎn)品的測試和驗證。對于只接觸過國外一線品牌的軟件工作者來說,對國產(chǎn)OLTP數(shù)據(jù)庫產(chǎn)品還處于認(rèn)識的初期,如何通過一系列的測試驗證方法,可以相對快速地了解國產(chǎn)OLTP的產(chǎn)品能力,是一件非常有意義的事情。

對于熟悉軟件測試?yán)碚摰臏y試工程師來說,評價一款軟件產(chǎn)品的優(yōu)劣,一般從功能齊備性、兼容性、性能、穩(wěn)定性、健壯性、安全性、操作維護性等角度來開展。數(shù)據(jù)庫產(chǎn)品也不例外,本文將分別從上述角度來展開闡述,如何評價國產(chǎn)OLTP數(shù)據(jù)庫的優(yōu)劣。另外,OLTP數(shù)據(jù)庫從部署形態(tài)來看,主要分為主備式和分布式,本文主要從主備式產(chǎn)品的角度來描述,部分?jǐn)?shù)據(jù)庫廠商把主備成為集中式數(shù)據(jù)庫。

二、國產(chǎn)數(shù)據(jù)庫的分類評價測試

2.1基本功能測試

首先,我們先從功能上來看一看,摸一摸,捏一捏。當(dāng)我們站在水果攤前,選擇合適自己的水果前,首先肯定是觀察水果的外表,例如顏色、形狀、紋路等。評價數(shù)據(jù)庫也不例外,我們都會先檢查一下數(shù)據(jù)庫的常用功能是否齊備。我們先看看國產(chǎn)主備機產(chǎn)品一般都具備些什么功能:

前面是常見的安裝卸載和升級,接著是4種常見的分區(qū)方式,每種分區(qū)都有自己的應(yīng)用場景,這里不重復(fù)了。這里稍微提及一下二級分區(qū),例如我們要存儲每個多個城市不同日期的天氣記錄數(shù)據(jù),第一級分區(qū)就是按照城市來劃分,第二級分區(qū)就是按照日期來劃分,這個功能在國外一線數(shù)據(jù)庫也比較常用。

同時,強調(diào)一下存儲過程,對于習(xí)慣使用國外一線品牌的應(yīng)用開發(fā),存儲過程的使用確認(rèn)是一個偏愛,所以,國產(chǎn)的主備式數(shù)據(jù)庫也常常開發(fā)了此功能。另外,還有一個小功能,“支持FOR UPDATE子句允許鎖定所選行”,也是部分應(yīng)用開發(fā)人員的使用偏好,因為這樣可以避免同一時間大家更新某行記錄,提高了一致性。再者,這里沒有列舉rowid和rownum的偽列功能,大家也留意一下,部分應(yīng)用系統(tǒng)有這個使用要求,大家評估對比時也考慮一下。

說明:rownum和rowid都是偽列,但是兩者的根本是不同的,rownum是根據(jù)sql查詢出的結(jié)果給每行分配一個邏輯編號,所以你的sql不同也就會導(dǎo)致最終rownum不同,但是rowid是物理結(jié)構(gòu)上的,在每條記錄insert到數(shù)據(jù)庫中時,都會有一個唯一的物理記錄。

關(guān)于字符集的支持,國產(chǎn)的數(shù)據(jù)庫產(chǎn)品一般支持UTF-8,GBK,ASCII字符集,而且是初始化安裝時進行配置,一般是不支持在線修改的,若使用過程中修改服務(wù)器端字符集要跟數(shù)據(jù)庫廠商確認(rèn)。

關(guān)于支持故障恢復(fù),一般可以支持恢復(fù)到指定時間點,個別數(shù)據(jù)庫可以做到閃回,例如表級別的、分區(qū)級別,根據(jù)自己的業(yè)務(wù)系統(tǒng)情況進行測試評估。

關(guān)于MVCC多版本的控制,一般國產(chǎn)數(shù)據(jù)庫都具備,測試時,要注意是否為不同的用戶保存了自己版本的數(shù)據(jù),讀的數(shù)據(jù)不是最新的,有可能是歷史的,這是測試的關(guān)鍵點。MVCC存在就是因為數(shù)據(jù)庫的專家們不滿足悲觀鎖這種性能不佳的解決讀寫沖突的方案,提出了在并發(fā)讀寫數(shù)據(jù)庫時,可以做到在讀操作時不用阻塞寫操作,寫操作也不用阻塞讀操作,提高了數(shù)據(jù)庫并發(fā)讀寫的性能。

關(guān)于支持ACID基本特性時,這里有一個持久性的檢查,應(yīng)該重點關(guān)注重啟數(shù)據(jù)庫,操作系統(tǒng)后,數(shù)據(jù)是否還存在。

2.2數(shù)據(jù)遷移測試

關(guān)于數(shù)據(jù)庫的遷移,在測試時,要關(guān)注是否提供了從oracle、mysql等異構(gòu)數(shù)據(jù)庫的全量或者增量的遷移工具,另外測試時要選取一定的數(shù)據(jù)量進行驗證,例如10G的歷史記錄。檢查遷移是否成功,計算搬遷的速率。

2.3數(shù)據(jù)同步測試

對于數(shù)據(jù)同步的功能,主要存在于容災(zāi)或者雙中心的應(yīng)用場景,一般指同構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步。同步工具是需要單向還是雙向要根據(jù)業(yè)務(wù)使用場景來選擇驗證,有的場景,例如主備容災(zāi),備節(jié)點只需要讀和備份功能,那么單向同步就足夠了。若選擇雙向同步,要從應(yīng)用側(cè)保證同步雙方在同一個表沒有出現(xiàn)相同記錄。目前雙向同步的功能對國產(chǎn)數(shù)據(jù)庫來說,還是處于起步階段,不是特別成熟。另外,雙向同步的使用也有一定場景限制。

2.4兼容性

首先是考慮oracle的兼容度。因為部分業(yè)務(wù)系統(tǒng)是從oracle遷移過來,所以對oracle的常用功能的兼容度,可以作為測試檢查點。包括兼容oracle的語法Explain plan,Create Profile,HINT,還有oracle的高級包:包括

DBMS_JOB.SUBMIT,DBMS_JOB.RUN,DBMS_SQL.RETURN_RESULT ,DBMS_DEBUG.INIT,DBMS_LOB.GETLENGTH,DBMS_OUTPUT.PUT_LINE,DBMS_RANDOM.VALUE,DBMS_STATS.AUTO_DEGREE,DBMS_UTILITY.GET_TIME等。

除了考慮oracle兼容性測試外,還要考慮數(shù)據(jù)庫跟服務(wù)器架構(gòu)、存儲、操作系統(tǒng)的兼容度,這里列舉一下常見的兼容性測試點:

服務(wù)器架構(gòu):x86,ARM架構(gòu)。

存儲:HDD,SATA,SSD,Nvme,SAN存儲。

操作系統(tǒng):CentOS系列,BCLinux(中國移動研發(fā)),UOS,麒麟OS。

2.5數(shù)據(jù)庫性能測試

關(guān)于數(shù)據(jù)庫性能的驗證,可以從兩個角度來考慮,一個角度是采用行業(yè)常見評價標(biāo)準(zhǔn),一個角度是使用業(yè)務(wù)應(yīng)用的性能場景。首先看看行業(yè)的常用標(biāo)準(zhǔn),TPCC測試模型。此方法提出的是TPC委員會,是一個國際組織,全稱是Transaction Processing Performance Council,事務(wù)處理性能委員會。此模型使用的是經(jīng)過抽象后的電商系統(tǒng)模型,在地理分布的多個區(qū)域有業(yè)務(wù),并且使用倉庫管理。當(dāng)業(yè)務(wù)擴展的時候,公司將添加新的倉庫。每個倉庫維護100000種商品,每個倉庫負責(zé)十個區(qū)域的供貨,每個區(qū)域3000個客戶服務(wù),平均每個客戶的一個訂單有10項產(chǎn)品。所有訂單中約1%的產(chǎn)品在其直接所屬的倉庫中沒有存貨,需要由其他區(qū)域的倉庫來供貨。

性能由tpmC(transactions per minute,tpm)衡量,單位是每分鐘,取tpmC NewOrders值,C指TPC中的C基準(zhǔn)程序。整個業(yè)務(wù)模型如圖 1。

使用TPCC模型來測試OLTP數(shù)據(jù)庫的性能,優(yōu)點在于測試模型的標(biāo)準(zhǔn)性,可以被多數(shù)的用戶接受,有一定的對比價值。當(dāng)我們使用TPCC的測試值來做性能對比,要注意使用統(tǒng)一的施壓測試工具及版本,配置要保持一致例如倉庫數(shù),業(yè)務(wù)比例值,測試時長周期,是否使用外鍵等。同時,使用的施壓機器默認(rèn)是不跟數(shù)據(jù)庫放在同一服務(wù)器的,個別測試團隊把施壓工具安裝在數(shù)據(jù)庫服務(wù)器上,減少網(wǎng)絡(luò)帶寬和延時,雖然可以提升測試結(jié)果值,但是這種方法不被行業(yè)專家所接受。

現(xiàn)在,我們看看另外一種性能測試角度,使用實際業(yè)務(wù)系統(tǒng)的業(yè)務(wù)模型來測試。這種方法,常常是選擇應(yīng)用系統(tǒng)中高并發(fā)處理模塊,作為一個模擬工具來發(fā)起并發(fā)請求,也可以直接把應(yīng)用程序跟數(shù)據(jù)庫集成在一起,模擬相對真實的性能測試場景。測試時,采集此時數(shù)據(jù)庫的TPS,響應(yīng)時間,數(shù)據(jù)庫服務(wù)器的磁盤IO讀寫速率,CPU使用率,內(nèi)存使用率。同時,也采集業(yè)務(wù)全流程的TPS,響應(yīng)時間等指標(biāo),最后對比同款數(shù)據(jù)庫的測試結(jié)果指標(biāo),可以分析出測試對象數(shù)據(jù)庫的性能水平。

關(guān)于事務(wù)型的數(shù)據(jù)庫,我們還可以測試以下幾種常見場景的性能表現(xiàn)指標(biāo)。

例如,純寫入的高并發(fā)場景,純更新的高并發(fā),寫入加更新,寫入加查詢等場景,這些使用場景跟實際業(yè)務(wù)應(yīng)用場景比較接近,可以體現(xiàn)出OLTP數(shù)據(jù)庫在寫,讀,更新,查詢等幾個動作,及動作組合的效率情況。另外,這里稍微提及一下查詢的性能測試,對于事務(wù)型的應(yīng)用系統(tǒng),一般聚合查詢,跨表查詢的場景不多,但是不代表了OLTP數(shù)據(jù)庫就沒有分析型的語句使用需求和場景,一些實時交易類的系統(tǒng),也是需要每天做統(tǒng)計分析,出報表的,在做數(shù)據(jù)庫性能評估時,可以適當(dāng)增加一些聚合查詢、跨表查詢、關(guān)聯(lián)查詢的性能測試用例。這樣,面向數(shù)據(jù)庫的性能評價會更加全面。

另外,在性能度量方面,從運維角度考慮,還可以考慮一下數(shù)據(jù)導(dǎo)入導(dǎo)出的效率測試。導(dǎo)入的測試,主要是批量地導(dǎo)入文件,文件格式和內(nèi)容可以參考業(yè)務(wù)模型來設(shè)計。統(tǒng)計導(dǎo)入的數(shù)據(jù)量大小和耗時,計算導(dǎo)入的TPS。對于導(dǎo)出操作,常見是導(dǎo)出為CSV格式的文件,每個文件大小約100M,統(tǒng)計導(dǎo)出的數(shù)據(jù)量大小和耗時,計算導(dǎo)出的TPS。

三、結(jié)束語

對國產(chǎn)數(shù)據(jù)庫的評價,需要結(jié)合我們的應(yīng)用系統(tǒng)使用場景來測試。當(dāng)然,采用國際標(biāo)準(zhǔn)的TPCC測試模型來驗證OLTP數(shù)據(jù)庫的事務(wù)處理效率是可行的,有一定的參考價值和對比意義。對于國內(nèi)的應(yīng)用系統(tǒng),需要從對數(shù)據(jù)庫的功能、兼容度、性能、遷移能力、數(shù)據(jù)同步能力等方面來進行測試評價。另外,所有能力的評價是基于一定的軟硬件環(huán)境的,即在同樣的服務(wù)器架構(gòu)、操作系統(tǒng)和存儲下進行,記錄此條件下的功能和性能表現(xiàn)。

參? 考? 文? 獻

[1]《中國移動主備式數(shù)據(jù)庫測試規(guī)范》,2020:5 - 6

猜你喜歡
評價標(biāo)準(zhǔn)選型測試
不銹鋼二十輥冷軋機組橫切剪的選型計算
關(guān)于高層建筑結(jié)構(gòu)選型設(shè)計的初步探討
幽默大測試
幽默大師(2020年11期)2020-11-26 06:12:12
昆鋼鐵路內(nèi)燃機車選型實踐與探索
昆鋼科技(2020年4期)2020-10-23 09:32:14
產(chǎn)品選型
“攝問”測試
“攝問”測試
“攝問”測試
小學(xué)英語教學(xué)的普遍現(xiàn)狀及對策
淺談廣告攝影的創(chuàng)意與發(fā)展
栾城县| 成都市| 富阳市| 九江市| 页游| 隆安县| 潍坊市| 进贤县| 富蕴县| 理塘县| 上饶县| 临泽县| 大田县| 河间市| 丽水市| 德昌县| 托克逊县| 凤城市| 安庆市| 缙云县| 九江县| 莱州市| 宜春市| 镇赉县| 嵊泗县| 搜索| 桂平市| 阳新县| 老河口市| 莲花县| 大宁县| 西畴县| 临朐县| 静宁县| 昆山市| 类乌齐县| 广饶县| 崇阳县| 阳朔县| 吴堡县| 巴马|