當前位置:
首頁 > 最新 > 分散式事務資料庫評測體系研究與實踐

分散式事務資料庫評測體系研究與實踐

文 北京銀行

軟體開發部 于振華 懷文佳

近年來,國家不斷提高對信息技術安全可控的戰略要求,銀行業希望在快速發展業務的同時不斷降低經營成本。這不僅促使商業銀行積極提升自主掌控能力,同時,對基礎軟體的服務能力、軟硬體升級成本控制也提出了新的要求。商業銀行信息系統採用的傳統資料庫一體化解決方案,在面對高並發量實時交易和大數據量處理時,遇到了明顯的性能瓶頸,而想提升系統性能只能靠替換式的硬體升級,成本昂貴。在這種背景下,引入一種高性能、可彈性擴展、能夠支持OLTP場景的分散式資料庫成為各家銀行系統建設的優先選擇方案。

分散式事務資料庫採用多種模式實現數據的分散存儲,將資料庫壓力分散到不同伺服器上。與集中式資料庫相比,分散式資料庫可以均衡交易負載,並採用高並發的架構提升系統的交易處理能力,而其統一的資源管理機制也使得資料庫的性能擴展不再是設備的替換式升級,而是通過增加存儲或計算節點來實現彈性升級,極大地節約了升級成本。

目前,分散式事務資料庫在互聯網應用場景下的探索取得了良好的成效和大量的實戰經驗,積累了很多成熟的技術應用經驗。但由於金融行業對風險的高要求,以及在交易複雜度、業務實時一致性等方面要求不同於互聯網企業,商業銀行對資料庫的遷移和轉型必須非常謹慎,要充分論證技術方案,制定相關的技術標準和評測體系來促進向分散式資料庫的穩步轉型。

一、評測體系建設的必要性

相比於傳統資料庫架構,分散式事務資料庫架構更加複雜,組成部件更多。通常,分散式事務資料庫可分為中間件層、數據存儲層和控制調度層。中間件層負責將數據按既定規則分發到多個數據存儲節點上,並保證跨存儲節點分散式事務的一致性;數據存儲層用於數據的實際存儲,執行原子SQL操作和本地事務控制;控制調度層主要負責數據導入導出,備份恢復功能,以及對資料庫集群的統一維護和管理。分散式事務資料庫架構如圖1所示。

在這樣的架構下,對於OLTP的場景,分散式事務資料庫進行一次事務操作比傳統資料庫要複雜得多,需要面臨諸多挑戰。

1.事務ACID特性

ACID是事務的四個基本特性,包含原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability),也是關係型資料庫的核心。商業銀行信息系統處理的每一筆交易都必須具有ACID特性,才能保證交易處理的正確性。ACID特性伴隨關係型資料庫產生,在傳統資料庫一體化解決方案中非常成熟、穩定,但在分散式事務資料庫中,由於數據分布在不同的存儲節點,跨節點的ACID都需要引入新的理念、架構和演算法才能得以實現。目前各產品均有各自不同的實現方案,缺少行業性評測規則。

2.高可用性

分散式事務資料庫一般採用x86伺服器進行組建,其硬體故障率遠高於商業銀行採購的高端伺服器。為保證高可用,通常採用雙機主備或冗餘多數據副本的設計模式。當遇到硬體故障、網路故障時,備機或者數據副本的接管能力自然成為了重要的待測指標。

3.透明性原則

在數據分片中,通常利用Hash、Range等演算法對全量數據進行拆分,使之存儲於不同的數據存儲節點,進而達到均衡的數據負載。而對於訪問資料庫的應用,分散式事務資料庫應該能夠屏蔽此種分片規則,讓使用者好像面對一個單一資料庫。因此需要評測中間件層是否可以按照多個維度進行數據定址,避免將分片規則引入到應用層,降低應用開發的複雜度。

4.多副本數據同步演算法

為保證高可用和數據安全,分散式事務資料庫通常採用冗餘多副本的存儲策略,如何做到副本之間數據的一致性,成為行業內研究的重點內容。近幾年,業內產生了很多用以實現副本一致性的演算法,例如Paxos、Raft等,多個資料庫產品對一致性演算法展開了工程實現。但這些新興的演算法還未能在工程實踐中接受大規模、長時間的檢驗,因此進行同步演算法性能的相關評測非常有必要。

5.產品化程度

傳統資料庫軟體經過幾十年的發展,產品化程度非常高,周邊可對接的服務應用也非常豐富。而分散式事務資料庫發展時間較短,在完整產業鏈的構建、產品整體化提升上還有很多工作要做。

此外,要實現分散式事務資料庫在商業銀行的應用,除了以上談到的硬性指標之外,還要求能夠提供例如監控、數據遷移等附加功能。

從技術發展的生命周期來看,分散式事務資料庫還處於成長階段,產品本身還需不斷演進,有待工程實踐的檢驗;而從架構上看,其工程實現難度非常高,需要面臨許多技術挑戰,是否具備從理論走向現實的條件還需驗證。綜合以上兩點,我們認為建設一套完備、針對性強的評測體系,用以檢驗遷移分散式事務資料庫的可行性十分有必要。

二、分散式事務資料庫評測體系結構

北京銀行建立評測體系有兩個目標:一是實現對分散式事務資料庫的全面評測,從多角度建立、健全指標項,再逐一對指標項進行驗證,得到評測結果。二是驗證資料庫遷移本地化可行性,提出「標準化交易」概念,我們將生產實際運行的典型交易遷移到開放式平台,用典型交易對分散式事務資料庫進行測試,測試指標包括TPS、QPS和響應時間等性能指標。同時,利用「標準化交易」進行多場景組合,再對第一步提出的評測指標進行回測驗證。

1.構建分散式事務資料庫評測指標

在當前資料庫主流評測指標的基礎上,結合商業銀行關注要點,北京銀行自主提出了一套「分散式事務資料庫評測指標」,包含六大項評測指標、二十一項細分功能指標。六大項包括演算法性能指標、可靠性指標、安全備份能力、個性化功能、資料庫支持能力和兼容性指標,如圖2所示。通過細分功能指標,使得評測標準更加具體化,評測結果更加客觀化。

2.提出標準化交易概念

在評測過程初期,我們對測試工具進行了調研,選取已有開源工具對分散式事務資料庫進行OLTP性能測試,開源多線程測試工具Sysbench可以用於檢測TPS、QPS和響應時間等性能指標。但隨著對工具的實際應用和深入研究,我們發現Sysbench對OLTP的性能測試存在較大的局限性,其測試腳本以及SQL編排方案與金融行業實際的應用場景存在較大差異,例如,Sysbench中一個事務只操作、訪問一張表,邏輯過於簡單,而在真實的銀行交易中,通常要操作、訪問數十張表。也正因為其邏輯過於簡單,很難進行二次開發來滿足對評測指標的回測。

在這種情況下,為保證本地化評測的有效性,需要建立能夠匹配商業銀行交易複雜度、應用場景的評測工具——標準化交易。其建立過程為:對銀行現有系統運行中的交易進行分析之後,按照發生頻度、使用範圍選取一組典型的交易場景,利用開源資料庫連接池和JDBC框架,把這些交易從封閉系統遷移到開放平台,形成「標準化交易」。針對不同銀行的特點,可以按照實際場景,對資料庫進行相同數據規模、相同交易邏輯、相同粒度的訪問、操作,通過標準化交易的執行數據對比新老平台的差異。如圖3所示,選取交易發生量較大的轉賬場景作為一個標準化交易。

為了避免測試場景的單一化、模式化、常規化,對標準化交易評測從三個維度進行豐富和擴充,以標準化交易中的轉賬場景為例:

(1)分散式事務資料庫能否應用在OLTP場景上,其核心就是能否支持ACID特性。為此對標準化交易轉賬模型進行場景設定,按斷點劃分,如圖3中斷點A、斷點B和斷點C可按評測需求在斷點處設置不同處理結果,即控制Commit和Rollback操作,用以檢驗原子性、一致性和持久性,利用多線程中的標準化交易及不同斷點的處理結果設定,檢驗隔離性級別。

(2)建立多隻標準化交易組成標準化交易組,進行按比例混合測試,例如轉賬、建立客戶、餘額查詢三隻標準化交易按3∶2∶5進行混合測試,具體比例建議按照現有生產系統交易比例進行配置。通過這種方式,極大程度地還原了實際應用場景,使得本地化評測更加真實、有效。

(3)利用標準化交易對提出的二十項評測指標中部分指標進行回測。標準化交易高度還原了現有系統交易功能,利用標準化交易以及更加貼近生產環境的混合場景對指標中部分指標進行回測,保證評測結果的準確性。

三、結語

分散式事務資料庫作為未來金融行業技術更新的集中發力點,已逐漸成為各方重點發展的方向。未來,相信會有更多的金融機構將採用分散式事務資料庫的架構設計進行建設布局,這也必將加快整體產業結構的發展,所以與此相對應的標準化評測手段變得必不可少,只有經過完善的評測才能保證分散式事務資料庫與金融行業信息系統的全面匹配。

隨著金融產品的多樣化發展,金融企業現有應用規模非常龐大,在這種情況下,進行分散式事務資料庫的落地可行性分析及性能評測,全面的評測指標、標準化交易概念的引入及本地化多場景驗證,是我們認為合理且行之有效的手段。抽象出的標準化交易及多場景混合搭配,具備了測試案例的多樣性,進而保障了資料庫遷移工作的順利進行。在性能評測上,選用標準化交易,在同等數據規模、同樣的應用邏輯基礎上進行測試,結果更為真實準確。

北京銀行在完成對分散式事務資料庫相關產品特性調研後,就把工作重點轉移到了對它的評測體系建設中。本文提到的評測體系,源於分散式事務資料庫實際的建設過程。通過這套評測體系的指引,北京銀行使用六台PC伺服器完成了多個分散式事務資料庫產品的評測工作。第一輪評測我們採用標準化交易及多場景混合搭配得到了TPS、QPS和響應時間等主要性能指標;第二輪通過標準化交易和模擬場景,對我們提出的分散式事務資料庫21項指標逐一進行了評測。在一些關鍵指標上,此套評測體系有效地反映出不同產品的特性及優劣勢,為未來的分散式事務資料庫遷移工作打下了堅實的基礎。

北京銀行在分散式事務資料庫的建設過程中,立足於經典資料庫理論,發展了分散式事務資料庫的評測指標,從多個維度檢驗了資料庫產品。在本地化策略上,提出了標準化交易及多場景結合的實踐思路,保證了未來資料庫遷移的安全性和可靠性。希望此套評價體系可以為更多的金融機構提供一種新思路,其他同業機構也可以用標準化的流程進行分散式事務資料庫評測。藉此北京銀行願與各同業機構攜手並進,為推動資料庫產業升級貢獻自己的一份力量!

《中國金融電腦》2018年第 1 期

25

歡迎訂閱

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

證件照不求人,還跑什麼照相館花冤枉錢!

TAG:全球大搜羅 |