巨杉資料庫目前已經在超過50家大型商業銀行核心業務上線使用,本文為銀行金融科技轉型應用系列文章第一篇,此後巨杉還將陸續推出銀行業應用和科技創新文章,大家敬請期待。 ...
巨杉資料庫目前已經在超過50家大型商業銀行核心業務上線使用,本文為銀行金融科技轉型應用系列文章第一篇,此後巨杉還將陸續推出銀行業應用和科技創新文章,大家敬請期待。
隨著銀行業務的拓展以及網點業務的需求量加大,在新一輪技術浪潮驅動下,各大商業銀行也在紛紛推進智能網點的建設。其中,商業銀行的櫃面無紙化就是最先推進的業務之一。
包括廣發銀行、民生銀行在內的大型商業銀行,已經於近幾年陸續上線櫃面無紙化業務,並開始在全國網點進行推廣使用。今後,隨著櫃面無紙化、“一站式”綜合店員、人工智慧等系統的陸續應用,各大商業銀行也將全面實現網點智能化轉型建設。
大型商業銀行,平均有超過300~400個業務系統,每一個業務系統既有完整技術棧,又和不同的業務之間存在許多的相互依賴和相關的關係,業務和技術複雜度遠超其他行業。此外,銀行對於平臺可靠性要求最為嚴苛,核心數據需保證0丟失、0錯誤率,核心業務系統也有“5個9”以上的穩定性要求。這些要求給後臺資料庫帶來了極大的要求,因此業界也戲稱銀行是企業級資料庫的“試金石”。
“無紙化”業務作為商業銀行的新一代應用業務,對於數據管理帶來了新的挑戰。針對銀行在新一代櫃面無紙化業務上的痛點需求,巨杉資料庫在保證穩定安全的基礎上,利用其所支持的非結構化存儲、結構化事務、可彈性擴張、高可用、以及多數據中心災備等能力,全面支持廣發、民生銀行的櫃面無紙化業務,為業務帶來巨大提升。
巨杉資料庫分散式雙活部署整體示意圖
巨杉資料庫為底層數據引擎的分散式非結構化數據管理平臺,已經在包括民生銀行、廣發銀行在內的超過50家大型銀行業務應用。在某大型股份制商業銀行業務系統中,巨杉資料庫總集群部署節點數達到122台物理伺服器,部署邏輯節點1530個,平臺服務銀行網點數超過840個 ,性能響應在毫秒級別,數據實現了同城數據中心災備和雙活。
1)非結構化數據存儲
作為一款分散式的交易型資料庫,SequoiaDB資料庫提供了同時存儲結構和和非結構化引擎的機制,非結構化數據的存儲在引擎中主要是以 LOB形式來實現的。SequoiaDB 3.0在對象存儲API的基礎之上提供了標準Posix文件系統介面,能夠原生接入任何支持Posix協議標準的操作系統,用戶對應用程式無需任何改造即可從NAS遷移至SequoiaDB。
在巨杉資料庫中,LOB大對象存儲引擎可將各種尺寸的非結構化文件切分成小存儲塊,按散列映射存放於集群的多個數據組,實現文件的高效併發存取,對外提供對象標識進行文件訪問。
在巨杉資料庫中,LOB存儲結構分為元數據文件(lobm)與數據文件(lobd)。其中,元數據文件存儲整個LOB數據文件的元數據模型,包括每個頁的空閑狀況、散列桶、以及數據映射表等一系列數據結構。而數據文件則存儲用戶真實數據,數據頭之後所有數據頁按照page size進行切分,每個數據頁不包含任何元數據信息。
與結構化數據的記錄引擎完全不同,巨杉資料庫的非結構化存儲提供了原生的對象文件塊存儲機制,同時適用於影像類大文件與票據類小文件。在巨杉資料庫對小文件存儲與檢索的過程當中,每個數據塊均使用散列演算法判斷其所處的物理位置,因此不會進行任何物理查表操作,資料庫也不需要維護每個對象文件的物理位置表,因此不論從安全性、吞吐量、以及響應速度都遠遠高於其他同類對象存儲。
2)多活與災備
巨杉資料庫的原生分散式架構,一方面提供了引擎級別的內部數據多副本和高可用以及基於Raft演算法的數據一致性的保證。同時,在跨數據中心層面,可以做到分散式集群為單位的容災和多活機制,在滿足數據安全要求下減少了數據安全方面的部署和運維難度。
從多活架構的角度看,巨杉資料庫都秉承著計算存儲分離的設計思路,因此其SQL解析與執行器往往與數據存儲和事務控制分別運行在不同的進程中。在這種情況下,利用資料庫自身分散式與三副本複製的特性,將數據打散放置在多個數據中心內,每個數據中心配置本地SQL服務節點,從應用程式的角度看不需要關註底層資料庫的主從架構,僅需要通過JDBC連接到本地的SQL服務節點進行讀寫操作即可。在這種架構下,每個SQL節點完全對等,並均可以處理讀寫操作。所有的事務控制、一致性控制、鎖等待等機制都由底層的分散式資料庫直接提供。
以兩地三中心為例,在該架構中,城市A機房1作為主機房,提供與同城的機房2之間的同步數據複製。而對於城市B的機房來說,在帶寬足夠的情況下可以選擇使用同步機制與城市A的機房進行數據複製。而在帶寬不足時則可以選擇非同步的複製方式。
同時,巨杉也支持異地災備機房的定期追加更新。用戶可以通過定義異地災備機房的同步策略,使災備機房定期進行日誌文件的同步,以做到災備機房與主機房的數據擁有一定的時間差異,避免手工誤操作。
3)高性能實時性能響應
通過分散式架構,多維數據分區,高性能索引,以及數據壓縮等機制,影像平臺無論非結構化數據還是結構化數據在大數據量下依舊保持性能的平滑擴展,實時響應。在性能測試對比中,對比巨杉資料庫,傳統NAS方案想要達到同樣吞吐量至少需要3倍以上的磁碟數量。
以下是巨杉資料庫在實際測試環境中,對於非結構化數據管理這塊的測試數據:
- 2GB/s的整體吞吐量,分散式架構
- 6節點x86伺服器、整個集群共36塊SAS盤
- 傳統方案,高端配置:1.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替換、電腦視覺與人工智慧、金融雙錄系統以及電子證照等數十個個業務場景。
原文鏈接:http://blog.sequoiadb.com/cn/Detail-id-76