1. 程式人生 > >分布式數據庫如何助力bc現-金盤源碼開發銀行櫃面無紙化業務

分布式數據庫如何助力bc現-金盤源碼開發銀行櫃面無紙化業務

一個 來講 也有 dsl 基礎 開發 新的 今後 需要

隨著銀行bc現-金盤源碼開發 dsluntan.com Q:3393756370 VX:17061863513業務的不斷拓展,以及網點業務的需求量逐漸加大,在新的一輪技術浪潮驅動下,各大商業銀行也紛紛開始推進智能網點的建設。其中,商業銀行的“櫃面無紙化”就是最先推進的業務之一。

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

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

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

?巨杉數據庫分布式雙活部署整體示意圖

非結構化數據存儲

作為一款分布式的交易型數據庫,SequoiaDB數據庫提供了同時存儲結構化數據和非結構化數據的機制,非結構化數據的存儲在引擎中主要是以 LOB形式來實現的。SequoiaDB 3.0在對象存儲API的基礎之上提供了標準Posix文件系統接口,能夠原生接入任何支持Posix協議標準的操作系統,用戶無需對應用程序進行任何改造,即可從NAS遷移至SequoiaDB。

在巨杉數據庫中,LOB大對象存儲引擎可將各種尺寸的非結構化文件切分成小存儲塊,按散列映射存放於集群的多個數據組,實現文件的高效並發存取,對外提供對象標識進行文件訪問。

在巨杉數據庫中,LOB存儲結構分為元數據文件(lobm)與數據文件(lobd)。其中,元數據文件存儲整個LOB數據文件的元數據模型,包括每個頁的空閑狀況、散列桶、以及數據映射表等一系列數據結構。而數據文件則存儲用戶真實數據,數據頭之後所有數據頁按照page size進行切分,每個數據頁不包含任何元數據信息。

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

多活與災備

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

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

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

同時,巨杉也支持異地災備機房的定期追加更新。用戶可以通過定義異地災備機房的同步策略,讓災備機房定期進行日誌文件的同步,從而使得災備機房與主機房的數據擁有一定的時間差異,避免手工誤操作。

分布式數據庫如何助力bc現-金盤源碼開發銀行櫃面無紙化業務