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