歡迎光臨
每天分享高質量文章

開源分散式資料庫能否支撐銀行海量非結構化資料應用?

隨著銀行業務的拓展以及網點業務的需求量加大,在新一輪技術浪潮驅動下,各大商業銀行也在紛紛推進智慧網點的建設。其中,商業銀行的櫃面無紙化就是最先推進的業務之一。

銀行智慧化業務轉型

包括廣發銀行、民生銀行在內的大型商業銀行,已經於近幾年陸續上線櫃面無紙化業務,並開始在全國網點進行推廣使用。今後,隨著櫃面無紙化、“一站式”綜合店員、人工智慧等系統的陸續應用,各大商業銀行也將全面實現網點智慧化轉型建設。

“無紙化”業務作為商業銀行的新一代應用業務,對於資料管理帶來了新的挑戰。針對銀行在新一代櫃面無紙化業務上的痛點需求,巨杉資料庫在保證穩定安全的基礎上,利用其所支援的非結構化儲存、結構化事務、可彈性擴張、高可用、以及多資料中心災備等能力,全面支援廣發、民生銀行的櫃面無紙化業務,為業務帶來巨大提升。

金融級分散式資料庫助力大型商業銀行

巨杉資料庫(SequoiaDB)為底層資料引擎的分散式非結構化資料管理平臺,已經在包括民生銀行、廣發銀行在內的超過 50 家大型銀行業務應用。在某大型股份制商業銀行業務系統中,巨杉資料庫總叢集部署節點數達到 122 臺物理伺服器,部署邏輯節點 1530 個,平臺服務銀行網點數超過 840 個,效能響應在毫秒級別,資料實現了同城資料中心災備和雙活。

大型商業銀行,平均有超過 300~400 個業務系統,每一個業務系統既有完整技術棧,又和不同的業務之間存在許多的相互依賴和相關的關係,業務和技術複雜度遠超其他行業。此外,銀行對於平臺可靠性要求最為嚴苛,核心資料需保證 0 丟失、0 錯誤率,核心業務系統也有“5 個 9”以上的穩定性要求。這些要求給後臺資料庫帶來了極大的要求,因此業界也戲稱銀行是企業級資料庫的“試金石”。

巨杉資料庫分散式雙活部署整體示意圖

1)非結構化資料儲存

作為一款分散式的交易型資料庫,SequoiaDB 資料庫提供了同時儲存結構和和非結構化引擎的機制,非結構化資料的儲存在引擎中主要是以 LOB 形式來實現的。SequoiaDB 3.0 在物件儲存 API 的基礎之上提供了標準 Posix 檔案系統介面,能夠原生接入任何支援 Posix 協議標準的作業系統,使用者對應用程式無需任何改造即可從 NAS 遷移至 SequoiaDB。

在巨杉資料庫中,LOB 大物件儲存引擎可將各種尺寸的非結構化檔案切分成小儲存塊,按雜湊對映存放於叢集的多個資料組,實現檔案的高效併發存取,對外提供物件標識進行檔案訪問。

在巨杉資料庫中,LOB 儲存結構分為元資料檔案(lobm)與資料檔案(lobd)。其中,元資料檔案儲存整個 LOB 資料檔案的元資料模型,包括每個頁的空閑狀況、雜湊桶、以及資料對映表等一系列資料結構。而資料檔案則儲存使用者真實資料,資料頭之後所有資料頁按照頁面大小進行切分,每個資料頁不包含任何元資料資訊。

LOB 儲存結構

與結構化資料的記錄引擎完全不同,巨杉資料庫的非結構化儲存提供了原生的物件檔案塊儲存機制,同時適用於影像類大檔案與票據類小檔案。在巨杉資料庫對小檔案儲存與檢索的過程當中,每個資料塊均使用雜湊演演算法判斷其所處的物理位置,因此不會進行任何物理查表操作,資料庫也不需要維護每個物件檔案的物理位置表,因此不論從安全性、吞吐量、以及響應速度都遠遠高於其他同類物件儲存。

2)多活與災備

巨杉資料庫的原生分散式架構,一方面提供了引擎級別的內部資料多副本和高可用以及基於 Raft 演演算法的資料一致性的保證。同時,在跨資料中心層面,可以做到分散式叢集為單位的容災和多活機制,在滿足資料安全要求下減少了資料安全方面的部署和運維難度。

從多活架構的角度看,巨杉資料庫都秉承著計算儲存分離的設計思路,因此其 SQL 解析與執行器往往與資料儲存和事務控制分別執行在不同的行程中。在這種情況下,利用資料庫自身分散式與三副本複製的特性,將資料打散放置在多個資料中心內,每個資料中心配置本地 SQL 服務節點,從應用程式的角度看不需要關註底層資料庫的主從架構,僅需要透過 JDBC 連線到本地的 SQL 服務節點進行讀寫操作即可。在這種架構下,每個 SQL 節點完全對等,並均可以處理讀寫操作。所有的事務控制、一致性控制、鎖等待等機制都由底層的分散式資料庫直接提供。

以兩地三中心為例,在該架構中,城市 A 機房 1 作為主機房,提供與同城的機房 2 之間的同步資料複製。而對於城市 B 的機房來說,在頻寬足夠的情況下可以選擇使用同步機制與城市A的機房進行資料複製。而在頻寬不足時則可以選擇非同步的複製方式。

同時,巨杉也支援異地災備機房的定期追加更新。使用者可以透過定義異地災備機房的同步策略,使災備機房定期進行日誌檔案的同步,以做到災備機房與主機房的資料擁有一定的時間差異,避免手工誤操作。

多活與災備

3)高效能實時效能響應

透過分散式架構,多維資料分割槽,高效能索引,以及資料壓縮等機制,影像平臺無論非結構化資料還是結構化資料在大資料量下依舊保持效能的平滑擴充套件,實時響應。在效能測試對比中,對比巨杉資料庫,傳統 NAS 方案想要達到同樣吞吐量至少需要 3 倍以上的磁碟數量。

以下是巨杉資料庫在實際測試環境中,對於非結構化資料管理這塊的測試資料:

◈ 2GB/s 的整體吞吐量,分散式架構

◈ 6 節點 x86 伺服器、整個叢集共 36 塊 SAS 盤
◈ 傳統方案,高階配置:5GB/s 120 塊盤以上

100% 寫入場景:

< 如顯示不全,請左右滑動 >

吞吐量(MB/秒)

50KB

200KB

1MB

10MB

整個叢集(6 節點)

353.3

1232.8

2223.3

2077.5

平均單物理節點

58.9

205.5

370.5

346.3

資料寫入平均時延(ms)

14

16

44

466

100% 讀取場景:

< 如顯示不全,請左右滑動 >

吞吐量(MB/秒)

50KB

200KB

1MB

10MB

整個叢集(6節點)

352.9

1225.1

2410.9

2653.3

平均單物理節點

58.8

204.2

401.8

442.2

資料寫入平均時延(ms)

14

16

41

369

混合業務場景:

< 如顯示不全,請左右滑動 >

吞吐量(MB/秒)

50KB

200KB

1MB

10MB

整個叢集(6節點)

363.7

1266.0

1872.8

2323.8

平均單物理節點

60.6

211.0

312.1

387.3

資料寫入平均時延(ms)

寫:14

讀:16

寫:14

讀:15

寫:35

讀:106

寫:293

讀:749

民生銀行

民生銀行是中國第一家主要由民營企業發起設立的全國性股份制商業銀行,截至 2017 年末,中國民生銀行已經成為資產總額 59,020.86 億元,一級資本凈額超過3800 億元、資產總額超過 5.9 萬億元、分支機構近 3000 家、員工近 5.8 萬人的大型商業銀行。在英國《銀行家》雜誌 2017 年 7 月釋出的全球 1000 家大銀行排名中,中國民生銀行位居第 29 位。民生銀行堅持“民營企業的銀行、科技金融的銀行、綜合服務的銀行”的戰略定位,銳意變革創新,加速戰略轉型,致力於成為一家特色鮮明、價值成長、持續創新的標桿性銀行。(摘自民生銀行官網)

廣發銀行

廣發銀行是國內首批組建的股份制商業銀行之一。目前在全國設立了 43 家一級分行、843 家營業機構,並與全球125個國家和地區的 1,718 家銀行總部及其分支機構建立了代理行關係,為超過 30 萬對公客戶、3,422 萬個人客戶、5,711 萬張信用卡客戶、2,427 萬移動金融客戶提供優質、全面的金融服務。廣發銀行在移動金融創新領域一直走在行業前列,強力推動智慧化銀行發展,持續推動移動金融創新,在升級普惠金融、助力物體經濟等方面取得了豐富成果。(摘自廣發銀行官網)

小結

目前,巨杉資料庫已經在目前,巨杉資料庫付費企業級客戶與社群使用者總數超過 1000 家,並已在超過 50 家 500 強級別的銀行、保險、證券等大型金融機構生產業務上線。

對於非結構化資料管理,巨杉資料庫在金融行業的應用場景包括:金融行業新一代影像平臺、內容管理雲平臺、傳統 ECM 替換、計算機視覺與人工智慧、金融雙錄系統以及電子證照等數十個個業務場景。

    贊(0)

    分享創造快樂