2023數(shù)據(jù)庫(kù)的分類和評(píng)測(cè)_第1頁(yè)
2023數(shù)據(jù)庫(kù)的分類和評(píng)測(cè)_第2頁(yè)
2023數(shù)據(jù)庫(kù)的分類和評(píng)測(cè)_第3頁(yè)
2023數(shù)據(jù)庫(kù)的分類和評(píng)測(cè)_第4頁(yè)
2023數(shù)據(jù)庫(kù)的分類和評(píng)測(cè)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)分類方 %!%!"$!!:on-premises!+....................... 數(shù)據(jù)庫(kù)競(jìng)爭(zhēng)力維度及其評(píng)測(cè)指 NoSQL性能評(píng)測(cè)基準(zhǔn) 關(guān)系型數(shù)據(jù) OLTP:交易型數(shù)據(jù) 單機(jī)OLTP數(shù)據(jù) 集中式OLTP數(shù)據(jù) 分布式OLTP數(shù)據(jù) 云原生OLTP數(shù)據(jù) 如何鑒別OLTP數(shù)據(jù) OLAP:分析型數(shù)據(jù) 單機(jī)OLAP數(shù)據(jù) 集中OLAP數(shù)據(jù) 分布式OLAP數(shù)據(jù) 云原生OLAP數(shù)據(jù) 如何鑒別OLAP數(shù)據(jù) HTAP:混合型關(guān)系數(shù)據(jù) 單機(jī)HTAP數(shù)據(jù) 集中式HTAP數(shù)據(jù) 分布式HTAP數(shù)據(jù) 云原生HTAP數(shù)據(jù) 如何鑒別HTAP數(shù)據(jù) 非關(guān)系型數(shù)據(jù) 數(shù)據(jù)庫(kù)的比較與選 總結(jié)與展 行業(yè)皇冠上的明珠”從數(shù)據(jù)庫(kù)行業(yè)六十年的發(fā)展歷程來(lái)看,數(shù)據(jù)庫(kù)技術(shù)出現(xiàn)了百花爭(zhēng)鳴、百花齊放的大繁榮大發(fā)展。上世紀(jì)60年代數(shù)據(jù)庫(kù)概念被提出。七十年代關(guān)系數(shù)據(jù)庫(kù)逐步取代網(wǎng)狀和層次數(shù)據(jù)庫(kù),成為主宰。八十年代隨著SQL語(yǔ)言的提出,交易型(OTP)數(shù)據(jù)庫(kù)得到成熟發(fā)展。九十年代分析型(OLAP)數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)商業(yè)分析的增值服務(wù),得到企業(yè)公司的廣泛關(guān)注。本世紀(jì)初,隨著大數(shù)據(jù)和智能時(shí)代的到來(lái),用戶量和數(shù)據(jù)量越來(lái)越大,NoSQL數(shù)據(jù)庫(kù)由于其良好擴(kuò)展性得到快速發(fā)展。近十年,隨著云技術(shù)的發(fā)展和普及,云原生數(shù)據(jù)庫(kù)通過(guò)計(jì)算存儲(chǔ)分離架構(gòu)實(shí)現(xiàn)更高效的彈性,因此得到快速發(fā)展。近年來(lái)隨著應(yīng)用需求越來(lái)越多,對(duì)數(shù)據(jù)庫(kù)的需求呈現(xiàn)多元化趨勢(shì)。國(guó)產(chǎn)數(shù)據(jù)庫(kù)不論從學(xué)術(shù)界到工業(yè)界也都得到了快速發(fā)展。數(shù)據(jù)庫(kù)研發(fā)人員從不同角度出發(fā),設(shè)計(jì)了各式各樣的數(shù)據(jù)庫(kù),為用戶提供多種選擇。然而,面對(duì)市場(chǎng)上繁多復(fù)雜的數(shù)據(jù)庫(kù)產(chǎn)品,如何根據(jù)自身需求,合理選擇數(shù)據(jù)庫(kù),成為新的挑戰(zhàn)。本文對(duì)當(dāng)前使用廣泛的主流數(shù)據(jù)庫(kù),和新穎具有代表性的數(shù)據(jù)庫(kù),進(jìn)行了歸納整理。首先,第一章介紹了對(duì)數(shù)據(jù)庫(kù)分類的依據(jù)和方法。第二章介紹了對(duì)數(shù)據(jù)庫(kù)競(jìng)爭(zhēng)力的評(píng)價(jià)維度。第三章和第四章細(xì)致闡述了關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)的不同種類。最后,總結(jié)了選擇數(shù)據(jù)庫(kù)的兩種思路以供參考。定1(數(shù)據(jù)庫(kù)系統(tǒng))數(shù)據(jù)庫(kù)系統(tǒng)是按照特定數(shù)據(jù)結(jié)構(gòu)組織,存儲(chǔ)和管理數(shù)據(jù)的基礎(chǔ)軟對(duì)數(shù)據(jù)模型:關(guān)系型和非關(guān)系型;非關(guān)系型又包括:鍵值型(KV)(widecolumn)、時(shí)序、空間%!!$:.&+%!(on-按數(shù)據(jù)模型分類,數(shù)據(jù)庫(kù)分為關(guān)系型數(shù)據(jù)庫(kù)(SQL)和非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL)。關(guān)系型數(shù)據(jù)庫(kù)以關(guān)系代數(shù)為基礎(chǔ),按照二維數(shù)據(jù)表格為方式,對(duì)數(shù)據(jù)表格之間的關(guān)系進(jìn)行抽象和建模。按業(yè)務(wù)負(fù)載特征進(jìn)行分類,關(guān)系型數(shù)據(jù)庫(kù)又可分為交易型數(shù)據(jù)庫(kù)(OTP)、分析型數(shù)據(jù)庫(kù)(OLAP)和混合負(fù)載數(shù)據(jù)庫(kù)(HAP)。交易型數(shù)據(jù)庫(kù)滿足處理在線的實(shí)時(shí)交易事務(wù)場(chǎng)景,而分析型數(shù)據(jù)庫(kù)滿足分析業(yè)務(wù)場(chǎng)景。混合負(fù)載OLTP(OnlineTransactionProcessing):OLTP是能夠提供實(shí)OLAP(OnlineAnalyticalProcessing):OLAP是指支持對(duì)大規(guī)模數(shù)據(jù)進(jìn)行較為復(fù)雜HTAP(HybridTransactional/AnalyticalProcessing):HTAP事務(wù)處理和復(fù)雜數(shù)據(jù)分析的關(guān)系型數(shù)據(jù)庫(kù)。廣義的HTAP指的是同時(shí)支持OLTP和OLAP詢的數(shù)據(jù)庫(kù),而狹義的HTAP指的是同時(shí)支持行存列存以支持OLTP和OLAP鍵值數(shù)據(jù)庫(kù)(Key-Valuedatabase):對(duì)鍵值集合進(jìn)行存儲(chǔ)、檢索和管理的數(shù)據(jù)文檔數(shù)據(jù)庫(kù)(Documentdatabase):面向文檔進(jìn)行存(Widecolumndatabase):按列存圖數(shù)據(jù)庫(kù)(Graphdatabase):使用節(jié)點(diǎn)、邊和屬性來(lái)表示和存儲(chǔ)數(shù)據(jù),進(jìn)行基于圖結(jié)時(shí)序數(shù)據(jù)庫(kù)(Time-seriesdatabase):為包含個(gè)體、時(shí)間、狀態(tài)信息的實(shí)時(shí)流數(shù)據(jù)進(jìn)行存儲(chǔ)、檢索和管理數(shù)據(jù)庫(kù),適合于物聯(lián)網(wǎng)(IOT)、性能監(jiān)控服務(wù)(APM,ApplicationPerformanceManagement)空間數(shù)據(jù)庫(kù)(Spatialdatabase):針對(duì)二維或多維的空間數(shù)據(jù)進(jìn)行存按數(shù)據(jù)庫(kù)系統(tǒng)架構(gòu)角度分類,數(shù)據(jù)庫(kù)又可以分為集中式單機(jī)數(shù)據(jù)庫(kù)(Single)、集中式數(shù)據(jù)庫(kù)(shareeerything)、分布式數(shù)據(jù)庫(kù)(sharenothing)。集中式數(shù)據(jù)庫(kù)是一種經(jīng)典、傳統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu),被廣泛應(yīng)用于數(shù)據(jù)管理。其數(shù)據(jù)被集中存儲(chǔ)在存儲(chǔ)設(shè)備中,安全且易于處理。但是,集中式數(shù)據(jù)庫(kù)信息化投入成本高、性能及容量無(wú)法彈性擴(kuò)展的資源瓶頸等明顯的劣勢(shì),使以分布式為主要特征的數(shù)據(jù)庫(kù)系統(tǒng)的研究與開發(fā)受到人們的注意。分布式數(shù)據(jù)庫(kù)是分布在計(jì)算機(jī)網(wǎng)絡(luò)上,邏輯上相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)可以分散在多個(gè)位置,不同位置的計(jì)算機(jī)中存1:vsshareshare有數(shù)據(jù)庫(kù)管理系統(tǒng)的一份完過(guò)網(wǎng)絡(luò)互相連接,共同組成一個(gè)邏輯軟件系統(tǒng)的協(xié)調(diào)下形成一個(gè)對(duì)外提供服單機(jī):適用于數(shù)據(jù)量少、對(duì)服務(wù)可靠性要求不高的場(chǎng)景。一般都是sharedeverthing架集中式(withoutdatasharding):多臺(tái)機(jī)器聯(lián)合管理數(shù)據(jù),一般不對(duì)數(shù)據(jù)進(jìn)分布式(withdatasharding):將數(shù)據(jù)從物理上分割,并分配給多臺(tái)服務(wù)器(或多個(gè)實(shí)分布式中間件:基于單機(jī)數(shù)據(jù)庫(kù)、分庫(kù)分表中間件劃分?jǐn)?shù)據(jù),中間件實(shí)現(xiàn)數(shù)據(jù)的劃分、查詢下發(fā)、結(jié)果收集,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)庫(kù)的可擴(kuò)展性。適合數(shù)據(jù)能夠完美分片到各個(gè)節(jié)點(diǎn),節(jié)點(diǎn)間沒有數(shù)據(jù)交互的場(chǎng)景。分布式數(shù)據(jù)庫(kù):對(duì)數(shù)據(jù)進(jìn)行分片(sharding),通過(guò)!!!!$""!:on-On-premises#".&!#5!"-$!0%"(.k,%$!%5-以虛擬化、分布式化和運(yùn)維自動(dòng)化為基本原則的云計(jì)算技術(shù),采用通用硬件平臺(tái),提供資源快速發(fā)放、快速回收復(fù)用的彈性能力?;A(chǔ)架構(gòu)具備“跨AZ、跨域”分布式高可用和容災(zāi)能力。分布式數(shù)據(jù)庫(kù)在架構(gòu)層面天然具有與云平臺(tái)的高度親和力,基于底層虛擬化技術(shù),可以實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)彈性伸縮,副本冗余高可用,以及跨AZ、跨“地域(region)”的容災(zāi)能力。借助云平臺(tái)成熟統(tǒng)一的自動(dòng)化運(yùn)維工具,可以大幅降低數(shù)據(jù)庫(kù)運(yùn)維管理成本,利用云平臺(tái)運(yùn)維監(jiān)控?cái)?shù)據(jù)實(shí)現(xiàn)機(jī)器學(xué)習(xí)精準(zhǔn)訓(xùn)練,未來(lái)將實(shí)現(xiàn)基于機(jī)器學(xué)習(xí)的分布式數(shù)據(jù)庫(kù)自調(diào)優(yōu)、自診斷、自運(yùn)維的能力。云化轉(zhuǎn)型是行業(yè)發(fā)展趨勢(shì)。近年來(lái)云計(jì)算的迅速發(fā)展,使它成功地滲透到了各行各業(yè),并且在全球數(shù)字化轉(zhuǎn)型的時(shí)代,成為行業(yè)轉(zhuǎn)型的核心推動(dòng)力。以云計(jì)算技術(shù)提升效率、降低成本、創(chuàng)新業(yè)務(wù)模式以及靈活可變地利用IT架構(gòu)。但是,很多行業(yè)對(duì)于信息安全有很高的要求,對(duì)云環(huán)境的規(guī)劃、建設(shè)和運(yùn)維的專業(yè)性有著更高的要求。on-內(nèi)存數(shù)據(jù)庫(kù):將數(shù)據(jù)存儲(chǔ)在內(nèi)存中管理的數(shù)據(jù)庫(kù),能夠提供超快的響應(yīng)速度。但內(nèi)存AI與數(shù)據(jù)庫(kù):一方面通過(guò)AI技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的自優(yōu)化、自運(yùn)DB4AI:支持內(nèi)置AI算法的數(shù)據(jù)庫(kù),在數(shù)據(jù)管理、查詢處理、查詢優(yōu)化等各個(gè)角度AI4DB:利用AI算法優(yōu)化和管理數(shù)據(jù)庫(kù),使得數(shù)據(jù)庫(kù)更加智能,更好適應(yīng)不同場(chǎng)景。CPU/GPU數(shù)據(jù)庫(kù):將數(shù)據(jù)處理操作劃分在CPU和GPU上混合運(yùn)算的數(shù)據(jù)庫(kù)[22],一方面通過(guò)CPU來(lái)處理傳統(tǒng)的簡(jiǎn)單查詢和更新數(shù)據(jù)操作,另外一方面通過(guò)GPU來(lái)支持復(fù)雜分析和AI算法的加速。多模數(shù)據(jù)庫(kù):能夠支持處理多種數(shù)據(jù)模式混合的數(shù)據(jù)庫(kù)(例如關(guān)系、KV隨著數(shù)據(jù)庫(kù)應(yīng)用市場(chǎng)蓬勃發(fā)展,需求和產(chǎn)品多樣化,用戶選擇合適的數(shù)據(jù)庫(kù)變得越來(lái)越難。如何能夠客觀全面評(píng)價(jià)數(shù)據(jù)庫(kù)產(chǎn)品,成為研發(fā)和使用數(shù)據(jù)庫(kù)的重要內(nèi)容之一。本文從以下六個(gè)維度出發(fā),分別介紹相應(yīng)評(píng)測(cè)指標(biāo),用來(lái)比較數(shù)據(jù)庫(kù)擁有的競(jìng)爭(zhēng)力。高性能:主要評(píng)價(jià)數(shù)據(jù)庫(kù)的性能,例如QPS(querypersecond)、TPS(transactionsper高可用:主要評(píng)價(jià)數(shù)據(jù)庫(kù)的可用性和可靠性,例如RecoveryPointObjective(RPO)、RecoveryTimeObjective(RTO)。智能化:主要評(píng)價(jià)數(shù)據(jù)庫(kù)的易用性、自動(dòng)化和智能化,包括數(shù)據(jù)庫(kù)的自動(dòng)升級(jí)、備份、恢復(fù),以及數(shù)據(jù)庫(kù)的自調(diào)優(yōu)(參數(shù)自調(diào)優(yōu)、索引/視圖自推薦、慢SQL診斷等)、自監(jiān)控、自恢復(fù)等。事務(wù)性能管理委員會(huì)(TPC)評(píng)測(cè)OLTPTPC-ATPC-CTPC-E評(píng)測(cè)OLAPTPC-H針對(duì)TPC-DS針對(duì)衡量性能的評(píng)測(cè)指標(biāo),也具有多樣性,包括總執(zhí)行時(shí)間、吞吐量、能耗比等等[18]。其中,最具代表性的tpmC,是指運(yùn)行類似TPC-C負(fù)載時(shí),每分鐘可以處理的查詢數(shù)量;TPC-E的評(píng)測(cè)指標(biāo)為tpsE,以每秒事務(wù)數(shù)來(lái)衡量;TPC-H報(bào)告的性能指標(biāo)QphH@Size,代表綜合查Sysbench是一個(gè)開源的、模塊化的、跨平臺(tái)的多線程性能壓力測(cè)試工具,可以用來(lái)進(jìn)行CPU、內(nèi)存、磁盤I/O、線程、數(shù)據(jù)庫(kù)的性能測(cè)試。Sysbench模擬的表結(jié)構(gòu)較簡(jiǎn)單,不Memest基準(zhǔn)可以用來(lái)評(píng)測(cè)內(nèi)存數(shù)據(jù)庫(kù)。該基準(zhǔn)以銀行間轉(zhuǎn)賬應(yīng)用為背景,使用了一個(gè)包括6張表的數(shù)據(jù)庫(kù)模式。同時(shí)使用了5個(gè)針對(duì)內(nèi)存數(shù)據(jù)庫(kù)的度量標(biāo)準(zhǔn),包括響應(yīng)時(shí)間、CPU適用率、高速緩存缺失率、數(shù)據(jù)壓縮率和最小內(nèi)存空間。工作負(fù)載可分為兩類:第一類負(fù)載主要包括讀操作,第二類負(fù)載主要包括插入和刪除等操作。Yahoo!CloudServingBenchmark(YCSB)災(zāi)難恢復(fù)(Disasterrecovery)涉及一整套策略、修復(fù)工具和程序,旨在發(fā)生自然或人為災(zāi)害容災(zāi)容錯(cuò)和數(shù)據(jù)恢復(fù)能力越強(qiáng),其可用過(guò)RPO和RTO共同體現(xiàn)的服務(wù)連續(xù)性來(lái)評(píng)價(jià)數(shù)據(jù)庫(kù)的可用性:RPO:RecoveryPointObjective(RPO),是災(zāi)難(或中斷)可能導(dǎo)致的數(shù)據(jù)(事務(wù))丟失RTO:RecoveryTimeObjective(RTO),是災(zāi)難(或中斷)續(xù)時(shí)間和服務(wù)級(jí)別,主要指的是所能容忍的業(yè)務(wù)停止服務(wù)的最長(zhǎng)時(shí)間,也就是從災(zāi)難發(fā)生到業(yè)務(wù)系統(tǒng)恢復(fù)服務(wù)功能所需要的最短時(shí)間周期。TO不宜過(guò)長(zhǎng),以避免與業(yè)務(wù)連續(xù)性中斷相關(guān)的不可接受的后果。SLA:ServiceLevelAgreements(SLA)指的是與用戶協(xié)商好的可容忍數(shù)據(jù)修復(fù)時(shí)長(zhǎng)以“幾個(gè)9”數(shù)據(jù)庫(kù)需要選擇合適的RPO和RTO和一系列方案,以保證用戶提出的SLA般可用RPO和RTO來(lái)衡量主備切換時(shí)間多地多中心容災(zāi):將一主多備部署到多地多中心,從而可以解決地區(qū)級(jí)故障問(wèn)障多地多中心的RPO和TO是一個(gè)挑戰(zhàn)。特別是多地的網(wǎng)絡(luò)時(shí)延較大,保證RPO時(shí)性能較差,而保證性能時(shí),則RPO較大。高可靠定義為一個(gè)服務(wù)連續(xù)無(wú)故障運(yùn)行的時(shí)間,無(wú)故障運(yùn)行的時(shí)間越長(zhǎng)MTTF(MeanTimeToFailure,平均無(wú)故障時(shí)間),指系統(tǒng)無(wú)故障運(yùn)行的平均時(shí)間MTTR(MeanTimeToRepair,平均修復(fù)時(shí)間),指系統(tǒng)從發(fā)生故障到維修結(jié)束之間MTBF(MeanTimeBetweenFailure,平均失效間隔),指系統(tǒng)兩次故障發(fā)生時(shí)間之間在大數(shù)據(jù)時(shí)代和移動(dòng)互聯(lián)網(wǎng)時(shí)代,用戶非常關(guān)注數(shù)據(jù)庫(kù)系統(tǒng)的擴(kuò)展性,即在系統(tǒng)中增加計(jì)算節(jié)點(diǎn),能帶來(lái)多少收益。這里從強(qiáng)擴(kuò)展(strongscaling)和弱擴(kuò)展(eakscaling)兩個(gè)角度,采用加速比和擴(kuò)展效率兩個(gè)度量來(lái)衡量系統(tǒng)的擴(kuò)展性。YCSB分別從這兩個(gè)角度,提供了云服務(wù)系統(tǒng)的擴(kuò)展性評(píng)測(cè)方案。加速比(speedup):強(qiáng)擴(kuò)展是指在任務(wù)總量不變的情況下,當(dāng)機(jī)器數(shù)量增長(zhǎng)時(shí),完成任務(wù)所需時(shí)間1的延時(shí)方可完到n時(shí),僅需Tn的時(shí)長(zhǎng)即可完定義加速比Sn=T1隨著機(jī)器數(shù)量增長(zhǎng)而線性增加(斜率為1)Amdahl’slaw,在機(jī)器數(shù)量增長(zhǎng)到一定程度擴(kuò)展比:擴(kuò)展比是指在任務(wù)量與機(jī)器數(shù)量同步成比例增長(zhǎng)時(shí)(或任務(wù)量源源不斷無(wú)限產(chǎn)生考察單位時(shí)間內(nèi)平均每臺(tái)機(jī)器處理的數(shù)據(jù)量/事務(wù)/分析的變化情況。僅使用一臺(tái)機(jī)器提供服務(wù)時(shí),單位時(shí)間內(nèi)的吞吐量用Q1表示。當(dāng)系統(tǒng)中的機(jī)器數(shù)量擴(kuò)展到n時(shí),Qn表示單位時(shí)間內(nèi)平均每臺(tái)機(jī)器的吞吐量?;诖?,可以定義擴(kuò)展效率En=Qn。理想情況下的擴(kuò)展效率值為1,即每臺(tái)機(jī)器處理速度保持不變。但是由于節(jié)點(diǎn)間的通信代價(jià)等原因,使得數(shù)據(jù)庫(kù)系統(tǒng)的擴(kuò)展效率一般始終小于1。因此,若數(shù)據(jù)庫(kù)經(jīng)過(guò)優(yōu)化后,其擴(kuò)展效率越趨向于1對(duì)于具有混合任務(wù)的數(shù)據(jù)庫(kù),例如HAP,需要綜合多方面的評(píng)測(cè)結(jié)果,得到最終評(píng)價(jià)。HAP數(shù)據(jù)庫(kù)的評(píng)測(cè),可以分為OLAP和OTP兩部分,但是單獨(dú)評(píng)價(jià)顯然有失偏頗。所以需要將兩類負(fù)載進(jìn)行混合,生成新的評(píng)測(cè)基準(zhǔn),進(jìn)行評(píng)測(cè)。現(xiàn)在還缺少測(cè)試混合負(fù)載的基準(zhǔn),急需給出相應(yīng)的基準(zhǔn)來(lái)進(jìn)行評(píng)測(cè)。例如可以混合TPC-C和TPC-H來(lái)測(cè)試HAP能力,但是它還不能深刻評(píng)測(cè)HAP的能力。對(duì)于多模數(shù)據(jù)庫(kù),可以處理多種數(shù)據(jù)類型,則需要綜合不同數(shù)據(jù)類型對(duì)信息安全性指標(biāo),包括身份鑒別、訪問(wèn)控制、安全審(1評(píng)估是否對(duì)登錄用戶進(jìn)行身份標(biāo)識(shí)和鑒別,核查標(biāo)識(shí)唯一性、鑒別信息復(fù)雜性、更換周期性要求;(2)評(píng)估是否對(duì)登錄失敗及登錄超時(shí)情況進(jìn)行處理;(3)SSL/SSH等安全的遠(yuǎn)程連接方式以保證重要信息的加密傳輸;(4)是否支持雙因素身份認(rèn)證。訪問(wèn)(1)數(shù)據(jù)庫(kù)的賬戶和權(quán)限分配策略;(2)檢查數(shù)據(jù)庫(kù)系統(tǒng)是否可設(shè)置安全策略,持用戶和/或用戶組可以根據(jù)身份規(guī)定對(duì)庫(kù)表的訪問(wèn)控制策略3訪問(wèn)控制的粒度應(yīng)達(dá),安全審安全審計(jì)評(píng)估數(shù)據(jù)庫(kù)的日志記錄及審計(jì)功能,審計(jì)應(yīng)覆蓋到每個(gè)用戶并對(duì)戶行為和重要安全事件進(jìn)行審計(jì)審計(jì)記錄可備份審計(jì)進(jìn),但遺憾的是,據(jù)我們所知,沒有公認(rèn)的可以專門分析數(shù)據(jù)庫(kù)安EALEAL1EAL2EAL3EAL4TPCx-AI是端到端的AI基準(zhǔn),用于衡量端到端機(jī)器學(xué)習(xí)平臺(tái)或數(shù)據(jù)科學(xué)平臺(tái)的性能?;鉀Q方案的行為。括數(shù)據(jù)管理、預(yù)處理、訓(xùn)練、評(píng)分以及服務(wù)階段。TPCx-AI還試圖解決關(guān)鍵挑戰(zhàn),如擴(kuò)展到更數(shù)據(jù)集:TPCx-AI模擬真實(shí)數(shù)據(jù)場(chǎng)景,生成最大10TBOLTP事務(wù)(ransaction)是操作數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作序列,要求保證CID,即原子性(tomiciy)一致性(Consistency)、隔離性(Isolation)、持久性(Durabiliy)。OTP(OnlineransactionPro-cessing)數(shù)據(jù)庫(kù)是能夠提供實(shí)時(shí)在線處理事務(wù)時(shí)保證強(qiáng)一致性(CID)的關(guān)系型數(shù)據(jù)庫(kù),也稱交易型數(shù)據(jù)庫(kù)。為了滿足事務(wù)處理的CID四個(gè)性質(zhì),需要用到事務(wù)處理技術(shù),主要包括并發(fā)控制技術(shù)和數(shù)據(jù)庫(kù)恢復(fù)技術(shù)。其中,并發(fā)控制機(jī)制用來(lái)控制多個(gè)事務(wù)的同時(shí)運(yùn)行,避免它們之間的互相干擾,保證每個(gè)事務(wù)都產(chǎn)生正確的結(jié)果。數(shù)據(jù)庫(kù)恢復(fù)機(jī)制用來(lái)進(jìn)行系統(tǒng)失敗后的恢復(fù)處理,確保數(shù)據(jù)庫(kù)能夠恢復(fù)到正確狀態(tài)[1]。為了便于添加或者修改數(shù)據(jù)集中某一條記錄,提供OTP服務(wù)的數(shù)據(jù)庫(kù)通常采用按行存儲(chǔ)的方式。在面對(duì)海量數(shù)據(jù)時(shí),為了提高I/O效率,建立相應(yīng)索引,便于讀取。然而,在每條記錄包含內(nèi)容過(guò)多的情景中,按行訪問(wèn)的方式,會(huì)導(dǎo)致大量不必要數(shù)據(jù)的讀入。如何減小數(shù)據(jù)庫(kù)的相應(yīng)延遲,增加吞吐量,是核心目標(biāo)之一。TPC-C:TPC組織提出并維護(hù)模擬倉(cāng)庫(kù)訂單管理的應(yīng)用。TPC-C包含9張表,各表所含的記錄條數(shù)具有比例關(guān)系。設(shè)計(jì)了5種事務(wù),比較全面的涵蓋了倉(cāng)庫(kù)訂單管理業(yè)務(wù)。采用tpmC量,描述每分鐘處理的事務(wù)數(shù);鑒于能耗越來(lái)越受到重視,也引入瓦特/tmpC(即每個(gè)tpm的能量消耗)。Sysbench:多線程基準(zhǔn)測(cè)試工具,常用于數(shù)據(jù)庫(kù)基準(zhǔn)測(cè)試,對(duì)數(shù)千并發(fā)線程按秒測(cè)試CPU內(nèi)存占用、文件I/O、延遲多節(jié)點(diǎn)寫:YCSB是由雅虎研究院設(shè)計(jì),頻繁更新是它構(gòu)造5類負(fù)載之一(其余四個(gè)為頻繁[20]。非索引列查詢:TPC-E基準(zhǔn)比TPC-C的數(shù)據(jù)庫(kù)模式更為復(fù)雜,負(fù)載中包括了非主鍵訪問(wèn)等等。TPC-E比以前的OLTP基準(zhǔn)(如TPC-C)更復(fù)雜,因?yàn)樗哂卸鄻踊氖聞?wù)類型、更復(fù)TPC-E12種不同類型和復(fù)雜性的并發(fā)交易,它們要么在線執(zhí)行,要么由價(jià)格或時(shí)間33個(gè)表組成,具有廣泛的列、基數(shù)和縮放屬性。雖然基準(zhǔn)描述了股票經(jīng)紀(jì)公司的活動(dòng),但TPC-E并不限于任何特定業(yè)務(wù)部門的活動(dòng),而單機(jī)OLTP支持單機(jī)、一主多備、一寫多讀的數(shù)據(jù)庫(kù)業(yè)界代表包括MySQL、PostgreSQL、openGaussMogDB等。傳統(tǒng)的Oracle、DB2、SQLServer2:一寫多讀OLTPSQLSQLSQLSQL集中式OLTP單機(jī)數(shù)據(jù)庫(kù)、一主多備數(shù)據(jù)庫(kù)、一寫多讀數(shù)據(jù)庫(kù)的寫擴(kuò)展能力受到了限制,當(dāng)寫請(qǐng)求量較大時(shí)單節(jié)點(diǎn)寫不能滿足需求,因此集中式的多寫數(shù)據(jù)庫(kù)可以解決寫擴(kuò)展問(wèn)題。多寫數(shù)據(jù)庫(kù)通過(guò)“雙機(jī)(actie-actie)”配置將數(shù)據(jù)庫(kù)擴(kuò)展到一組服務(wù)器上,以便交付高水平的可用性和可伸縮性。多寫數(shù)據(jù)庫(kù)業(yè)界代表包括Oracle、IBMPureScale分布式OLTP然而很多數(shù)據(jù)量較大和用戶并發(fā)較高的場(chǎng)景,比如雙11的訂單服務(wù),多用戶并發(fā)的事務(wù)會(huì)同時(shí)具有讀和寫的需求。為了能夠完全擴(kuò)展讀寫服務(wù),支持大規(guī)模的OTP應(yīng)用,分布式中間件和分布式數(shù)據(jù)庫(kù)應(yīng)用而生。目前有兩種方案來(lái)解決數(shù)據(jù)庫(kù)的可擴(kuò)展問(wèn)題,一種是分庫(kù)分表+中間件,它將數(shù)據(jù)劃分到不同的節(jié)點(diǎn),然后再通過(guò)中間件聚合。但是這種方案復(fù)雜度高、偏定制化、可復(fù)制性差,不能保證數(shù)據(jù)實(shí)時(shí)一致性要求,而且支持復(fù)雜的跨節(jié)點(diǎn)查詢處理速度慢;另外一種是分布式數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)通過(guò)數(shù)據(jù)分片的方式,每個(gè)節(jié)點(diǎn)來(lái)管理一個(gè)數(shù)據(jù)分片,可以通過(guò)增加分片來(lái)支撐數(shù)據(jù)的增長(zhǎng),不僅可以提升數(shù)據(jù)庫(kù)的可擴(kuò)展性,而且能夠?yàn)榭蛻魩?lái)更多業(yè)務(wù)價(jià)值。分布式數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是將復(fù)雜的分布式事務(wù)處理(GTM–GlobalransactionManager)和分布式查詢優(yōu)化(DistributedOptimizer)管理機(jī)制,不存在中心化的事務(wù)管理模塊,實(shí)現(xiàn)了真正的分布式事務(wù)。分布式數(shù)據(jù)庫(kù)在數(shù)據(jù)可靠性、副本同步、查詢性能、數(shù)據(jù)一致性、服務(wù)可用性等方面都優(yōu)于分布式中間件。分布式中間件:在多個(gè)傳統(tǒng)單點(diǎn)數(shù)據(jù)庫(kù)系統(tǒng)上的中間層解決方案,通過(guò)將數(shù)據(jù)分拆到不同的中間件數(shù)據(jù)庫(kù)業(yè)界代表包括DRDS、ShardingSphere、MyCAT對(duì)數(shù)據(jù)庫(kù)SQL引擎、執(zhí)行引擎、存儲(chǔ)引擎原生技術(shù)開分布式數(shù)據(jù)庫(kù)業(yè)界代表包括Spanner、GaussDB(openGauss)、OceanBase、PolarDB-XTiDB、CockroachDB、Yugabyte、TDSQL云原生OLTP云數(shù)據(jù)庫(kù)服務(wù)一般將PostgreSQL、MySQL、SQLServer等數(shù)據(jù)庫(kù)部署到云上部署(容力,前者主要解決云彈性問(wèn)題,后者解決磁盤和網(wǎng)絡(luò)IO問(wèn)對(duì)應(yīng)優(yōu)勢(shì)包括如下云原生數(shù)據(jù)庫(kù)業(yè)界代表包括Aurora、Taurus、PolarDB如何鑒別OLTP鑒別分布式中間件和分布式數(shù)據(jù)庫(kù)主要通過(guò)OLAP隨著存儲(chǔ)的數(shù)據(jù)量越來(lái)越大,用戶可以通過(guò)分析大規(guī)模歷史數(shù)據(jù),進(jìn)OLAP(OnlineAnalyticalProcessing)是指一類支持對(duì)大規(guī)模數(shù)據(jù)進(jìn)行較OLAP分析查詢面向某一主題的數(shù)據(jù),嘗試從集成數(shù)據(jù)中發(fā)掘新知識(shí),所以可能執(zhí)行分析查詢前,用戶自身對(duì)結(jié)果的情況也是未知的。列存儲(chǔ)(Column-oriented),多維存儲(chǔ)。優(yōu)勢(shì):只需要讀取相關(guān)數(shù)據(jù)。劣勢(shì):對(duì)LLVM編譯優(yōu)化技術(shù),通過(guò)靜態(tài)編譯AOT和動(dòng)態(tài)編譯JIT通過(guò)sharescanTPC-H:TPC-H基準(zhǔn)模擬商務(wù)采購(gòu)應(yīng)用,其數(shù)據(jù)庫(kù)模式包含8張表,分別代表參與商業(yè)領(lǐng)域中采購(gòu)和訂購(gòu)的對(duì)象或行為。性能評(píng)測(cè)基準(zhǔn)定義了22個(gè)復(fù)雜查詢語(yǔ)句和2個(gè)更新數(shù)據(jù)語(yǔ)句。數(shù)據(jù)庫(kù)的規(guī)模由標(biāo)度因子決定,從1GB到100TB不等。TPC-H基準(zhǔn)以每小時(shí)內(nèi)執(zhí)行的查詢數(shù)作為度量標(biāo)準(zhǔn)[18]。TPC-DS:TPC-DS與TPC-H相比,在四方面做了改進(jìn)。首先,數(shù)據(jù)庫(kù)模式使用共享的雪花模式,包含24張表,平均每張表含有18載包含99個(gè)隨機(jī)可替換的SQL查詢,具有更強(qiáng)的代表性。最后,還包括數(shù)據(jù)抽取、轉(zhuǎn)換和加載功能。TPC-DS基準(zhǔn)定義了3個(gè)主要度量和4個(gè)輔1.每小時(shí)內(nèi)執(zhí)行完畢的查詢樹,已描述查詢吞吐率;2.每小時(shí)內(nèi)執(zhí)行的查詢數(shù)的性價(jià)比;3.[18]。JOB:主要用于連接順序的選擇,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的查詢效率有重要影響。在評(píng)價(jià)數(shù)據(jù)庫(kù)接順序的優(yōu)化效率時(shí),可以使用JOB(JoinOrderBenchmark)進(jìn)單機(jī)OLAP單機(jī)的計(jì)算資源受限,處理龐大數(shù)據(jù)分析十分困難,對(duì)復(fù)雜分析更無(wú)法應(yīng)對(duì)此OLAP集中OLAP集中數(shù)據(jù)庫(kù)一般采用sharestorage架構(gòu),而OLAP一般是IO和計(jì)算密集型操作,這適合于OLAP操作,因此OLAP分布式OLAP1:OLTP、OLAP、分布式OLAP數(shù)據(jù)庫(kù)業(yè)界代表包括TeraData、Greenplum、GaussDB(DWS)、AnalyticDBBigquery、Clickhouse此外,還有大數(shù)據(jù)系統(tǒng)支持OLAP功能,例如HIVE、SparkSQl等,它據(jù)的離線分析。而OLAP云原生OLAP云原生OLAP數(shù)據(jù)庫(kù)也需要解決計(jì)算存儲(chǔ)分離、元數(shù)據(jù)解耦、計(jì)算下推問(wèn)題,從而可以解決擴(kuò)容問(wèn)題,提升了擴(kuò)容速度。云服務(wù)層存儲(chǔ)管理計(jì)算集群、查詢、事務(wù)以及所有元數(shù)據(jù)(如數(shù)據(jù)庫(kù)目錄、訪問(wèn)控制信息等)的服務(wù)集合底層存儲(chǔ)中。云原生OLAP業(yè)界代表包括Redshift、SnowFlake和BigQuery3:云原生OLAPBIappend-Server如何鑒別OLAP由于分析型數(shù)據(jù)庫(kù)需要較大算力來(lái)支持?jǐn)?shù)據(jù)分析,因此分析型數(shù)據(jù)庫(kù)主要采用分布式架構(gòu),利用多節(jié)點(diǎn)來(lái)提升計(jì)算性能。HTAP:HAP能同時(shí)提供OTP和OLAP的混合關(guān)系型數(shù)據(jù)庫(kù),我們稱之為HAP(Hybridtransac-tionandanalysisprocessing)。廣義的HAP數(shù)據(jù)庫(kù),能夠在關(guān)系數(shù)據(jù)模型上進(jìn)行OTP時(shí)具有強(qiáng)一致性保證,并且融合了分布式能力從而同時(shí)具有高擴(kuò)展性[5]。狹義的HAP數(shù)據(jù)庫(kù)指的是采用行列混存或者行列轉(zhuǎn)化技術(shù)來(lái)同時(shí)支持事務(wù)能力和分析功能。以O(shè)racle為例,最初的設(shè)計(jì)面向OTP服務(wù),而隨著OLAP日趨發(fā)展,最近發(fā)布的Oracle版本開始同時(shí)支持OLAP服務(wù),所以成為了廣義上的HAP數(shù)據(jù)庫(kù)(如圖1所示)。而是否屬于狹義HAP的概念,需要根據(jù)其支持的存儲(chǔ)技術(shù)、行列轉(zhuǎn)換、查詢處理技術(shù)等綜合決定??梢灾С諳LTP服務(wù),保證事務(wù)處理的強(qiáng)一致性ACID具有分布式數(shù)據(jù)管理能力,包括采用備份機(jī)制保證容錯(cuò)性,采用Raft算法或Pixos目前支持HTAP行存為主,內(nèi)存列存為輔:以行存為主支持?jǐn)?shù)據(jù)的增刪改查,以列存為輔(內(nèi)存中行轉(zhuǎn)列)來(lái)支持復(fù)雜分析。其主要難點(diǎn)在于選擇哪些數(shù)據(jù)轉(zhuǎn)為列存、如何用行存和列存詢。代表系統(tǒng)為Oracle。主機(jī)行存,備機(jī)內(nèi)存列存:主機(jī)采用行存,備機(jī)通過(guò)log復(fù)制轉(zhuǎn)為內(nèi)存列存力。代表系統(tǒng)為MySQLHeatWave多副本行列共存。通過(guò)多副本進(jìn)行存儲(chǔ),主采用行存,副本采用列存。代表性系統(tǒng)為TiDB實(shí)現(xiàn)HTAP的技術(shù)主要包括:行列轉(zhuǎn)換技術(shù)、行列共存的查詢優(yōu)化技術(shù)、行列共存CH-Benchmark:CH-Benchmark融合了TPC-C和TPC-H兩種基準(zhǔn)。它選取典型OLAP+OLTP單機(jī)HTAP單機(jī)HAP數(shù)據(jù)庫(kù)一般是通過(guò)一臺(tái)主機(jī)同時(shí)支持行存和列存,內(nèi)存中進(jìn)行行轉(zhuǎn)列,從而支持HAP。而一寫多讀數(shù)據(jù)庫(kù)則是通過(guò)日志將主機(jī)數(shù)據(jù)傳遞給備機(jī),備機(jī)將其轉(zhuǎn)為列存,從而支持HAP。目前的HAP的業(yè)界代表是MySQLHeate。其基于原有的MySQL數(shù)據(jù)庫(kù)提供負(fù)責(zé)事務(wù)處理,緊密集成的Heae云服務(wù)以基于內(nèi)存的分布式列存引擎用于加速?gòu)?fù)雜查詢。此外,分析型查詢由系統(tǒng)查詢引擎基于代價(jià)估計(jì)后決定是否下推到內(nèi)存列引擎中執(zhí)行,常被訪問(wèn)的熱數(shù)據(jù)將會(huì)留在內(nèi)存中,不常使用的冷數(shù)據(jù)將會(huì)被壓縮后持久化到外存中。MySQL的事務(wù)更新定期(如200ms的間隔)向內(nèi)存中的分布式列存同步,保證數(shù)據(jù)分析的新鮮度。一個(gè)新的特性是其能夠利用結(jié)合Autopilot服務(wù)利用機(jī)器學(xué)習(xí)技術(shù)自動(dòng)優(yōu)化行列混存,包括如何壓縮列存,如何選擇列到內(nèi)存,以及何時(shí)將行存同步到列存等。集中式HTAP傳統(tǒng)的Oracle數(shù)據(jù)庫(kù)支持廣義的HAP,即同時(shí)支持交易和分析,并通過(guò)In-Memory支持行列共存。Oracle通過(guò)內(nèi)存行轉(zhuǎn)列技術(shù)來(lái)支持OLAP。目前DB2、SQLSerer、MySQL通過(guò)內(nèi)存行轉(zhuǎn)列來(lái)支持HAP。集中式HAP數(shù)據(jù)庫(kù)業(yè)界代表包括Oracle、DB2、SQLSerer。Oracle在自己原生的行存上集成了基于內(nèi)存的列存儲(chǔ)。行存儲(chǔ)通過(guò)緩存進(jìn)行數(shù)據(jù)的更新、點(diǎn)查詢和短范圍查詢。列存儲(chǔ)可通過(guò)壓縮編碼和SIMD等技術(shù)進(jìn)行查詢加速。同時(shí),最新的更新數(shù)據(jù)會(huì)被記錄到作為增量行存儲(chǔ)的堆表中,以便列存儲(chǔ)訪問(wèn)最新數(shù)據(jù)。IBMDB2在原有行存的基礎(chǔ)上結(jié)合BLU內(nèi)存加速器針對(duì)HAP負(fù)載進(jìn)行優(yōu)化。基于行存的DB2關(guān)系數(shù)據(jù)庫(kù)支持全CID特性,并可通過(guò)內(nèi)存優(yōu)化寫操作。其增加的BLU加速器基于列存設(shè)計(jì),也同時(shí)面向內(nèi)存優(yōu)化,并能夠通過(guò)基于頻率的字典壓縮數(shù)據(jù),單指令、多數(shù)據(jù)(Single-Instruction,MultipleData,SIMD)等技術(shù)提升分析性能。特別地,DB2的更新操作可通過(guò)基于內(nèi)存的增量緩沖區(qū)快速同步到BLU的列存中。SQLSerer通過(guò)建立列存索引在內(nèi)存表上的方式來(lái)加速分析型查詢。本質(zhì)上,在內(nèi)存中的列存索引也是一種形式的列存,因?yàn)樗嗽摿械乃袛?shù)據(jù)。SQLSerer在原有的基于磁盤的行存引擎基礎(chǔ)上集成了基于內(nèi)存的Heaton行引擎和基于內(nèi)存的Apollo列引擎。其基于內(nèi)存的行存引擎不僅可以處理事務(wù)操作,還會(huì)將最新的更新保留在內(nèi)存表的尾部作為增量行存儲(chǔ),這樣列存也能夠同時(shí)訪問(wèn)增量最新數(shù)據(jù)。SQLSerer的列索引分為聚集列索引和非聚集列索引。聚集列索引包含了所指向內(nèi)存表的所有列數(shù)據(jù),非聚集列索引只包含部分列數(shù)據(jù)。列索引將行數(shù)據(jù)以100萬(wàn)為一個(gè)單位分為組后,分段進(jìn)行壓縮索引。所有列分段和壓縮字中進(jìn)行保存,元數(shù)據(jù)可以幫助所有分段組成一個(gè)完整列。被頻繁使用的列索引會(huì)被放入內(nèi)存中以減少磁盤I/O,不頻繁使用的列索引放到外存中。分布式HTAP一種是以內(nèi)存型主列存為基礎(chǔ)結(jié)合增量行存支持HAP。主列存主要處理OLAP類分析查詢,增量行存負(fù)責(zé)OTP類事務(wù)操作,并直接將更新數(shù)據(jù)定期合并到主列存中。此類系統(tǒng)因?yàn)橐粤写鏋橹鳎設(shè)LAP的性能很高,且增量行存直接與列存連接,數(shù)據(jù)分析的新鮮度也很高。但其缺點(diǎn)也很明顯,就是OTP處理性能中等,擴(kuò)展性也不高,負(fù)載隔離性很低。分布式HAP數(shù)據(jù)庫(kù)業(yè)界代表性系統(tǒng)是SAPHANA。它的主列存可通過(guò)壓縮,向量執(zhí)行和OLAP多維分析等技術(shù)進(jìn)行查詢加速。另外,其利用CPU的多級(jí)緩存機(jī)制優(yōu)化事務(wù)處理。其中L1緩存用于做針對(duì)行的寫操作,然后數(shù)據(jù)會(huì)同時(shí)寫到Redo日志里進(jìn)行持久化;L2緩存導(dǎo)入,然后將數(shù)據(jù)轉(zhuǎn)換成列個(gè)格式并合并到列式主存中。最后列主存用于查詢加速與數(shù)據(jù)的持久化另外一種是以分布式架構(gòu)支持混合事務(wù)與分析處理。其分布式行存為主存儲(chǔ),列存為行存的副本,主節(jié)點(diǎn)在處理事務(wù)時(shí)寫入日志,并異步式地向其他節(jié)點(diǎn)發(fā)送最新日志,通過(guò)分布式協(xié)議進(jìn)行事務(wù)處理。其中,有部分節(jié)點(diǎn)會(huì)被選為列存節(jié)點(diǎn),負(fù)責(zé)加速?gòu)?fù)雜查詢。特別地,只有行存節(jié)點(diǎn)參與事務(wù)協(xié)議,列存節(jié)點(diǎn)不參與分布式事務(wù),只有當(dāng)事務(wù)成功提交后將最新日志復(fù)制到本地,將行數(shù)據(jù)轉(zhuǎn)換成列數(shù)據(jù)后寫入持久存儲(chǔ)。由于事務(wù)和查詢分別在行存節(jié)點(diǎn)和列存節(jié)點(diǎn)上處理,此類系統(tǒng)具有高度負(fù)載隔離性。另外,由于完全基于分布式架構(gòu),此類系統(tǒng)面向OTP和OLAP的擴(kuò)展性都很高。然而,由于數(shù)據(jù)同步需要分布式地以日志傳送,因而其數(shù)據(jù)分析的新鮮度偏低。分布式HAP數(shù)據(jù)庫(kù)業(yè)界代表性系統(tǒng)是TiDB。其基于Raft日志回放技術(shù)在oller節(jié)點(diǎn)上建立行存的同時(shí)向Learner節(jié)點(diǎn)異步地存儲(chǔ)一個(gè)列存副本。通過(guò)建立一個(gè)增量列式樹,系統(tǒng)可定期將更新合并到列存副本中,保持?jǐn)?shù)據(jù)的一致性。TiDB的SQL引擎針對(duì)分布式行存儲(chǔ)通過(guò)兩階段提交2PC的方式實(shí)現(xiàn)了可重復(fù)讀的事務(wù)隔離級(jí)別。除此之外,其還能基于壓縮后的列存副本進(jìn)行查詢加速。TiDB實(shí)現(xiàn)了一個(gè)基于代價(jià)模型的查詢優(yōu)化器。根據(jù)代價(jià)估計(jì),系統(tǒng)可決定查詢計(jì)劃在行存,或列存,或行列混合執(zhí)行,即查詢的部分操作在行引擎操作,部分操作在列引擎操作,然后結(jié)果通過(guò)合并后統(tǒng)一返回給用戶。類似的系統(tǒng)還有Singlestore,一個(gè)基于MemSQL原內(nèi)核開發(fā)的內(nèi)存型分布式數(shù)據(jù)庫(kù),其基于原基于行存的分布式架構(gòu),在部分節(jié)點(diǎn)持久化時(shí)寫入列存副本,用于加速查詢。稍有不同的是,Singlestore采用主備分布式架構(gòu),不采用分布式事務(wù)處理,而是利用主節(jié)點(diǎn)處理完事務(wù)后,同步到其他副節(jié)點(diǎn)。云原生HTAP云原生HTAP數(shù)據(jù)庫(kù)也是通過(guò)計(jì)算存儲(chǔ)分離來(lái)提升HTAP數(shù)據(jù)庫(kù)的彈性。目前Oracle和MySQL供了云服務(wù)的HTAP如何鑒別HTAPHTAP數(shù)據(jù)庫(kù)目的是同時(shí)支持OLTP和OLAP查詢,因此鑒別方法是構(gòu)造同時(shí)需要OLTP和OLAP需求來(lái)進(jìn)行評(píng)測(cè)(例如混合TPC-C和TPC-H)當(dāng)數(shù)據(jù)集的數(shù)據(jù)結(jié)構(gòu)多樣化,關(guān)系型數(shù)據(jù)庫(kù)中的表格很難表達(dá)時(shí),可以根據(jù)數(shù)據(jù)特征和應(yīng)用需求,選擇將信息存儲(chǔ)在合適的非關(guān)系型數(shù)據(jù)類型中。能夠在這些多樣的數(shù)據(jù)類型上,提供存儲(chǔ)和檢索數(shù)據(jù)能力的數(shù)據(jù)庫(kù),被稱之為非關(guān)系型數(shù)據(jù)庫(kù),或者NoSQL數(shù)據(jù)庫(kù)。NoSQL數(shù)據(jù)庫(kù)是非關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)稱,其中“No”指的是“NotOnly”,表示不止于SQL,NoSQL數(shù)據(jù)庫(kù)采用不同于關(guān)系數(shù)據(jù)“行列”組織的數(shù)據(jù)模型。對(duì)比關(guān)系型數(shù)據(jù)庫(kù),NoSQL采用更簡(jiǎn)單的設(shè)計(jì)方式,更靈活的數(shù)據(jù)模型,在設(shè)計(jì)上有著更好的擴(kuò)展能力,這使得NoSQL數(shù)據(jù)庫(kù)能更有效地應(yīng)對(duì)因:NoSQL數(shù)據(jù)庫(kù)無(wú)需預(yù)先指定數(shù)據(jù)的模式(schema);NoSQL數(shù)據(jù)庫(kù)可以混合支持多種數(shù)非關(guān)系型數(shù)據(jù)庫(kù),根據(jù)數(shù)據(jù)類型劃分,主要包括:鍵讀取數(shù)據(jù)不準(zhǔn)確,稱為陳舊讀取的問(wèn)題[4]。此外,一些NoSQL系統(tǒng)可能會(huì)出現(xiàn)寫入丟失和其NoSQL數(shù)據(jù)庫(kù)天然運(yùn)行在分布式環(huán)境下,因此需要考慮分布式下的數(shù)據(jù)一致性問(wèn)題,這使得NoSQL的數(shù)據(jù)一致性的要求與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)相比發(fā)生了很大的變化。傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)支持事務(wù)CID強(qiáng)一致性。而在分布式環(huán)境下,CAP理論表明一致性、可用性和分區(qū)容錯(cuò)性三者不可兼得。為了保障分布式環(huán)境下的數(shù)據(jù)可用性,NoSQL數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)一致性的要求做了分類和寬松化處理,有了BASE弱一致性理論。鍵值對(duì)集合,類似于映射或者字典,是最為基本的關(guān)聯(lián)數(shù)組。每個(gè)鍵YCSB:在數(shù)據(jù)庫(kù)的主鍵上,對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫,自然很適合鍵值數(shù)據(jù)庫(kù)的測(cè)試。特別的,對(duì)于其他半結(jié)構(gòu)和結(jié)構(gòu)化數(shù)據(jù)庫(kù)而言,只要存在主鍵,就可以使用YCSB,所以也是一個(gè)廣義的基準(zhǔn)測(cè)試。NoSQL數(shù)據(jù)庫(kù)一般更關(guān)注擴(kuò)展性,因此在本章不在按照單機(jī)、集中式、分布式進(jìn)KV數(shù)據(jù)庫(kù)業(yè)界代表包括Redis、RocksDB、DynamoDB[10]。是文檔型的。文檔在關(guān)系數(shù)據(jù)庫(kù)中,同一個(gè)對(duì)面向文檔的系統(tǒng)依賴于文檔中的內(nèi)部結(jié)構(gòu)來(lái)提取元數(shù)據(jù),以便數(shù)據(jù)庫(kù)引擎用于進(jìn)文檔數(shù)據(jù)庫(kù)常用到的增刪改操作,還Noog:允許基于通用語(yǔ)法的用戶指定的工作負(fù)載描述。然后將抽象語(yǔ)法中的工作負(fù)載描述轉(zhuǎn)換為特定于數(shù)據(jù)庫(kù)的操作,從而通過(guò)映射在一組受支持的數(shù)據(jù)庫(kù)上執(zhí)行CUD操作。文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展文檔型數(shù)據(jù)庫(kù)業(yè)界代表包括MongoDB、CouchDB列簇式數(shù)據(jù)庫(kù)(Wide-ColumnDatabase)是一類使用表、行和列進(jìn)行數(shù)據(jù)存儲(chǔ)(wide-columnstore)的NoSQL數(shù)據(jù)庫(kù),與關(guān)系數(shù)據(jù)庫(kù)不同的是,列的名稱和格式在同一表中的行與行之間寬列存儲(chǔ)可以視為一種二維鍵值存儲(chǔ)。列簇式數(shù)據(jù)庫(kù)針對(duì)快速檢索數(shù)據(jù)列進(jìn)行了優(yōu)化,通常用于OLAP。適用于數(shù)據(jù)庫(kù)表的列式存儲(chǔ)是分析查詢性能的一個(gè)重要組成部分,因?yàn)樗鼧O大地降低了整體磁盤I/O要求,并減少了需要從磁盤載[14]存儲(chǔ)數(shù)據(jù)的另一大特點(diǎn)是方便存儲(chǔ)結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)寬列存儲(chǔ)(Wide-columnstore)不同于早期的列存儲(chǔ)(Column-orientedstore),因?yàn)樗鼈兊膬纱鎯?chǔ)中,采用列式數(shù)據(jù)布局,使得每一列單獨(dú)存儲(chǔ)在定的列族中,所有數(shù)據(jù)都以逐行方式存儲(chǔ),這樣與其他NoSQL數(shù)據(jù)庫(kù)一樣,列簇式數(shù)據(jù)庫(kù)旨在利用低成本硬件的分布式群集進(jìn)YCSB++:是專為測(cè)試列簇式可擴(kuò)展存儲(chǔ)的數(shù)據(jù)庫(kù),包括并行性測(cè)試、弱一致性測(cè)試、塊上傳測(cè)試、表的預(yù)先分裂、服務(wù)器端過(guò)濾和訪問(wèn)權(quán)限等。基準(zhǔn)測(cè)試在多個(gè)基準(zhǔn)測(cè)試客戶機(jī)之提供分布式同步,并能夠測(cè)量最終的一致性、批量加載以及批量寫入(如表預(yù)拆分)的優(yōu)化效果。此外,基準(zhǔn)測(cè)試還可以測(cè)量額外功能(如訪問(wèn)控制)的性能開銷,并收集每個(gè)集群節(jié)點(diǎn)上的資源度量的監(jiān)控信息。[19]列簇式數(shù)據(jù)庫(kù)業(yè)界代表包括BigTable、HBase、Cassandra圖數(shù)據(jù)庫(kù)是一種使用圖結(jié)構(gòu)進(jìn)行語(yǔ)義查詢,并使用節(jié)點(diǎn)、邊和屬性來(lái)表示和存圖分析引擎:用于大規(guī)模圖分析,例如社交網(wǎng)絡(luò)分析。例如GraphX,Powergraph圖表示學(xué)習(xí)引擎:用于AI引擎的圖優(yōu)化分析。例如PyTorch-BigGraph不幸的是,迄今為止沒有一種通用的圖形查詢語(yǔ)言得到大家特別的,圖數(shù)據(jù)庫(kù)用于處理圖上的OLTP服務(wù),圖計(jì)算引擎用于處理圖上的OLAPXGDBench是YCSB的一個(gè)擴(kuò)展,通過(guò)添加一個(gè)圖數(shù)據(jù)模型和工作負(fù)載生成器來(lái)對(duì)GDB一種分布式圖形數(shù)據(jù)庫(kù)基準(zhǔn)測(cè)試框架,用于探索節(jié)點(diǎn)的鄰域和尋]圖數(shù)據(jù)庫(kù)業(yè)界代表–Neo4J:Neo4J是一個(gè)圖數(shù)據(jù)庫(kù),將數(shù)據(jù)間的關(guān)系作為“第一公民”來(lái)對(duì)它可以為圖提供CID事務(wù)處理,支持在線備份,具有高可用性。構(gòu)成圖的基本單位是節(jié)點(diǎn)和關(guān)系,均以鍵值的方式存儲(chǔ)。圖分析引擎業(yè)界代表–GraphX:SparkGraphX是一個(gè)分布式圖處理框架,它是基于Spark圖分析引擎業(yè)界代表–PowerGraph:GraphLabPowerGraph是一個(gè)用C++圖表示學(xué)習(xí)引擎業(yè)界代表–PyTorch-BigGraph:它可以更快、更輕-實(shí)時(shí)流數(shù)據(jù)包含個(gè)體、時(shí)間、空間、狀態(tài)信息。時(shí)序數(shù)據(jù)庫(kù)(Timeseriesdatabase)是能夠TS-Benhmark:基于DCGAN的數(shù)據(jù)生成模型,在經(jīng)過(guò)真實(shí)數(shù)據(jù)訓(xùn)練后,以高吞吐量生成高質(zhì)量的合成時(shí)間序列數(shù)據(jù)。特別是,我們模擬了一個(gè)場(chǎng)景,其中來(lái)自風(fēng)力渦輪機(jī)的大量傳感器(不同類型)經(jīng)常向數(shù)據(jù)中心報(bào)告感測(cè)數(shù)據(jù)。工作負(fù)載:1.讀負(fù)載,測(cè)試在時(shí)序數(shù)據(jù)庫(kù)上的范圍查詢、聚合查詢、滾動(dòng)窗口查詢等;2.寫負(fù)載,假設(shè)每個(gè)風(fēng)力渦輪機(jī)定期(默認(rèn)情況下為7秒)向TSDB報(bào)告收集的數(shù)據(jù);3.加載負(fù)載,將一定大小的時(shí)間序列數(shù)據(jù)批量加到TSDB時(shí)的數(shù)據(jù)加載性能。AnalyticsinMotion(AIM)評(píng)估流媒體事件的接收性能和基于計(jì)費(fèi)數(shù)據(jù)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論