




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國(guó)產(chǎn)分布式數(shù)據(jù)庫在證券行業(yè)的應(yīng)用及實(shí)踐
【摘要】近年來,證券市場(chǎng)行情火爆,對(duì)支撐業(yè)務(wù)的IT系統(tǒng)及數(shù)據(jù)庫提出了更高要求。本文分析了證券行業(yè)當(dāng)前數(shù)據(jù)庫應(yīng)用的困境及我司典型的應(yīng)用場(chǎng)景,對(duì)國(guó)產(chǎn)分布式數(shù)據(jù)庫在證券行業(yè)中的應(yīng)用價(jià)值進(jìn)行了探索,包括其高可用、橫向擴(kuò)展、支持高并發(fā)等特性,并選取兩個(gè)實(shí)踐案例驗(yàn)證了國(guó)產(chǎn)分布式數(shù)據(jù)庫在證券行業(yè)的應(yīng)用價(jià)值。一、證券行業(yè)當(dāng)前數(shù)據(jù)庫應(yīng)用的困境近年來,證券行業(yè)線下服務(wù)轉(zhuǎn)型線上化進(jìn)程加速,包括營(yíng)銷獲客的方式、AI單向智能開戶、非現(xiàn)場(chǎng)業(yè)務(wù)的辦理、在線直播、小程序、小視頻等互聯(lián)網(wǎng)方式的使用等,同時(shí)近年證券市場(chǎng)行情火爆,證券用戶數(shù)量和并發(fā)量大幅提升,從而對(duì)支撐業(yè)務(wù)的IT系統(tǒng)及數(shù)據(jù)庫提出了更高要求;伴隨在證券公司進(jìn)入全面創(chuàng)新發(fā)展階段,證券業(yè)務(wù)品種也日漸增加、業(yè)務(wù)流程復(fù)雜度不斷提高,現(xiàn)有非國(guó)產(chǎn)集中式數(shù)據(jù)庫架構(gòu)在滿足新業(yè)務(wù)、新監(jiān)管規(guī)定以及今后一段時(shí)期內(nèi)部控制管理的高效率監(jiān)控及管理的需求方面已逐漸困難。同時(shí),證券行業(yè)為數(shù)據(jù)密集型行業(yè),發(fā)展至今已經(jīng)累積了海量的高價(jià)值數(shù)據(jù),目前每天產(chǎn)生海量數(shù)據(jù),使得數(shù)據(jù)庫面臨巨大挑戰(zhàn)。當(dāng)前行業(yè)主要使用國(guó)外的傳統(tǒng)集中式數(shù)據(jù)庫,而集中式數(shù)據(jù)庫在海量用戶和大數(shù)據(jù)量下的弊端逐漸體現(xiàn):(一)體系架構(gòu)存在不足集中式數(shù)據(jù)庫的架構(gòu)由于歷史原因,采用集中式思路,物理數(shù)據(jù)庫由一個(gè)DBMS集中管理。集中式數(shù)據(jù)庫體系架構(gòu)缺少計(jì)算存儲(chǔ)分離、彈性伸縮能力,也沒有架構(gòu)上考慮跨數(shù)據(jù)中心實(shí)現(xiàn)高可用及容災(zāi),整體架構(gòu)缺乏靈活及先進(jìn)性。(二)容量瓶頸隨著用戶訪問量和數(shù)據(jù)量的增長(zhǎng),集中式數(shù)據(jù)庫性能遇到巨大挑戰(zhàn),依賴硬件升級(jí)并不能完全解決問題。同時(shí)傳統(tǒng)數(shù)據(jù)庫容量擴(kuò)展往往意味著服務(wù)中斷,很難做到業(yè)務(wù)透明或者無感知。(三)缺乏彈性伸縮能力隨著交易量不斷增長(zhǎng),系統(tǒng)整體吞吐量不可避免遇到硬件或技術(shù)的瓶頸。尤其在支持面向互聯(lián)網(wǎng)客戶相關(guān)業(yè)務(wù)時(shí),不能有效彈性擴(kuò)容處理高并發(fā)交易,制約了獲取新客戶以及大規(guī)模營(yíng)銷及交易的能力。(四)成本高昂當(dāng)業(yè)務(wù)數(shù)據(jù)和訪問量達(dá)到一定量級(jí),傳統(tǒng)數(shù)據(jù)庫的硬件選型就需要特定的高端服務(wù)器,再加上版權(quán)及服務(wù)費(fèi)用、垂直擴(kuò)容成本,開銷巨大。(五)自主可控及國(guó)產(chǎn)化原有集中式數(shù)據(jù)庫技術(shù)高度依賴于國(guó)外廠商,IT團(tuán)隊(duì)缺乏自主可控能力,在一定程度上存在信息安全的風(fēng)險(xiǎn),也無法滿足行業(yè)國(guó)產(chǎn)化的要求。隨著數(shù)據(jù)庫領(lǐng)域技術(shù)近年來的飛速發(fā)展,云原生數(shù)據(jù)庫、NewSQL、分布式數(shù)據(jù)庫等具備業(yè)界代表性的數(shù)據(jù)庫產(chǎn)品進(jìn)入人們的視野?;趯?duì)數(shù)據(jù)庫領(lǐng)域技術(shù)發(fā)展趨勢(shì)以及新技術(shù)產(chǎn)品的了解,結(jié)合證券行業(yè)現(xiàn)狀以及我司IT系統(tǒng)的實(shí)際情況,我們初步認(rèn)為國(guó)產(chǎn)分布式數(shù)據(jù)庫有能力解決我們的當(dāng)前困境,可以滿足證券行業(yè)的業(yè)務(wù)場(chǎng)景需求,且在我司具備落地的條件。接下來我們將對(duì)國(guó)產(chǎn)分布式數(shù)據(jù)庫在證券行業(yè)中的應(yīng)用價(jià)值進(jìn)行探索和驗(yàn)證。二、國(guó)產(chǎn)分布式數(shù)據(jù)庫解決方案在引入國(guó)產(chǎn)分布式數(shù)據(jù)庫之前,我們需要明確分布式數(shù)據(jù)庫能為我們解決哪些問題,能夠覆蓋我司的哪些場(chǎng)景。(一)我司應(yīng)用場(chǎng)景分析我司的數(shù)據(jù)庫應(yīng)用場(chǎng)景基本涵蓋了絕大部分典型的證券業(yè)務(wù),簡(jiǎn)單分類如下:1、OLTP在線交易型業(yè)務(wù)。證券業(yè)務(wù)交易是典型的高并發(fā)事務(wù)密集型業(yè)務(wù),具備低時(shí)延、高可靠、數(shù)據(jù)零丟失等硬性要求。例如:后臺(tái)集中交易、內(nèi)存交易、量化交易等;2、OLAP在線分析型業(yè)務(wù)。即分析報(bào)表型業(yè)務(wù),此類應(yīng)用為計(jì)算密集型且擁有大量的數(shù)據(jù),來源于在線歸檔、數(shù)據(jù)同步等。并且通常具備行業(yè)統(tǒng)一的監(jiān)管要求,例如需要在線存放5年歷史數(shù)據(jù)、報(bào)表上報(bào)時(shí)效要求等。例如:交易歷史庫、風(fēng)控、反洗錢等;3、互聯(lián)網(wǎng)高并發(fā)型業(yè)務(wù)。證券外圍、渠道相關(guān)業(yè)務(wù)屬于典型的互聯(lián)網(wǎng)型應(yīng)用,入口通常在網(wǎng)絡(luò)、APP等,此類業(yè)務(wù)通常具有并發(fā)訪問、海量數(shù)據(jù)的特點(diǎn),要求數(shù)據(jù)庫具備資源橫向擴(kuò)容的能力。例如:手機(jī)業(yè)務(wù)、網(wǎng)站業(yè)務(wù)等;4、交易型和分析型混合業(yè)務(wù)。多數(shù)證券交易系統(tǒng)都兼?zhèn)淞碎_市期間交易、非開市時(shí)段清算的業(yè)務(wù)類型。此類應(yīng)用要求數(shù)據(jù)庫既能支持交易型也能支持分析性的業(yè)務(wù),此類系統(tǒng)包括但不限于上述TP/AP型系統(tǒng),例如:O32資管、托管業(yè)務(wù)、PB、融資融券等。基于以上證券業(yè)務(wù)場(chǎng)景,可以總結(jié)出我們期望分布式數(shù)據(jù)庫具備這些能力:服務(wù)可用性、數(shù)據(jù)一致性要求極高的場(chǎng)景;高并發(fā)業(yè)務(wù)訪問場(chǎng)景;計(jì)算分析型及大容量數(shù)據(jù)場(chǎng)景;資源橫向擴(kuò)展、架構(gòu)彈性伸縮能力;甚至兼?zhèn)渖鲜鰣?chǎng)景需求的能力。(二)分布式數(shù)據(jù)庫的基本能力和適用場(chǎng)景現(xiàn)在讓我們來看看分布式數(shù)據(jù)庫具備了哪些基本能力,解決了哪些問題,可適用于哪些場(chǎng)景:1、受限于傳統(tǒng)架構(gòu),集中式數(shù)據(jù)庫使用復(fù)制和切換作為主要手段的高可用模式已逐漸無法滿足金融交易業(yè)務(wù)場(chǎng)景日益增高的可用性要求。而分布式數(shù)據(jù)庫具備了更完善的高可用能力,以一個(gè)集中統(tǒng)一的視角管理所有數(shù)據(jù)庫組件,任何組件異常都可實(shí)現(xiàn)自動(dòng)切換,保證整體的可用性。此外,數(shù)據(jù)通常由多副本保存,主副本與其他副本之間通過raft或paxos等協(xié)議實(shí)現(xiàn)數(shù)據(jù)的強(qiáng)一致性同步,可保證數(shù)據(jù)不丟失。2、針對(duì)容量瓶頸,包括計(jì)算能力不足和數(shù)據(jù)大容量問題,大多數(shù)分布式數(shù)據(jù)庫都使用了存儲(chǔ)計(jì)算分離和數(shù)據(jù)分片的技術(shù),使得其架構(gòu)支持計(jì)算能力和存儲(chǔ)的橫向擴(kuò)展。一方面,集群的計(jì)算任務(wù)主要由計(jì)算節(jié)點(diǎn)承擔(dān),計(jì)算節(jié)點(diǎn)可以做到無狀態(tài)從而實(shí)現(xiàn)線性擴(kuò)展;另一方面,數(shù)據(jù)按照特定規(guī)則切分成分片,每個(gè)分片保存特定部分?jǐn)?shù)據(jù)。由此,我們可以通過增加計(jì)算節(jié)點(diǎn)來擴(kuò)充計(jì)算能力,通過增加分片來實(shí)現(xiàn)數(shù)據(jù)庫量的擴(kuò)容,且理論上是無限擴(kuò)容的,而在這個(gè)基礎(chǔ)上可繼續(xù)實(shí)現(xiàn)彈性擴(kuò)縮容。3、高并發(fā)問題是傳統(tǒng)集中式數(shù)據(jù)庫難以解決的問題,因?yàn)閱闻_(tái)服務(wù)器的并發(fā)和計(jì)算能力總是有上限的。而對(duì)于分布式數(shù)據(jù)庫,一方面,應(yīng)用的并發(fā)會(huì)話可以由多個(gè)計(jì)算節(jié)點(diǎn)承擔(dān),分散了并發(fā)訪問的壓力;另一方面,分布式架構(gòu)將數(shù)據(jù)打散到了各個(gè)分片之中,相當(dāng)于分散了并發(fā)請(qǐng)求帶來的讀寫壓力。因此在理想的情況下,分布式架構(gòu)下的并發(fā)能力也是支持線性擴(kuò)展的。4、成本問題也是傳統(tǒng)集中式數(shù)據(jù)庫所面臨的痛點(diǎn)。就如前所述,傳統(tǒng)架構(gòu)缺少橫向擴(kuò)展能力,因此面臨增長(zhǎng)的業(yè)務(wù)、擴(kuò)大的數(shù)據(jù)容量,數(shù)據(jù)庫只能選擇垂直擴(kuò)展來獲得服務(wù)器資源上的補(bǔ)充。但昂貴的大型機(jī)、小型機(jī)CPU資源向上堆砌、內(nèi)存和存儲(chǔ)擴(kuò)容所帶來的成本不菲,并且很容易達(dá)到最終瓶頸。分布式數(shù)據(jù)庫則將垂直擴(kuò)容轉(zhuǎn)變成為了橫向擴(kuò)容,構(gòu)成計(jì)算存儲(chǔ)節(jié)點(diǎn)的每一臺(tái)服務(wù)器都并不強(qiáng)依賴高性能服務(wù)器。在這個(gè)情況下,增加節(jié)點(diǎn)可以輕松解決資源擴(kuò)容問題,而成本相對(duì)于垂直擴(kuò)容則要低很多。5、國(guó)產(chǎn)化的大環(huán)境問題也是證券行業(yè)目前重度依賴的非國(guó)產(chǎn)商業(yè)數(shù)據(jù)庫所無法繞開的問題。國(guó)產(chǎn)分布式數(shù)據(jù)庫目前基于開源數(shù)據(jù)庫自研擴(kuò)展為分布式架構(gòu),甚至做到真正意義上的全自研。因此國(guó)產(chǎn)分布式數(shù)據(jù)庫是國(guó)產(chǎn)化的一個(gè)切實(shí)可行的發(fā)展思路。根據(jù)上述問題與場(chǎng)景我們可以看出,國(guó)產(chǎn)分布式數(shù)據(jù)庫有能力解決行業(yè)數(shù)據(jù)庫目前所面臨的困境,能夠滿足大部分的證券業(yè)務(wù)需求,在不同業(yè)務(wù)場(chǎng)景下將有不同程度的應(yīng)用價(jià)值。(三)國(guó)產(chǎn)分布式數(shù)據(jù)庫的基本概況如我們所知,當(dāng)今分布式數(shù)據(jù)庫主要有兩大類:第一類是從單體數(shù)據(jù)庫和自研中間件演進(jìn)而來的分布式數(shù)據(jù)庫,我們習(xí)慣稱之為數(shù)據(jù)庫中間件型分布式數(shù)據(jù)庫,目前在國(guó)內(nèi)比較成熟的有TDSQL-MySQL、TDSQL-PG、GoldenDB、HotDB、GuassDB-300等;第二類叫做NewSQL,也叫原生分布式數(shù)據(jù)庫,國(guó)內(nèi)相對(duì)成熟的有TiDB、OceanBase。此類數(shù)據(jù)庫架構(gòu)的每個(gè)組件都是基于分布式進(jìn)行設(shè)計(jì)的,天生自帶分布式基因。NewSQL從分布式NoSQL存儲(chǔ)出發(fā),演化出關(guān)系型數(shù)據(jù)庫能力,從而進(jìn)化成為分布式數(shù)據(jù)庫;而中間件型分布式數(shù)據(jù)庫則從關(guān)系型數(shù)據(jù)庫出發(fā),融合分布式特性增強(qiáng)架構(gòu)能力,最終成為分布式數(shù)據(jù)庫,二者殊途同歸。由于關(guān)系型數(shù)據(jù)庫的實(shí)現(xiàn)難度是遠(yuǎn)大于分布式存儲(chǔ)的,因此中間件型分布式數(shù)據(jù)庫相當(dāng)于走了捷徑,大幅降低了產(chǎn)品工程開發(fā)的工作量,同時(shí)降低了引入風(fēng)險(xiǎn)的可能性,基于現(xiàn)有生產(chǎn)數(shù)據(jù)庫也使其能夠更快地走向成熟、穩(wěn)健。而NewSQL的發(fā)展道路相對(duì)艱難,但它也帶來了數(shù)據(jù)庫架構(gòu)革命性的改變?;谝陨锨闆r,同時(shí)針對(duì)我司IT系統(tǒng)實(shí)際情況進(jìn)行考量,我們決定在NewSQL和中間件型分布式數(shù)據(jù)庫中慎重地各選其一進(jìn)行探索和引入,分別是TiDB、TDSQL-PG。其中TDSQL-PG為騰訊云TDSQL-PG產(chǎn)品系列中兼容ORACLE的版本,該版本具備HTAP能力,并兼容傳統(tǒng)數(shù)據(jù)庫協(xié)議。針對(duì)這兩款分布式數(shù)據(jù)庫產(chǎn)品,我們進(jìn)行了一些實(shí)踐。接下來我們選取其中兩個(gè)實(shí)踐案例來驗(yàn)證國(guó)產(chǎn)分布式數(shù)據(jù)庫的應(yīng)用價(jià)值。三、國(guó)產(chǎn)分布式數(shù)據(jù)庫TDSQL-PG應(yīng)用價(jià)值探索案例我司反洗錢系統(tǒng)目前擁有7T業(yè)務(wù)數(shù)據(jù)(大表記錄數(shù)十億級(jí)),應(yīng)用同時(shí)具備了OLAP和OLTP兩種業(yè)務(wù)行為,并且使用了存儲(chǔ)過程、窗口函數(shù)等復(fù)雜數(shù)據(jù)庫功能,在眾多業(yè)務(wù)系統(tǒng)中具有代表性。我們嘗試使用TDSQL-PG對(duì)其進(jìn)行適配落地,來驗(yàn)證分布式數(shù)據(jù)庫的應(yīng)用價(jià)值。我們組建了項(xiàng)目組并進(jìn)行了大量的適配和測(cè)試工作:挑選了典型的業(yè)務(wù)場(chǎng)景;部署了全量數(shù)據(jù)的測(cè)試環(huán)境;進(jìn)行了異構(gòu)數(shù)據(jù)遷移;針對(duì)目標(biāo)數(shù)據(jù)庫產(chǎn)品特性進(jìn)行了應(yīng)用的SQL改造;基于分布式的表結(jié)構(gòu)改造;以及各類數(shù)據(jù)庫軟件的適配性問題。接下來展示我們的探索過程。(一)選擇TDSQL-PG進(jìn)行適配如前所述,反洗錢業(yè)務(wù)兼?zhèn)淞薕LTP和OLAP的特征,對(duì)此TDSQL-PG的HTAP能力具備獨(dú)特優(yōu)勢(shì):1、滿足OLTP業(yè)務(wù)場(chǎng)景的高并發(fā)需求,同時(shí)也能解決計(jì)算能力的不足的問題;2、滿足OLAP業(yè)務(wù)場(chǎng)景的計(jì)算密集型需求,同時(shí)也能解決大數(shù)據(jù)量下的時(shí)延以及吞吐量問題;3、可獲得代價(jià)、性能、維護(hù)成本之間的權(quán)衡,同時(shí)考慮從原系統(tǒng)遷移大批量數(shù)據(jù)到TDSQL-PG所耗費(fèi)的代價(jià)較小。對(duì)比項(xiàng)TDSQL-PGTiDB適用場(chǎng)景OLTP和OLAPOLTP和OLAP分布式事務(wù)支持支持支持自定義函數(shù)支持不支持支持存儲(chǔ)過程支持不支持支持窗口函數(shù)支持支持分片鍵改造支持自動(dòng)指定不需要從上述對(duì)比中可以看出,TDSQL-PG相對(duì)于TiDB具備更優(yōu)的特性來對(duì)反洗錢系統(tǒng)進(jìn)行適配。應(yīng)用在適配改造過程中,涉及了表結(jié)構(gòu)分片化、后臺(tái)作業(yè)、框架升級(jí)以及頁面功能的改造。(二)適配收益1、高可用架構(gòu)能力的提升當(dāng)前反洗錢系統(tǒng)運(yùn)行在集中式數(shù)據(jù)庫上,使用傳統(tǒng)復(fù)制技術(shù)部署了一臺(tái)實(shí)時(shí)同步的備機(jī)。當(dāng)主庫故障的時(shí)候,需手工切換至備庫,同時(shí)應(yīng)用修改ip地址指向以恢復(fù)服務(wù)。即一主1備架構(gòu),切換為手工操作,高可用切換時(shí)效約為分鐘級(jí)。在反洗錢TDSQL-PG測(cè)試環(huán)境中,我們部署了3個(gè)DN的分布式集群。每個(gè)DN即為一個(gè)高可用單元,由1主1備共兩個(gè)副本組成,分別部署在2臺(tái)基于英特爾?至強(qiáng)?可擴(kuò)展處理器的X86服務(wù)器上。從副本數(shù)量上來說,其高可用能力相比當(dāng)前集中式架構(gòu)得到了增強(qiáng)。且得益于TDSQL-PG的分布式架構(gòu),反洗錢數(shù)據(jù)庫有了分散集中故障風(fēng)險(xiǎn)的能力。每個(gè)DN的主備之間均為自動(dòng)故障切換,時(shí)效為秒級(jí),因此從切換時(shí)效上來看,反洗錢數(shù)據(jù)庫的高可用能力也得到了增強(qiáng)。2、可擴(kuò)展性方面的改善反洗錢系統(tǒng)當(dāng)前的集中式架構(gòu)僅適用垂直擴(kuò)容。對(duì)于物理機(jī)服務(wù)器計(jì)算能力來說是幾乎無法實(shí)施擴(kuò)容的,如CPU、內(nèi)存。而對(duì)于存儲(chǔ)容量來說,垂直擴(kuò)容的量是有上限的,取決于硬件支持能力。我們無法無限制地掛載存儲(chǔ)盤到一臺(tái)服務(wù)器上,否則會(huì)引發(fā)服務(wù)器運(yùn)行穩(wěn)定方面的問題,并給運(yùn)維工作帶來困難。反洗錢主庫為接入了16T容量FC-SAN存儲(chǔ)的物理機(jī)服務(wù)器,備庫為VSAN存儲(chǔ)物理機(jī)服務(wù)器。當(dāng)前主庫服務(wù)器掛載的存儲(chǔ)容量已到達(dá)LinuxLVM單卷上限,掛載存儲(chǔ)盤數(shù)量已達(dá)18個(gè),繼續(xù)垂直擴(kuò)容的價(jià)格、維護(hù)成本極高。當(dāng)前存儲(chǔ)使用率高達(dá)90%,而行業(yè)監(jiān)管要求存放5年歷史數(shù)據(jù),預(yù)測(cè)其數(shù)據(jù)量還有40%左右的上漲,因此當(dāng)前反洗錢數(shù)據(jù)庫架構(gòu)已面臨嚴(yán)峻的容量考驗(yàn)。反洗錢TDSQL-PG架構(gòu)具備分布式優(yōu)勢(shì),適用橫向擴(kuò)展。數(shù)據(jù)以分片的方式存放在了各個(gè)DN中。當(dāng)集群中DN服務(wù)器資源平均使用率較高的時(shí)候,比如存儲(chǔ)容量,我們可以給集群添加一組DN,其中包含2臺(tái)服務(wù)器。也就是說,隨著反洗錢業(yè)務(wù)數(shù)據(jù)量不斷的上漲,總是可以通過給集群添加DN來進(jìn)行容量擴(kuò)充。而且操作在線進(jìn)行,可通過集群自身的平臺(tái)能力進(jìn)行自動(dòng)化管理。不僅存儲(chǔ)容量,承載了集群主要計(jì)算能力的CN節(jié)點(diǎn)也支持橫向擴(kuò)展。當(dāng)集群計(jì)算能力不足時(shí),則添加適當(dāng)數(shù)量的CN節(jié)點(diǎn),即達(dá)到擴(kuò)充計(jì)算能力的目的。3、性能對(duì)比我們給出典型業(yè)務(wù)場(chǎng)景下的性能對(duì)比結(jié)果:TDSQL-PG雙分片架構(gòu)在三個(gè)場(chǎng)景下優(yōu)于或不差于現(xiàn)有系統(tǒng),而TiDB有兩個(gè)場(chǎng)景優(yōu)于現(xiàn)有系統(tǒng),總耗時(shí)優(yōu)于現(xiàn)有系統(tǒng)。整體上來看反洗錢TDSQL-PG架構(gòu)表現(xiàn)良好,能夠滿足反洗錢業(yè)務(wù)場(chǎng)景的需求。4、自主可控及國(guó)產(chǎn)化在測(cè)試過程中,我們對(duì)基于英特爾?至強(qiáng)?可擴(kuò)展處理器的X86平臺(tái)下的TDSQL-PG版反洗錢系統(tǒng)進(jìn)行了驗(yàn)證,運(yùn)行穩(wěn)定,達(dá)到預(yù)期。使用TDSQL-PG的情況下,反洗錢系統(tǒng)即可脫離集中式數(shù)據(jù)庫的限制,實(shí)現(xiàn)完全自主可控,因此滿足行業(yè)國(guó)產(chǎn)化的要求。(三)案例總結(jié)經(jīng)過本次探索和實(shí)踐,我司發(fā)現(xiàn)基于TDSQL-PG的反洗錢系統(tǒng)在海量數(shù)據(jù)下的性能、擴(kuò)展能力、高可用、災(zāi)備、運(yùn)維、成本節(jié)約等方面都有顯著提升,TDSQL-PG作為分布式數(shù)據(jù)庫能夠?yàn)樽C券業(yè)務(wù)場(chǎng)景產(chǎn)生應(yīng)用價(jià)值。四、國(guó)產(chǎn)分布式數(shù)據(jù)庫TiDB應(yīng)用價(jià)值探索案例目前我司電商業(yè)務(wù)系統(tǒng)承載著千萬級(jí)別的用戶量,其中賬單系統(tǒng)承擔(dān)著高并發(fā)、海量數(shù)據(jù)的業(yè)務(wù),屬于典型互聯(lián)網(wǎng)系統(tǒng)。主要面臨兩方面的壓力:一方面是大數(shù)據(jù)量,業(yè)務(wù)存量數(shù)據(jù)超過百億,且每天都需要在交易系統(tǒng)清算完成后實(shí)時(shí)計(jì)算并將千萬級(jí)別的增量數(shù)據(jù)進(jìn)行同步;而另一方面是高并發(fā)請(qǐng)求,應(yīng)對(duì)千萬客戶實(shí)時(shí)請(qǐng)求的同時(shí),保證快速查出客戶數(shù)據(jù)以及接口性能。目前賬單的日均請(qǐng)求量已達(dá)到百萬級(jí)別。(一)適配前的情況未使用分布式數(shù)據(jù)庫前,賬單系統(tǒng)采用基于ShardingJDBC的分庫分表方案。對(duì)于賬單業(yè)務(wù)日表,規(guī)劃5年的容量,需要16個(gè)單體數(shù)據(jù)庫才能支持,每個(gè)庫包含32張表,總計(jì)五百多張表。分庫分表方案可以支持大量數(shù)據(jù)的存儲(chǔ)及訪問,但存在如下問題:已有分表擴(kuò)展字段困難,需要到每個(gè)分表新增字段;一開始就要評(píng)估好數(shù)據(jù)量確定好分庫分表規(guī)則,但是業(yè)務(wù)及用戶的增長(zhǎng)較難預(yù)估,或者后續(xù)修改分庫分表規(guī)則,數(shù)據(jù)擴(kuò)容遷移極其麻煩;數(shù)據(jù)同步需要有中間表,制約系統(tǒng)上線時(shí)間;需要業(yè)務(wù)定制很多定期器來管理所有分表的定時(shí)創(chuàng)建及清理;需要運(yùn)維多個(gè)數(shù)據(jù)庫。(二)選擇TiDB進(jìn)行適配TiDB作為一款開源分布式NewSQL數(shù)據(jù)庫,可以很好的部署和運(yùn)行在Intel架構(gòu)等物理機(jī)服務(wù)器及主流虛擬化環(huán)境,并支持絕大多數(shù)的主流硬件網(wǎng)絡(luò)。作為一款高性能數(shù)據(jù)庫系統(tǒng),TiDB支持主流的Linux操作系統(tǒng)環(huán)境。在使用分布式數(shù)據(jù)庫的時(shí)候,有個(gè)特點(diǎn),數(shù)據(jù)庫往往有性能瓶頸。當(dāng)性能達(dá)到這個(gè)瓶頸的時(shí)候,即使給數(shù)據(jù)庫分配再多CPU,數(shù)據(jù)庫的性能也依然無法提升。這是因?yàn)閿?shù)據(jù)庫相對(duì)于其他應(yīng)用來說,它為了支持ACID,它在內(nèi)部實(shí)現(xiàn)上會(huì)有非常多的鎖。因?yàn)檫@些鎖的存在造成了數(shù)據(jù)訪問的競(jìng)爭(zhēng),最終導(dǎo)致數(shù)據(jù)庫很難在超過一定核數(shù)下仍然保持性能的提升。要改變此問題,需要數(shù)據(jù)庫的層面對(duì)鎖進(jìn)行優(yōu)化,減小鎖的粒度,從而降低數(shù)據(jù)的訪問競(jìng)爭(zhēng),但這種訪問競(jìng)爭(zhēng)總是永遠(yuǎn)存在的。所以它對(duì)于CPU這一層架構(gòu)的實(shí)現(xiàn)也是一個(gè)挑戰(zhàn),第三代英特爾?至強(qiáng)?可擴(kuò)展處理器的CPU各層緩存都有明顯的增加。更大的緩存可以有效地降低數(shù)據(jù)訪問的延時(shí),從而更快地訪問數(shù)據(jù)。同時(shí),在CPU架構(gòu)里面,英特爾的Mesh架構(gòu)也可以明顯的降低數(shù)據(jù)沖突時(shí)候的訪問延時(shí);事務(wù)擴(kuò)展技術(shù)(IntelTSX)技術(shù)可以更精細(xì)地管理線程鎖定、提高多線程效率及性能,實(shí)現(xiàn)鎖開銷優(yōu)化。存儲(chǔ)的數(shù)據(jù)吞吐能力與時(shí)延成為決定數(shù)據(jù)庫性能表現(xiàn)的關(guān)鍵因素,3DNAND英特爾?固態(tài)盤,可以處理讀取密集型工作負(fù)載等任務(wù),為TiDB數(shù)據(jù)庫更高的性能表現(xiàn)奠定基礎(chǔ)。因此賬單系統(tǒng)也使用了基于英特爾?至強(qiáng)?可擴(kuò)展處理器的X86架構(gòu)的虛擬服務(wù)器來部署TiDB集群。TiDB可以兼容大部分MySQL語法,原有應(yīng)用的SQL僅需做少量改動(dòng)便可遷移到TiDB上面;同時(shí)使用VIP+HAProxy的方案,TiDB對(duì)于應(yīng)用來說就如一個(gè)傳統(tǒng)集中式數(shù)據(jù)庫。TiDB會(huì)對(duì)表自動(dòng)做分布式存儲(chǔ),應(yīng)用直接操作單表即可。(三)適配收益及案例總結(jié)從架構(gòu)上看,將原來的分庫分表方案替換為TiDB分布式數(shù)據(jù)庫方案,簡(jiǎn)化了開發(fā)和運(yùn)維負(fù)擔(dān)。從應(yīng)用上來看,適配TiDB之后特定的業(yè)務(wù)性能提升效果顯著。每日的同步時(shí)間大幅縮短,千萬級(jí)別的數(shù)據(jù)同步時(shí)間從原來的90分鐘縮減為現(xiàn)在的20分鐘,同步效率提升了80%;簡(jiǎn)化了同步邏輯,同時(shí)簡(jiǎn)化了表定時(shí)管理任務(wù)。我司新賬單系統(tǒng)已持續(xù)穩(wěn)定運(yùn)行一年。目前上線了多個(gè)子業(yè)務(wù),總數(shù)據(jù)量已超過百億。在生產(chǎn)運(yùn)維過程中,我們逐步完善了數(shù)據(jù)庫運(yùn)維配套管理,包括多數(shù)據(jù)中心容災(zāi)部署,以及監(jiān)控、備份、容災(zāi)、規(guī)范、技能培訓(xùn)等。通過本案例的實(shí)踐,我們發(fā)現(xiàn)TiDB作為分布式數(shù)據(jù)庫能夠?yàn)樽C券業(yè)務(wù)場(chǎng)景產(chǎn)生應(yīng)用價(jià)值。五、分布式數(shù)據(jù)庫在證券行業(yè)的應(yīng)用價(jià)值首先,國(guó)外商業(yè)數(shù)據(jù)庫已有幾十年的發(fā)展歷程,占據(jù)了全球高份額市場(chǎng),產(chǎn)品能力成熟。而相比之下,國(guó)產(chǎn)集中式數(shù)據(jù)庫在綜合產(chǎn)品能力上還處于起步和發(fā)展階段,需要借助架構(gòu)來彌補(bǔ)劣勢(shì);另外,隨著數(shù)據(jù)量日益增長(zhǎng),單體服務(wù)器性能瓶頸問題也越來越凸顯。以上需求導(dǎo)致了我們需要通過分布式架構(gòu)來解決容量擴(kuò)展問題,并提升可靠性和冗余度。以上種種,說明了分布式數(shù)據(jù)庫的一個(gè)核心特點(diǎn)和價(jià)值:架構(gòu)橫向擴(kuò)展能力。分布式數(shù)據(jù)庫有能力執(zhí)行單臺(tái)服務(wù)器無法完成的計(jì)算、存儲(chǔ)任務(wù),借助分布式架構(gòu)可以提高系統(tǒng)的整體可靠性和吞吐能力。但同時(shí)我們也注意到,分布式數(shù)據(jù)庫有擅長(zhǎng)的業(yè)務(wù)場(chǎng)景,也有能力無法覆蓋的場(chǎng)景。面對(duì)不同的應(yīng)用與環(huán)境,分布式數(shù)據(jù)庫既擁有特定的優(yōu)勢(shì)也存在某些劣勢(shì)。正如不存在完美的架
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合租房合同范文及模板
- 2025年帶燈棘輪扳手項(xiàng)目可行性研究報(bào)告
- 2025年重載空氣過濾器項(xiàng)目可行性研究報(bào)告
- 2025年耐光檸檬黃涂料項(xiàng)目可行性研究報(bào)告
- 2025年工件軸項(xiàng)目可行性研究報(bào)告
- 2025至2030年1-甲胺基蒽醌項(xiàng)目投資價(jià)值分析報(bào)告
- 建筑工程項(xiàng)目施工合同范本
- 物流公司聘用司機(jī)勞動(dòng)合同范本
- 農(nóng)產(chǎn)品購(gòu)銷合同補(bǔ)充協(xié)議
- 建筑安裝工程委托設(shè)計(jì)合同協(xié)議
- 《中國(guó)古代文學(xué)史——第四編:隋唐五代文學(xué)》PPT課件(完整版)
- 人教版數(shù)學(xué)八年級(jí)下冊(cè)全冊(cè)說課稿(PPT版)(共21張PPT)課件
- 政府采購(gòu)法專題課件(PPT 33頁)
- 材料大課堂鈦合金(課堂PPT)
- NRC蛋雞飼養(yǎng)標(biāo)準(zhǔn)
- 高數(shù)常微分方程-高階微分方程
- 項(xiàng)目總工崗位職責(zé)
- 【最新】中考?xì)v史專題復(fù)習(xí) 中外科技發(fā)展課件 新人教-新人教初中九年級(jí)全冊(cè)歷史課件
- 最新-路面標(biāo)線技術(shù)交底
- 醫(yī)院卒中質(zhì)量控制考核方案
- 立風(fēng)井瓦斯管路安裝施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論