應(yīng)用案例背景
????????隨著企業(yè)數(shù)據(jù)量的迅速增長(zhǎng)和業(yè)務(wù)需求的不斷演變,傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)面臨性能瓶頸和擴(kuò)展性限制。為了應(yīng)對(duì)這些挑戰(zhàn),企業(yè)啟動(dòng)了梧桐數(shù)據(jù)庫(kù)小規(guī)模試點(diǎn)驗(yàn)證項(xiàng)目,旨在評(píng)估梧桐數(shù)據(jù)庫(kù)的性能、擴(kuò)展性、兼容性和總體擁有成本。
????????當(dāng)前資產(chǎn)中心現(xiàn)網(wǎng)環(huán)境有4個(gè)oracle集群,支撐含日?qǐng)?bào)、快報(bào)等B域大部分業(yè)務(wù),資產(chǎn)中心數(shù)倉(cāng)當(dāng)前存在業(yè)務(wù)支撐方面存在性能瓶頸(過(guò)億級(jí)表、多表關(guān)聯(lián)時(shí)延達(dá)小時(shí)級(jí))、硬件擴(kuò)容困難(不支持按需擴(kuò)展存算資源、不支持在線擴(kuò)容)、集群間數(shù)據(jù)共享低效(集群間數(shù)據(jù)拷貝、dblink傳輸效率低)、以及產(chǎn)品建設(shè)成本高、非自主可控等問(wèn)題。
????????從數(shù)倉(cāng)技術(shù)架構(gòu)演進(jìn)和實(shí)現(xiàn)降本增效的需求出發(fā),故開(kāi)展本次“梧桐”國(guó)產(chǎn)數(shù)倉(cāng)產(chǎn)品小規(guī)模驗(yàn)證,測(cè)試的目的是通過(guò)B域內(nèi)的典型應(yīng)用場(chǎng)景(資產(chǎn)中心)驗(yàn)證該產(chǎn)品能否支撐實(shí)際生產(chǎn)業(yè)務(wù)開(kāi)展,同時(shí)與現(xiàn)有資產(chǎn)中心在用數(shù)據(jù)庫(kù)的使用進(jìn)行對(duì)比,為數(shù)據(jù)庫(kù)選型提供依據(jù)。
注:當(dāng)前資產(chǎn)中心業(yè)務(wù)一小時(shí)并發(fā)峰值存過(guò)達(dá)到300個(gè),相對(duì)于標(biāo)簽生成客戶群業(yè)務(wù)、位置實(shí)時(shí)處理業(yè)務(wù),資產(chǎn)中心業(yè)務(wù)的作業(yè)并發(fā)度、任務(wù)數(shù)、單個(gè)作業(yè)處理邏輯復(fù)雜度(多表關(guān)聯(lián)處理)更高,能夠充分檢驗(yàn)數(shù)據(jù)庫(kù)系統(tǒng)能力。

應(yīng)用案例目標(biāo)
1.驗(yàn)證梧桐數(shù)據(jù)庫(kù)在處理大規(guī)模數(shù)據(jù)集時(shí)的性能表現(xiàn)。
2.評(píng)估梧桐數(shù)據(jù)庫(kù)的存算分離架構(gòu)在實(shí)際業(yè)務(wù)場(chǎng)景中的應(yīng)用效果。
3.測(cè)試梧桐數(shù)據(jù)庫(kù)與其他系統(tǒng)集成的兼容性和數(shù)據(jù)遷移的可行性。
4.對(duì)比分析梧桐數(shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)的成本效益。

應(yīng)用案例實(shí)施步驟
環(huán)境搭建與數(shù)據(jù)遷移:在指定的硬件環(huán)境中部署梧桐數(shù)據(jù)庫(kù),并配置所需的網(wǎng)絡(luò)和存儲(chǔ)資源。
總體規(guī)模:聯(lián)創(chuàng)數(shù)據(jù)庫(kù)本期規(guī)劃36節(jié)點(diǎn),其中計(jì)算 節(jié)點(diǎn)23臺(tái), 存儲(chǔ)節(jié)點(diǎn) 4臺(tái),管理節(jié)點(diǎn)9臺(tái)。
計(jì)算節(jié)點(diǎn):計(jì)算節(jié)點(diǎn)主要承載大量的數(shù)據(jù)計(jì)算任務(wù),包括業(yè)務(wù)匯總、關(guān)聯(lián)計(jì)算,屬于高CPU、高內(nèi)存業(yè)務(wù)處理,規(guī)劃優(yōu)先選用C3型主機(jī)。
管理節(jié)點(diǎn):管理節(jié)點(diǎn)主要用作數(shù)據(jù)庫(kù)會(huì)話的連接和元數(shù)據(jù)的存儲(chǔ),不進(jìn)行大量的計(jì)算任務(wù),所以采用B1性主機(jī)。
存儲(chǔ)節(jié)點(diǎn):主要用于存儲(chǔ)數(shù)據(jù),由于聯(lián)創(chuàng)數(shù)據(jù)庫(kù)采用分布式共享存儲(chǔ)架構(gòu),所以采用大存儲(chǔ),低計(jì)算B2型主機(jī)。
注:因蘇州資源池暫時(shí)只有B2服務(wù)器,當(dāng)前集群全部基于B2服務(wù)器搭建,后期資源池資源充足,可將計(jì)算節(jié)點(diǎn)換成C3或者B1服務(wù)器。

功能驗(yàn)證:對(duì)梧桐數(shù)據(jù)庫(kù)的基礎(chǔ)功能進(jìn)行測(cè)試,包括數(shù)據(jù)查詢、數(shù)據(jù)更新、事務(wù)處理等。
1、函數(shù)支持
支持窗口函數(shù)、復(fù)雜函數(shù)等常用函數(shù);
支持自定義函數(shù),可以在數(shù)據(jù)庫(kù)直接創(chuàng)建,不需要java或者C編譯;
兼容常用測(cè)試sql。
2、分區(qū)支持
在國(guó)產(chǎn)數(shù)倉(cāng)中存儲(chǔ)Oracle抽取過(guò)來(lái)的多個(gè)分區(qū)的數(shù)據(jù),能夠滿足對(duì)所有分區(qū)的查詢性能不降低。
3、易用性支持
圖形化客戶端;
如PL/SQL一樣,方便開(kāi)發(fā)人員使用。
4、鎖機(jī)制
Oracle為行級(jí)鎖,不同分區(qū)并發(fā)不會(huì)產(chǎn)生鎖等待,驗(yàn)證國(guó)產(chǎn)數(shù)倉(cāng)對(duì)同一個(gè)表執(zhí)行多個(gè)sql是否支持分區(qū)鎖。
性能測(cè)試:模擬實(shí)際業(yè)務(wù)場(chǎng)景,對(duì)梧桐數(shù)據(jù)庫(kù)進(jìn)行壓力測(cè)試和性能評(píng)估。
1、數(shù)據(jù)抽取
? 測(cè)試場(chǎng)景:測(cè)試國(guó)產(chǎn)數(shù)倉(cāng)的數(shù)據(jù)抽取效率,并與Oracle做對(duì)比;
? 數(shù)據(jù)量:萬(wàn)級(jí)、百萬(wàn)級(jí)、千萬(wàn)級(jí)、億級(jí)、十億級(jí)。
2、數(shù)據(jù)加載
? 測(cè)試場(chǎng)景:測(cè)試國(guó)產(chǎn)數(shù)倉(cāng)的數(shù)據(jù)加載效率,并與Oracle做對(duì)比;
? 數(shù)據(jù)量:萬(wàn)級(jí)、百萬(wàn)級(jí)、千萬(wàn)級(jí)、億級(jí)、十億級(jí)。
3、數(shù)據(jù)處理
? 測(cè)試場(chǎng)景:測(cè)試區(qū)分?jǐn)?shù)據(jù)轉(zhuǎn)換、單表匯總、兩表關(guān)聯(lián)、三表關(guān)聯(lián)等不同場(chǎng)景下國(guó)產(chǎn)數(shù)倉(cāng)的數(shù)據(jù)處理效率,并與Oracle做對(duì)比;
? 數(shù)據(jù)量:萬(wàn)級(jí)、十萬(wàn)級(jí)、百萬(wàn)級(jí)、千萬(wàn)級(jí)、億級(jí)、十億級(jí)。
注:由于Oracle對(duì)百億數(shù)據(jù)量無(wú)法支持,故此量級(jí)不做比對(duì)。
4、實(shí)時(shí)寫(xiě)入
? 測(cè)試場(chǎng)景:通過(guò)Flink將數(shù)據(jù)實(shí)時(shí)寫(xiě)入國(guó)產(chǎn)數(shù)倉(cāng),記錄執(zhí)行時(shí)間,觀察CPU/IO等資源消耗,并和Ignite進(jìn)行對(duì)比;
? 數(shù)據(jù)量:千萬(wàn)級(jí)、億級(jí)、十億級(jí)、百億。
注:由于Oracle對(duì)百億數(shù)據(jù)量無(wú)法支持,故此量級(jí)不做比對(duì);從位置中心實(shí)時(shí)抽取數(shù)據(jù)至Ignite支撐網(wǎng)格通業(yè)務(wù)。
5、實(shí)時(shí)讀取
測(cè)試場(chǎng)景:實(shí)時(shí)讀取數(shù)據(jù),驗(yàn)證連接數(shù)使用(N多并發(fā)是否會(huì)把連接數(shù)占滿),單表、多表關(guān)聯(lián)等場(chǎng)景數(shù)據(jù)讀取效率,并和Starrocks進(jìn)行對(duì)比;
? 數(shù)據(jù)量:千萬(wàn)級(jí)、億級(jí)、十億級(jí)、百億。
注:從話單、位置集群實(shí)時(shí)抽取數(shù)據(jù)至Starrocks,支撐行程碼明細(xì)歸集查詢。
6、批量業(yè)務(wù)場(chǎng)景
? 測(cè)試場(chǎng)景:進(jìn)行生產(chǎn)實(shí)際運(yùn)行業(yè)務(wù)的批量驗(yàn)證;
? 作業(yè)量:本次進(jìn)行典型存過(guò)的驗(yàn)證,并確保任務(wù)定周期運(yùn)行。
擴(kuò)展性測(cè)試:驗(yàn)證梧桐數(shù)據(jù)庫(kù)的存儲(chǔ)和計(jì)算資源能否按需進(jìn)行擴(kuò)展。
? 存儲(chǔ)資源、計(jì)算資源分別擴(kuò)容的情況下,是否需要停機(jī)操作,對(duì)已部署流程執(zhí)行效率的影響;
應(yīng)用案例成果
? 梧桐數(shù)據(jù)庫(kù)在處理大規(guī)模數(shù)據(jù)集時(shí)表現(xiàn)出良好的性能,響應(yīng)速度快,滿足業(yè)務(wù)需求。
? 存算分離架構(gòu)有效提升了系統(tǒng)的擴(kuò)展性和資源利用效率。
? 數(shù)據(jù)遷移過(guò)程順利,數(shù)據(jù)完整性和一致性得到保障。
應(yīng)用案例結(jié)論
結(jié)論一:經(jīng)驗(yàn)證,梧桐國(guó)產(chǎn)數(shù)倉(cāng)在功能特性方面滿足使用需求,對(duì)比Oracle在性能、拓展性、架構(gòu)等方面具備更優(yōu)的特性,但在實(shí)時(shí)入庫(kù)能力、復(fù)雜函數(shù)兼容性、易用性等方面存在優(yōu)化空間。
結(jié)論二:基于Gbase現(xiàn)場(chǎng)使用反饋,梧桐國(guó)產(chǎn)數(shù)倉(cāng)功能架構(gòu)更優(yōu),遷移改造工作量對(duì)比Gbase手工改造有所降低。注:本次驗(yàn)證因B1、B3服務(wù)器資源有限,無(wú)法部署Gbase數(shù)據(jù)庫(kù)。
后續(xù)建議
? 基于試點(diǎn)驗(yàn)證的結(jié)果,建議在更多業(yè)務(wù)場(chǎng)景中推廣梧桐數(shù)據(jù)庫(kù)的應(yīng)用。
? 繼續(xù)與梧桐數(shù)據(jù)庫(kù)團(tuán)隊(duì)合作,針對(duì)發(fā)現(xiàn)的問(wèn)題進(jìn)行優(yōu)化和改進(jìn)。
? 定期評(píng)估梧桐數(shù)據(jù)庫(kù)的版本更新,確保系統(tǒng)功能與業(yè)務(wù)需求保持同步。