OushuDB × 東方證券:數(shù)據(jù)倉庫信創(chuàng)國產(chǎn)化最佳實踐
2023-05-04 10:23 作者:偶數(shù)實驗室 | 我要投稿

前言:東方證券是一家綜合類證券公司,成立于 1998 年,總部設(shè)在上海。經(jīng)過 20 多年的發(fā)展,東方證券現(xiàn)有分支機構(gòu) 177 家、管理 3200 億資產(chǎn),服務(wù)上億客戶。與一個大型金融機構(gòu)相匹配的,正是東方證券當前管理的海量數(shù)據(jù)。
一、案例背景
2013 年起,東方證券陸續(xù)引入數(shù)據(jù)倉庫平臺、大數(shù)據(jù)應(yīng)用平臺、資訊中心大數(shù)據(jù)平臺,以實現(xiàn)對業(yè)務(wù)運行提供數(shù)據(jù)支撐,由這三個數(shù)據(jù)平臺組成的數(shù)據(jù)平臺體系是東方證券金融科技戰(zhàn)略規(guī)劃的重要組成。
數(shù)據(jù)倉庫平臺和大數(shù)據(jù)平臺因數(shù)據(jù)割裂、業(yè)務(wù)發(fā)展和技術(shù)迭代等原因,與戰(zhàn)略規(guī)劃所要求的數(shù)據(jù)平臺服務(wù)能力存在較大差距。長期來看需要構(gòu)建一個統(tǒng)一的數(shù)據(jù)平臺,支撐公司經(jīng)營管理中各類數(shù)據(jù)的全面有機融合。考慮到自身業(yè)務(wù)模式、組織架構(gòu)和現(xiàn)有系統(tǒng)建設(shè)現(xiàn)狀,東方證券將以數(shù)據(jù)倉庫平臺為核心,將全業(yè)務(wù)數(shù)據(jù)盤活和打通,用數(shù)據(jù)指導(dǎo)運營,賦能業(yè)務(wù),支撐決策。
東方證券數(shù)據(jù)倉庫建設(shè)于 2013 年,采用基于 MPP 架構(gòu)的關(guān)系型數(shù)據(jù)庫 Netezza,經(jīng)過擴容已接近 30T 容量。數(shù)據(jù)倉庫承載著東方證券的核心業(yè)務(wù)數(shù)據(jù),目前整合處理了包含零售業(yè)務(wù)端數(shù)據(jù)、公司自營數(shù)據(jù)和市場金融工具數(shù)據(jù)。
然而,現(xiàn)有的 Netezza 一體機數(shù)據(jù)庫已經(jīng)形成數(shù)據(jù)管理的瓶頸,因此東方證券迫切需要新平臺來更好地進行數(shù)據(jù)的管理、運營和服務(wù),以實現(xiàn)金融科技既定數(shù)據(jù)平臺目標。
二、需求分析
1.平臺擴展
東方證券原有的數(shù)據(jù)倉庫是基于 Netezza 一體機構(gòu)建的。當一體機容量趨于飽和,如果不遷移存量數(shù)據(jù)的話,便只能刪除部分歷史數(shù)據(jù)來維持其正常的數(shù)據(jù)應(yīng)用需求,潛在的數(shù)據(jù)丟失和損壞即將對業(yè)務(wù)側(cè)造成嚴重的影響。
2.系統(tǒng)性能
跟所有一體機一樣,Netezza 通過特殊硬件來提升性能,但是可擴展性一般。隨著數(shù)據(jù)量的增加,一體機的數(shù)據(jù)處理性能下降,部分復(fù)雜報表跑批耗時顯著增加,已經(jīng)對數(shù)據(jù)應(yīng)用產(chǎn)生了實質(zhì)影響。
3.持續(xù)運維
平臺擴展能力受限除了對業(yè)務(wù)應(yīng)用、系統(tǒng)性能造成影響,還對備份和恢復(fù)等運維工作帶來巨大挑戰(zhàn)。然而,IBM 在全球范圍內(nèi)停止了對 Netezza 所有支持,外資廠商的可持續(xù)運維問題在當下自主可控的背景下顯得格外突兀。
因此,東方證券新建和替換數(shù)據(jù)倉庫除了考慮數(shù)倉的可拓展性、系統(tǒng)性能,還重點關(guān)注國產(chǎn)軟件的自主可控和本土廠商的持續(xù)運維能力。此外,項目建設(shè)實施要在不中斷業(yè)務(wù)的情況下進行,因此還需要確保整個數(shù)倉平臺提供安全可靠、連續(xù)穩(wěn)定的對外服務(wù),確保對上下游業(yè)務(wù)完全兼容。同時,需要對新數(shù)據(jù)倉庫的加工能力、數(shù)據(jù)精度、加工效率進行全面驗證,為從Netezza 平臺的平穩(wěn)遷移提供全面可靠的技術(shù)評估并夯實平臺基礎(chǔ)。
三、產(chǎn)品選型
東方證券對多個主流數(shù)據(jù)庫產(chǎn)品進行了對比測試,測試包括標準化測試,以及基于現(xiàn)有業(yè)務(wù)應(yīng)用設(shè)計的場景化測試,共涉及 300 多張表以及 200 多個存儲過程。在經(jīng)過一系列復(fù)雜測試后,利用專有硬件的 Netezza 需要 60 分鐘的處理任務(wù),OushuDB 僅用 22 分鐘,效率大幅領(lǐng)先。OushuDB 極致的性能遠超技術(shù)專家預(yù)期。除了性能,OushuDB 相較 Netezza 在并發(fā)、擴展能力、存儲等方面也有著顯著的技術(shù)優(yōu)勢,詳見下表。
四、方案設(shè)計
2022 年 3 月,東方證券的數(shù)據(jù)遷移工作正式啟動。偶數(shù)科技專家與東方證券的技術(shù)人員合作,確定了數(shù)據(jù)遷移方案,OushuDB 集群與原 Netezza 集群在外部應(yīng)用接口、作業(yè)、數(shù)據(jù)表等方面保持一致。將在保證業(yè)務(wù)連續(xù)性的同時,對數(shù)倉的歷史數(shù)據(jù)、增量歷史數(shù)據(jù)、日常加載數(shù)據(jù)等進行遷移,充分利用新平臺的物理特性。遷移過程按照物理模型遷移、ETL 腳本、SQL 腳本、歷史數(shù)據(jù)和應(yīng)用接口的順序進行實施。
數(shù)據(jù)架構(gòu)
東方證券數(shù)據(jù)倉庫邏輯架構(gòu)分層包含:數(shù)據(jù)源層、數(shù)據(jù)交換層、數(shù)據(jù)存儲層、數(shù)據(jù)服務(wù)層、數(shù)據(jù)應(yīng)用層,橫向管理套件包含:數(shù)字化管理、DataOps、數(shù)據(jù)管控。
國產(chǎn)數(shù)倉平臺遷移規(guī)劃不僅是單一的數(shù)倉平臺替換,而是技術(shù)架構(gòu)升級。在本項目中,主要包含將現(xiàn)有 Netezza 庫內(nèi)對象(表、視圖、存儲過程等)遷移至 OushuDB,支持日常數(shù)據(jù)采集、數(shù)據(jù) ETL 處理、數(shù)據(jù)服務(wù)、新增業(yè)務(wù)開發(fā)、應(yīng)用訪問等的平滑過渡。平臺替換基于 OushuDB 數(shù)據(jù)庫特性提供最佳應(yīng)用實踐,涉及庫內(nèi)規(guī)劃設(shè)計的原則性調(diào)整。未來,將進行數(shù)據(jù)架構(gòu)融合、數(shù)據(jù)服務(wù)融合、一體化數(shù)據(jù)管理生態(tài)等數(shù)據(jù)的長期運營規(guī)劃。
五、項目實施
在完成了方案的詳細設(shè)計后,啟動了從 Netezza 到 OushuDB 的整體遷移工作。
1.環(huán)境部署
東方證券數(shù)倉平臺系統(tǒng)項目共部署 17 節(jié)點(包括 ETL 節(jié)點和 OushuDB 主節(jié)點),使用海光芯片的國產(chǎn)服務(wù)器,運行在 KyLin 操作系統(tǒng)上,打造滿足信創(chuàng)生態(tài)的純國產(chǎn)數(shù)倉平臺。
2.腳本開發(fā)
針對該項目數(shù)據(jù)的格式轉(zhuǎn)換、映射和驗證等環(huán)節(jié),以及數(shù)據(jù)預(yù)處理、數(shù)據(jù)清洗和數(shù)據(jù)轉(zhuǎn)換等工作,并結(jié)合過往項目實踐,偶數(shù)為客戶提供了全套數(shù)據(jù)遷移工具,以及 SQL、DDL 和 ETL 轉(zhuǎn)換腳本。針對應(yīng)用遷移,偶數(shù)還為客戶設(shè)計開發(fā) Netezza 存儲過程到 Perl 腳本的轉(zhuǎn)換工具。通過工具和腳本可以完成 90% 以上的工作,大大縮短了項目遷移時間,保障了數(shù)據(jù)遷移的高效完成。
3.數(shù)據(jù)遷移
完成用戶權(quán)限和庫表結(jié)構(gòu)共計 3000 多個對象遷移,其中包含 200 多張視圖以及其他對象遷移,2400 多張 ODS 表的歷史數(shù)據(jù)遷移及其增量數(shù)據(jù)加載遷移,600 多張模型層的表的歷史數(shù)據(jù)遷移。同時,還進行了 ODS 表與模型表的分區(qū)分析,以及數(shù)據(jù)結(jié)果驗證。
4.應(yīng)用遷移
完成了零售業(yè)務(wù)約 700 個存儲過程與自營業(yè)務(wù)約 400 個存儲過程的應(yīng)用遷移。此外,為了保證數(shù)據(jù)質(zhì)量,還進行了空表腳本運行測試、帶數(shù)表腳本運行測試,調(diào)試優(yōu)化腳本,字段級驗證 OushuDB 數(shù)據(jù)處理結(jié)果與 Netezza 結(jié)果。在腳本驗證的基礎(chǔ)上進行日常數(shù)據(jù)加載、模型加工和常態(tài)化部署。
在系統(tǒng)平臺數(shù)據(jù)遷移與應(yīng)用遷移試運行階段,偶數(shù)工程師提供了全面的運維技術(shù)支持,包括系統(tǒng)故障排錯、系統(tǒng)性能調(diào)優(yōu)、系統(tǒng)監(jiān)控、故障點排查、集群節(jié)點故障遷移等,同時完成了東方證券數(shù)倉平臺性能測試、非功能測試,平臺試運行階段全程保障。
六、項目總結(jié)
經(jīng)過幾個月的努力,系統(tǒng)順利上線。OushuDB 在完成國產(chǎn)數(shù)倉平臺遷移的基礎(chǔ)上還在拓展能力和性能方面實現(xiàn)了升級,同時還提供了超出預(yù)期的三大能力——實時查詢、超高并發(fā)、彈性擴容,隨著數(shù)據(jù)化轉(zhuǎn)型的升級,這幾類能力變得越來越重要,是未來各行業(yè) IT 建設(shè)的必選項。
隨著數(shù)據(jù)庫國產(chǎn)化替代進程加速,范圍擴大,金融信創(chuàng)率先成為各行業(yè)信創(chuàng)推進的先行者,而東方證券使用國產(chǎn)數(shù)據(jù)庫 OushuDB 替代 Netezza 的最佳實踐,也使東方證券成為了證券行業(yè)國產(chǎn)數(shù)據(jù)庫替代的先行者。在該項目中,OushuDB 保證數(shù)倉平臺承載更多業(yè)務(wù)應(yīng)用的同時,還提升了平臺的性能和擴展能力,也探索出了湖倉雙重能力替代與整合的新思路。
標簽: