巨杉資料庫王濤 如何打造金融級資料庫

2022-09-02 18:12:09 字數 4244 閱讀 5576

以銀行為首的金融行業佔據了50%以上的企業級it投入,接著才是**、運營商等行業。一般來說,一家銀行通常擁有超過百種以上的業務系統,而且歷經幾十年的法律和業務規則的演進。因此,業界公認銀行在選擇技術產品過程中,對於安全性、可靠性、複雜度等企業級功能要求最為嚴苛。

銀行作為企業級軟體應用的標桿行業,被其採用的產品達到了金融級產品的最高標準,自然更能夠滿足其他行業的要求。

1、銀行使用者對於產品的選擇非常嚴苛,為什麼這麼多銀行會選擇巨杉資料庫呢?

這得益於巨杉的企業級基礎軟體基因。巨杉的研發技術以ibm db2資料庫和華為分布式技術團隊為班底,是中國最好的「原廠」資料庫產品團隊。

巨杉資料庫經過6年從1.0到3.0的不斷迭代創新,歷經了大中型銀行核心生產系統的嚴格驗證和洗禮,厚積薄發,才成為被銀行金融業界所信任的金融級資料庫產品。

2、資料庫產品的發展曲線和生命週期都比較長,這是什麼原因呢?巨杉對於此的觀點怎麼樣的呢?

的確如此,資料庫是基礎性軟體,好比汽車的引擎一樣,是任何系統的_關鍵部件,具有「牽一髮而動全身「的特性。這就要求資料庫具有相當高的成熟度。這種成熟度需要在技術、產品、工程、支援以及行業經驗上具有相當長時間的積累。

傳統的關係型資料庫中,例如oracle、ibm db2等,都歷經20多年才達到現在的版本。任何一款資料庫從研發到產品都是乙個歷經磨難的過程,一般需要6年以上的時間才能走出0到1的階段,然後再在行業和實際應用場景中不斷地歷鍊打磨,逐步過渡到成熟期。

另外,金融級資料庫產品面對的是諸如銀行、**、保險等頭部行業大型企業,對產品上的複雜度和成熟度又提出了更高層次的要求。因此,其生命週期還要更長。

sequoiadb作為金融級資料庫產品歷經6年發展,進入3.0時代,得到上百家大型銀行等大型客戶的採用和信任。這標誌著巨杉資料庫已經進入了資料庫生命曲線的成熟期。

3、巨杉一直堅持「原廠」,這是為什麼?

這和巨杉的商業模式息息相關。巨杉主營是資料庫產品及服務,服務於很上百家大型的企業,上千的業務系統,每年還在不斷地增長。資料庫作為基礎工具型軟體,要滿足各種系統需求,而不為單一特定的場景服務。做到這點的核心就是「原廠」掌握核心**,掌控產品路線,能夠快速應對客戶需求的同時也能保證產品化。

我們都知道,細節定成敗,實踐出真知,技術實力的背後是產品能力。乙個成熟的產品需要不斷的在大規模的金融級應用中實踐與礪煉。這個過程就是不斷爬坑、不斷積累經驗和不斷完善細節。

這對乙個產品研發的工程及管理能力提出了相當高的要求。例如巨杉資料庫產品的測試,產品達到99%以上自動化測試覆蓋率,為保障質量,每個小版本的測試都涉及12,000個以上的測試用例,橫跨超1000個伺服器節點。

只有這樣,我們的產品才能做到只用乙個產品、乙個研發團隊來滿足所有的客戶,提供「原廠」**級別的支撐服務。

4、巨杉資料庫和oracle, mysql這樣的傳統關係型資料庫的關係和對比是怎麼樣的?有何優勢?

巨杉的發展目標就是想成為「分布式」的「oracle」。怎麼解釋呢,就是說從金融級產品能力和服務能力要達到oracle的水準,但又是分布式的新一代資料庫。巨杉在分布式領域已經處於領跑地位,跑在了oracle 的前面。

例如,巨杉資料庫在同乙個分布式架構下支援非結構化的物件儲存,能夠在高併發場景下處理多種結構資料,大規模地降低了運維成本。這相比傳統資料庫是個獨特的優勢。

對比mysql則大不相同,巨杉資料庫專注服務於大型的企業,mysql則是更偏向於網際網路、創業階段的中小企業市場,金融級產品標準和服務物件都不一樣。

5、分布式資料庫真的是未來的方向嗎?

這點毋庸置疑。分布式的研究來自於平行計算,這其實很早就有,不是個新鮮事物。只不過過去網路、儲存、計算成本比較高的時候,分布式的成本和性價高。造成做分布式資料庫從成本和應用角度上不合適。

現在網路、儲存、計算成本都大幅降低,這就是摩爾定律的威力。也是造成互網聯網在過去20年內的高速發展。發展到了現在,這種利用x86伺服器做分布式計算的能力已經大幅度超越了傳統集中式的能力。加之現在資料使用的量級也是每年技術級的增長,傳統資料庫力不從心,因此從需求和技術能力兩個方面都使得分布式資料庫成為必然。

6、現在大型企業就需要「兩地三中心」的說法,分布式資料庫能解決這個問題嗎?

兩地三中心是指跨地域的資料中心,是分布式的最重要的應用場景。oracle在2023年開始就研究跨地域的資料同步,結果因為關係型的特點,優勢也成了劣勢,在分布式發展上非常失敗,所以回歸到集中模式了。

這裡面在術語上有「一致性」的問題,就是如何保證不同地域節點的資料相同。其中強一致指任何時候不同節點的資料都相同,而最終一致性指經過很短的時間延遲後,不同節點的資料最後終會相同。這在過去傳統資料庫裡不可調和。分布式解決這個問題的能力非常強大,可配置的一致性是分布式資料庫的重要部分,可以解決不同業務場景對不同一致性的需求。

所以巨杉資料庫的特點之一就是支援兩地三中心的架構。

7、國外很多分布式的資料庫也開始提供sql支援了,巨杉也支援是吧,這是為什麼?

巨杉支援sql要回到2023年了,比國外同行起步早很多。巨杉當時雖然在效能上獨樹一幟,但是很快發現客戶的開發和運維都太習慣sql了。sql是個非常好的語言和工具,歷經40年培養了大量的使用者人才和應用習慣。可以說,99%的企業使用者都需要sql。

巨杉的技術驅動來自於使用者和市場,所以當機立斷,我們就開始增強對sql的支援,到現在,我們同時支援高併發的標準sql也支援分析型的spark sql,滿足不同的使用者需求。

8、巨杉是nosql資料庫還是newsql,很多人都混淆,能解釋一下嗎?

巨杉資料庫在經歷了多年的發展以來,經歷了從nosql向newsql再向關係型資料庫不斷演進的過程,如今已經支援標準sql、oltp、物件儲存以及json儲存等多種模式。

根據gartner的定義,如今的巨杉資料庫是乙個典型的多模資料庫(multi-model database),可以被當做關係型oltp資料庫使用的同時,也支援半結構化資料與非結構化資料的儲存。

9、在產品上,目前巨杉資料庫的對標目標已經是oracle而超越了mongodb,在企業級市場特別是銀行,為什麼能夠比mongodb更為成功?

巨杉資料庫 3.0是一款分布式物件儲存、分布式文件型和分布式oltp全覆蓋的多模(multi-model)金融級分布式資料庫,而mongodb,couchbase等產品僅相當於巨杉資料庫的乙個子集。

sequoiadb從開始之初就定位於原廠的金融級產品,1.0版本起就直接被銀行企業採用。mongodb是面向開發者、程式設計師的資料庫產品,幫助開發快速迭代。所以sequoiadb和mongodb的出發點截然不同。

sequoiadb從2.0版本開始,向著分布式多模資料庫不斷演進,大力發展sql支援能力。不管從功能上還是效能上都超越mongodb。

巨杉資料庫的商業模式對標oracle,以大型企業為服務物件,而mongodb則服務於長尾的中小型企業市場,雙方的使用者領域大不相同。因此巨杉並沒有把mongodb作為對標產品和競爭對手。

10、2023年成立至今,巨杉資料庫經歷哪幾個發展階段?整個產品打磨經歷了多長時間?

2023年,巨杉資料庫在公司成立之初,利用分布式的特徵提高效能,解決傳統關係型的效能瓶頸。最早的版本是分布式文件型資料庫,分布式架構下主要以高併發效能為優勢特點。

2023年初 2.0版本開始向多模(multi-model)的分布式資料庫發展,包括oltp和sql的支援,增加高併發查詢的sql引擎和分析為主的spark sql引擎,並成為了spark的全球14個發行商之一。

同時,巨杉也開發分布式物件儲存引擎,在同乙個分布式架構下能同時管理操作記錄型資料和非結構化的塊結構資料。

2023年巨杉資料庫全面支援高效能海量資料處理,事務處理,資料庫級別的htap以及物件儲存等多種應用場景,並繼續加強分布式oltp的能力。

11、目前整個團隊規模大體是多少?團隊背景?研發和技術支援的比例是多少?

巨杉團隊超過100人,在北、上、廣、深都有技術支援團隊,產品研發技術人員佔比超過50%。研發團隊主要來自ibm db2 實驗室以及來自華為的分布式技術研發專家。

12、如何看待當前「去ioe」和國產化浪潮?

在去「ioe」的程序中,替換oracle一直是乙個瓶頸。

雖然oracle這類傳統資料庫在應對業務劇增的壓力時已經力不從心,企業級資料庫分布式轉型已經是乙個必然趨勢,但是,因為過去國產資料庫產品並不成熟,大型企業使用者一直找不到合適的原廠替代產品。

巨杉在分布式資料庫領域起步很早,具有絕對行業領先地位,加速推動銀行等大型企業技術國產化的程序。

13、公有雲廠商提供的資料庫服務和巨杉這樣的資料庫產品的區別在**?巨杉資料庫在雲平台整合上有什麼考慮?

14、公司下一步發展戰略是什麼?

巨杉在產品層面上繼續保持金融級和企業級研發的思路,深耕在銀行、**及保險等金融垂直行業中。

從市場角度,巨杉也開始向**、安全、iot物聯網等其他大型行業延伸,通過發展技術生態來擴大自己的規模。

另外,巨杉也已經開始向海外市場拓展,發展海外的合作夥伴。

如何理解巨杉資料庫SequoiaDB核心概念?

由於採用 pc 伺服器內建物理盤,當前大部分分布式資料庫無法在硬體裝置出現故障時保證單一裝置中資料的可靠性與永續性。因此 sequoiadb 巨杉資料庫採用資料多副本存放的機制,將編目節點與資料節點所存放的資料以節點為單位進行複製,多個擁有相同資料拷貝的節點被稱為資料複製組。一般來說,複製組 資料分...

SequoiaDB巨杉資料庫C API

此部分是 c api 相關文件。注意 version 2.10 新增收集資料統計資訊介面 新增修改介面 version 1.10 新增獲取查詢訪問計畫的介面 新增用於大物件 lob 操作的介面 version 1.8 新新增介面 version 1.6 使用 sdbnodehandle 來取代原來的...

SequoiaDB 巨杉資料庫 工具

stpstp 是 stp 提供邏輯時間的可執行程式。引數說明 引數名 縮寫 型別 說明 help h 返回 stp 的用法和幫助 version 返回 stp 的版本資訊 port p int32 1.stp 監聽埠 2.預設值為 9622 3.開啟 tcp 和 udp 協議的監聽 serverli...