理財

分散式事務資料庫系統評估體系

導讀

總結了分散式事務資料庫系統的定義和特點,並在評估了分散式事務資料庫的現有測試基準之後,提出了一種新的分散式事務資料庫系統評估框架和測試方法。本文為世界上分散式事務資料庫的測試和選擇提供了新的指導。

一、引言

電子商務的時代已經到來,如今網際網路金融和移動網際網路使支付習慣從現金支付轉移到移動支付,這導致了大量的實時使用者、資料和併發的業務場景,這些業務場景需要事務資料庫來支援其正確性和效能。據統計,淘寶的“雙十一”營業額在8年內增加了3000倍,即從2009年的5200萬元增加到2017年的1662億元。然而,在2011—2014年“雙十一”的過程中,16家上市銀行中有8家出現了擁堵。傳統資料庫在移動支付等新業務場景中受到了很大的限制。

目前,金融銀行等大型企業大多采用集中式交易資料庫架構。該架構採用向上擴充套件模式,即通過提高單機的硬體效能來增加處理能力的上限。然而,隨著摩爾定律的逐漸失效,這種模式開始暴露出其效能瓶頸。由於成本和效能原因,大多數新興網際網路企業開始探索分散式事務資料庫架構之路。多年的實踐經驗證明了分散式事務資料庫體系結構可以支援大規模、高併發的業務場景。以支付寶為例,2013年全部拆除了IBM小型機和EMC儲存裝置,並於2014年開發了一個新的分散式資料庫來取代Oracle資料庫:Oceanbase和x86伺服器架構成功通過了2015—2017年的線上業務測試。據報道,相應的硬體和軟體成本下降了約60%,而效能卻提高了數十倍。因此,分散式事務資料庫已成為新業務環境中事務資料庫的演進方向。

目前,分散式事務資料庫技術的發展還處於起步階段,因此仍存在許多問題。

(1)沒有關於分散式事務資料庫的一致定義。每家公司都根據自己的要求和理解開發自己的產品。

(2)分散式交易資料庫技術的發展仍處於孤立狀態,這意味著行業的相關成果和經驗尚未得到有效共享。

(3)分散式事務資料庫有和傳統資料庫不同的新功能,業界需要新的基準工具來衡量各種技術實現。

為了解決上述問題,本文首先研究了分散式事務資料庫的技術和產業,並給出了分散式事務資料庫的定義;同時,對各種分散式交易資料庫技術路線進行了比較研究,並對技術特點進行了比較和總結;然後,分析了當前事務資料庫測試基準的缺點,開發了分散式事務資料庫的功能和效能評估方法,涵蓋了各種技術特性;最後,對分散式事務資料庫的開發提出了一些建議。

二、分散式交易資料庫的定義

目前,業界對分散式事務資料庫沒有統一的定義。本文在總結了學術界和行業界的觀點後,將分散式事務資料庫分為3個核心屬性和6個核心能力。

(一)3個核心屬性

分散式事務資料庫的3個核心屬性:

(1)事務資料庫屬性。資料庫核心資料邏輯管理模型具有事務處理能力,符合完整的ACID(原子性、一致性、隔離性、永續性)特性要求。

(2)大規模線上交易處理能力。一個有關資料庫管理系統,可以處理大量的線上事務處理負載。

(3)分散式架構屬性。計算和儲存都可以通過多個節點有效地使用並行功能。

(二)6個核心能力

分散式事務資料庫的6個核心能力:

(1)計算和儲存可以基於諸如x86的工業標準在硬體中實現。新的分散式事務資料庫基於標準的x86行業標準硬體,但不是基於原始大型機和小型機專用硬體。這有助於控制預算並統一開發方法,從而可以在業界廣泛推廣。

(2)遵守事務資料庫的關係模型,完全滿足事務的ACID要求。分散式事務資料庫主要用於支援事務;分散式事務資料庫需要能夠完全支援ACID屬性。

(3)能夠支援高度併發的OLTP工作負載。隨著移動網際網路的快速發展,分散式事務資料庫支援的OLTP服務數量將呈指數級增長。分散式事務資料庫不僅需要確保業務的正確性,還需要能夠支援高併發效能要求,以真正滿足業務開發的需求。

(4)支援標準SQL(標準查詢語言)資料操作。目前,大多數資料庫服務都是用SQL語言編寫的,如果分散式事務資料庫不能支援完整的標準SQL,那麼業務將面臨大規模的轉型,這對資料庫應用程式來說是不能容忍的。因此,在分散式事務資料庫中支援標準SQL的能力是資料庫分散式轉換的前提。

(5)自動故障自我修復和切換的高可用性保證。在分發事務資料庫之後,每個節點共享計算和儲存的壓力。此時,如果單個節點發生故障,資料庫系統需要快速執行切換過程以確保業務的連續性。

(6)支援跨資料中心級別的橫向擴充套件能力。由於事務業務規模的不斷增長,分散式事務資料庫將提出越來越高的效能要求。由於分散式主要依賴於橫向擴充套件能力來提高處理效能,分散式事務資料庫需要在資料中心層面的橫向擴充套件能力,以滿足未來業務增長的交易處理需求。

三、當前分散式交易資料庫的分析

由於分散式事務資料庫仍處於開發的早期階段,並且每個資料庫產品都是根據自己的業務實踐逐步開發的,因此形成了不同的技術路線和理論框架。資料庫理論家提出了一種新的資料管理模型,試圖從根本上解決相關問題。然而,資料庫行業試圖通過各種工程研究和開發方法的實踐在資料庫設計架構中找到突破。結合近10年來分散式事務資料庫領域的學術和工業成果,可以梳理出幾種分散式事務資料庫的發展方向(見表1)。

表1 幾種分散式事務資料庫技術特點

(1)基於單一事務關係資料庫的業務分散式事務轉換方案

該方案可以有效地利用原始單一計算機事務處理資料庫的成熟優勢,通過在應用層中建立資料分片和資料路由規則,建立複合分散式事務資料庫體系結構。

此體系結構要求DBA(資料庫管理員)手動控制應用程式流量的分發和管理。因此,對業務層的入侵更為嚴重,但可以緩解集中式資料庫缺乏儲存和計算能力的缺點。

(2)基於單個事務資料庫的分散式管理元件的解決方案

通過改進單個事務資料庫引擎層的原始體系結構,使用獨立的分散式控制邏輯單元來實現自動路由策略;通過匹配理論和一致性演算法,解決分散式事務資料庫的一致性問題。該方法主要分為嵌入式中介軟體模式和獨立中介軟體模式兩種解決方案。

●嵌入式中介軟體使用DAL(資料訪問層)來管理資料碎片規則和路由策略。這裡的DAL不是一個獨立的中介軟體,而是嵌入在業務方面的中間層模式,通常以Jar包的形式提供給應用程式系統以進行呼叫。

●獨立中介軟體通過代理伺服器機制管理資料碎片規則和路由策略。獨立中介軟體通常是一個獨立的邏輯和物理處理系統架構,與業務層和資料儲存和計算層隔離,側重於資料分發管理功能。

(3)新的分散式資料庫理論和工程實現架構

這種資料庫通常由資料庫驅動、計算節點叢集、資料節點叢集和全域性管理節點4部分組成。多個數據副本以自定義或自動優化的策略儲存在資料叢集的多個節點上。資料節點不共享資料,並且通過自動一致性演算法實現副本之間的同步。計算節點負責分散式查詢處理和全域性事務控制。全域性管理節點是實現分散式事務的一致性以及維護子表的分割槽和拓撲的必要元件。節點通過高速網際網路絡相互通訊,從而完成對應用資料請求的快速處理和響應。

四、當前交易資料庫基準的分析

事務資料庫在漫長的開發過程中積累了大量的測試經驗。許多組織和個人依靠這種測試經驗來建立通用的測試工具和基準來驗證事務資料庫的功能和效能。業界常用的事務資料庫測試工具包括Sysbench、TPC-C、Mysqlslap、TCPCopy。

(1)Sysbench

Sysbench是一個開源多執行緒效能測試工具,可在CPU、記憶體、執行緒、IO、資料庫等領域執行效能測試。該資料庫目前支援MySQL/Oracle/PostgreSQL。這是一種非常受歡迎的DBA壓力測試工具。但是,缺乏場景支援,只能用於測試常見的資源效能限制。

(2)TPC-C

TPC-C由TPC Institute開發,用於測試典型複雜OLTP系統的效能。TPC由5個處理邏輯組成。是一種接近電子商務平臺業務的壓力測量工具。是目前測試事務資料庫中最常用的基準工具。其執行邏輯包括新訂單、付款、訂單狀態、交貨、庫存級別。但是,TPCC不能完全反映分散式事務資料庫的能力,因為它的資料生成速度慢,單一業務場景,以及缺乏分散式特徵來衡量維度等。

(3)Mysqlslap

Mysqlslap是一個官方壓力測試工具,自第5.1.4版開始提供。壓力測試是通過模擬訪問MySQL的多個併發客戶端來執行的,同時提供更詳細的資料效能報告,可用於比較同一環境中多個儲存引擎的併發壓力效能。但是,Mysqlslap仍然缺乏用於度量維度的分散式功能,並且場景單一。同時,與MySQL類的非資料庫不相容。

(4)TCPCopy

TCPCopy是TCP流量的實時複製工具,版本1.0由NetEase engineer @ tcpcopy開發和維護,通常用於將生產環境的線上流量實時複製到測試環境以進行測試。優點是測試資料接近實際水平並且實施起來相對簡單。但是,配置複雜,涉及線上環境,因此風險很高。

一般而言,工業中常用的當前測試方案和工具不能直接應用於分散式事務資料庫。基於當前通用測試工具的優點,業界需要補充分散式特性,開發適用於分散式事務資料庫的功能和效能評估方法和工具。

五、分散式交易資料庫的功能評估方法

分散式事務資料庫的計算和儲存模式不同於傳統的集中式事務資料庫。因此,傳統的集中式事務資料庫評估方法不能直接應用於分散式事務資料庫。

根據分散式事務資料庫的特點,從6個維度提出了分散式事務資料庫的功能測試方法,從而全方位地測量分散式事務資料庫的能力,為分散式事務資料庫的開發和應用提供了指導。

(1)基本功能

分散式事務資料庫應能夠具備傳統集中式事務資料庫的基本功能。在分散式轉換之後,可以最大限度地簡化業務系統和人員的適應工作,並且可以保證資料庫現有業務的正常執行。同時,分散式事務資料庫需要能夠反映基本的分散式功能,這為效能擴充套件、運營和維護等新架構做好了準備。基本功能指標包括:

●支援常見的資料型別、運算子、字符集、函式、SQL語法等功能;資料分片、分割槽、分散式事務,隔離級別設定的能力。

●支援資料碎片,分割槽操作,分散式事務,隔離級別設定的能力。

●執行計劃,表分割槽和索引的能力。

(2)相容性

表示分散式事務資料庫與現有業務系統和通用資料庫硬體和軟體工具連線的能力。此類指標衡量分散式事務資料庫實施後對現有業務生態系統的影響程度。相容性指標主要包括:

●支援ODBC、JDBC和其他常見連線。

●資料型別的隱式轉換。

●傳統資料庫中異構資料的總遷移。

●能夠使用其他資料庫進行遠端連線操作。

●x86等通用硬體的支援能力。

(3)管理

完整友好的管理能力可以為分散式事務資料庫的操作和維護提供有效支援。這有助於資料庫DBA、資料庫業務負責人和相關應用程式支援團隊擁有更好的資料庫管理和控制功能。管理能力的具體指標包括:

●易於使用的安裝部署、配置管理和升級功能。

●分散式事務資料庫能夠對節點和資料進行實時監控和統計分析;同時,分散式事務資料庫可以以各種形式通知和報警各種資訊。

●分散式事務資料庫可以實現無死鎖或自動處理死鎖。

●分散式事務資料庫可以管理、檢視和處理常見型別的日誌。

●分散式事務資料庫可以支援線上資料庫模式定義語言和管理命令。

●分散式事務資料庫能夠管理、檢視和處理系統中的常見日誌型別。

●分散式事務資料庫可以多種形式備份和恢復資料,如時間、增量和全量。

●分散式事務資料庫可以自定義叢集內的隔離資源分組。

(4)高可用性

分散式交易資料庫是各種核心業務的基礎設施,當發生故障時可能導致大量經濟財產損失。因此,高可用性必須能夠滿足相應的要求,從而確保業務的連續性和穩定性。高可用性的具體指標包括:

●分散式事務資料庫可以在硬體事故中提供正常的資料庫服務,如停電、硬碟故障、網路閃絡、計算機房斷開等。

●分散式事務資料庫可以在主中心資料備份和同步失敗的情況下提供正常的資料庫服務。

●分散式事務資料庫可以在CPU資源過載、IO資源過載、記憶體資源過載、磁碟空間過載和其他作業系統軟體故障下提供正常的資料庫服務。

●分散式事務資料庫可以在資料庫服務失敗的情況下提供正常的資料庫服務,例如資料檔案損壞、資料節點損壞、系統表損壞等。

●分散式事務資料庫可以在應用程式連線丟失、外圍系統錯誤等情況下提供正常的資料庫服務。

(5)可擴充套件性

分散式事務資料庫必須提供線上水平擴充套件功能。需要在客戶業務擴充套件的基礎上滿足客戶業務增長的需求而沒有明顯的意識,從而解決現有集中式事務資料庫系統的磁碟容量和計算效能的瓶頸。具體擴容包括:

●讀取和寫入服務的計算資源可以在叢集中的節點之間自動平衡。

●可以根據業務方的定製要求平衡儲存的資料。

●叢集可以實現線上擴充套件操作,而不會影響業務的正常執行。

●可以配置叢集以實現線上容量減少,從而實現資源的合理規劃和利用。

(6)安全性

為了使公司業務遠離法律和業務風險,分散式事務資料庫需要完整的安全功能。例如,防止敏感資料洩露並消除錯誤的操作行為等。安全能力的具體指標包括:

●分散式事務資料庫能夠在庫級別和表級別驗證資料操作的許可權。

●分散式事務資料庫可以驗證訪問使用者,如實施白名單和黑名單審查。

●分散式事務資料庫可以審計和跟蹤所執行的各種操作,從而定位和分析關鍵問題。

●分散式事務資料庫可用於流量控制,以防止由於某一突發流量引起的整個系統故障,這將影響其他服務的正常執行。

六、結束語

本文提出了分散式事務資料庫的綜合定義和特徵定義,分析了當前各種技術架構和產品特性的分散式事務資料庫,並在分析分散式事務資料庫評估方法的不足之處的基礎上,提出了分散式事務資料庫的功能和效能評估方法。該方法基於分散式特徵,從多維度測量分散式事務資料庫的特殊能力。這些工作對分散式事務資料庫的開發具有非常重要的指導意義。

未來,將以工具的形式自動化評估方法,併為分散式事務資料庫的選擇和評估提供更方便的服務。

作者簡介

馬鵬瑋:中國資訊通訊研究院雲端計算與大資料研究所大資料與區塊鏈部工程師。

聯絡方式:[email protected]

魏 凱:中國資訊通訊研究院雲端計算與大資料研究所副所長,高階工程師。

聯絡方式:[email protected]

姜春宇:中國資訊通訊研究院雲端計算與大資料研究所大資料與區塊鏈部副主任。

聯絡方式:[email protected]

李俊逸:中國資訊通訊研究院雲端計算與大資料研究所大資料與區塊鏈部工程師.

聯絡方式:[email protected]

本文刊於《資訊通訊技術與政策》2019年第5期

《資訊通訊技術與政策》

由工業和資訊化部主管、中國資訊通訊研究院於1975年主辦的《電信網技術》(月刊)自2018年3月正式更名為《資訊通訊技術與政策》。《資訊通訊技術與政策》刊載內容在覆蓋傳統電信領域的基礎上向資訊、通訊和ICT領域延伸。本刊物重點解讀行業政策、標準,報道國家重大科研專案成果及業內最新最熱產品與技術解決方案。

主要欄目:專題、專家論壇、產業與政策、發展策略、泰爾檢測、產品與技術方案。

投稿郵箱:[email protected]

校 審 | 陳 力、 珊 珊

編 輯 | 凌 霄

推薦閱讀

人工智慧在資料治理中的應用

工業網際網路中時序資料處理面臨的新挑戰

Reference:理財生活通

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題