日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Apache Doris是一個(gè)高性能、實(shí)時(shí)的分析型數(shù)據(jù)庫(kù),能夠較好的滿足報(bào)表分析、即席查詢、數(shù)據(jù)湖聯(lián)邦查詢加速等使用場(chǎng)景。本文為您介紹Apache Doris。

背景信息

關(guān)于更多Apache Doris信息,詳情請(qǐng)參見(jiàn)Doris介紹

使用場(chǎng)景

數(shù)據(jù)源經(jīng)過(guò)各種數(shù)據(jù)集成和加工處理后,通常會(huì)入庫(kù)到實(shí)時(shí)數(shù)倉(cāng)Doris和離線湖倉(cāng)(Hive、Iceberg和Hudi中),如下圖所示。Apache Doris

Apache Doris被廣泛應(yīng)用在以下場(chǎng)景中。

  • 報(bào)表分析

    • 實(shí)時(shí)看板(Dashboards)。

    • 面向企業(yè)內(nèi)部分析師和管理者的報(bào)表。

    • 面向高并發(fā)報(bào)表分析(Customer Facing Analytics)。比如面向網(wǎng)站主的站點(diǎn)分析、面向廣告主的廣告報(bào)表,并發(fā)通常要求成千上萬(wàn)的QPS,查詢延時(shí)要求毫秒級(jí)響應(yīng)。

  • 即席查詢(Ad-hoc Query):面向分析師的自助分析,查詢模式不固定,要求較高的吞吐。

  • 統(tǒng)一數(shù)倉(cāng)構(gòu)建:一個(gè)平臺(tái)滿足統(tǒng)一的數(shù)據(jù)倉(cāng)庫(kù)建設(shè)需求,簡(jiǎn)化繁瑣的大數(shù)據(jù)軟件棧。基于Doris構(gòu)建的統(tǒng)一數(shù)倉(cāng),替換了原來(lái)由Spark、Hive、Kudu、Hbase、Phoenix組成的舊架構(gòu),架構(gòu)大大簡(jiǎn)化。

  • 數(shù)據(jù)湖聯(lián)邦查詢:通過(guò)外表的方式聯(lián)邦分析位于Hive、Iceberg、Hudi中的數(shù)據(jù),在避免數(shù)據(jù)拷貝的前提下,查詢性能大幅提升。

技術(shù)概述

Doris整體架構(gòu)如下圖所示。Doris架構(gòu)Doris架構(gòu)非常簡(jiǎn)單,只有兩類進(jìn)程:

  • Frontend(FE),主要負(fù)責(zé)客戶請(qǐng)求的接入、查詢解析規(guī)劃、元數(shù)據(jù)的管理、節(jié)點(diǎn)管理相關(guān)工作。

  • Backend(BE),主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)、查詢計(jì)劃的執(zhí)行。

這兩類進(jìn)程都是可以橫向擴(kuò)展的,單集群可以支持到數(shù)百臺(tái)機(jī)器,數(shù)十 PB的存儲(chǔ)容量。并且這兩類進(jìn)程通過(guò)一致性協(xié)議來(lái)保證服務(wù)的高可用和數(shù)據(jù)的高可靠,這種高度集成的架構(gòu)設(shè)計(jì)極大的降低了一款分布式系統(tǒng)的運(yùn)維成本。

從以下五個(gè)方面介紹Doris技術(shù):

  • 在使用接口方面,Doris采用MySQL協(xié)議,高度兼容MySQL語(yǔ)法,支持標(biāo)準(zhǔn)SQL,您可以通過(guò)各類客戶端工具來(lái)訪問(wèn)Doris,并支持與BI工具的無(wú)縫對(duì)接。

  • 在存儲(chǔ)引擎方面,Doris采用列式存儲(chǔ),按列進(jìn)行數(shù)據(jù)的編碼壓縮和讀取,能夠?qū)崿F(xiàn)極高的壓縮比,同時(shí)減少大量非相關(guān)數(shù)據(jù)的掃描,從而更加有效利用IO和CPU資源。

    Doris也支持比較豐富的索引結(jié)構(gòu),來(lái)減少數(shù)據(jù)的掃描:

    • Sorted Compound Key Index:可以最多指定三個(gè)列組成復(fù)合排序鍵,通過(guò)該索引,能夠有效進(jìn)行數(shù)據(jù)裁剪,從而能夠更好支持高并發(fā)的報(bào)表場(chǎng)景。

    • Z-order Index:使用Z-order索引,可以高效對(duì)數(shù)據(jù)模型中的任意字段組合進(jìn)行范圍查詢。

    • Min/Max:有效過(guò)濾數(shù)值類型的等值和范圍查詢。

    • Bloom Filter:對(duì)高基數(shù)列的等值過(guò)濾裁剪非常有效。

    • Invert Index:能夠?qū)θ我庾侄螌?shí)現(xiàn)快速檢索。

  • 在存儲(chǔ)模型方面,Doris支持多種存儲(chǔ)模型,針對(duì)不同的場(chǎng)景做了針對(duì)性的優(yōu)化:

    • Aggregate Key模型:相同Key的Value列合并,通過(guò)提前聚合大幅提升性能。

    • Unique Key模型:Key唯一,相同Key的數(shù)據(jù)覆蓋,實(shí)現(xiàn)行級(jí)別數(shù)據(jù)更新。

    • Duplicate Key模型:明細(xì)數(shù)據(jù)模型,滿足事實(shí)表的明細(xì)存儲(chǔ)。

    Doris也支持強(qiáng)一致的物化視圖,物化視圖的更新和選擇都在系統(tǒng)內(nèi)自動(dòng)進(jìn)行,不需要您手動(dòng)選擇,從而大幅減少了物化視圖維護(hù)的代價(jià)。

  • 在查詢引擎方面,Doris采用MPP的模型,節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)都并行執(zhí)行,也支持多個(gè)大表的分布Shuffle Join,從而能夠更好應(yīng)對(duì)復(fù)雜查詢,查詢引擎如下圖所示。Query

    Doris查詢引擎是向量化的查詢引擎,所有的內(nèi)存結(jié)構(gòu)能夠按照列式布局,能夠達(dá)到大幅減少虛函數(shù)調(diào)用、提升Cache命中率,高效利用SIMD指令的效果。在寬表聚合場(chǎng)景下性能是非向量化引擎的5-10倍。

  • 在優(yōu)化器方面Doris使用CBO和RBO結(jié)合的優(yōu)化策略,RBO支持常量折疊、子查詢改寫(xiě)、謂詞下推等,CBO支持Join Reorder。目前CBO還在持續(xù)優(yōu)化中,主要集中在更加精準(zhǔn)的統(tǒng)計(jì)信息收集和推導(dǎo),更加精準(zhǔn)的代價(jià)模型預(yù)估等方面。

Doris采用了Adaptive Query Execution技術(shù),可以根據(jù)Runtime Statistics來(lái)動(dòng)態(tài)調(diào)整執(zhí)行計(jì)劃,比如通過(guò)Runtime Filter技術(shù)能夠在運(yùn)行時(shí)生成Filter推到Probe側(cè),并且能夠?qū)ilter自動(dòng)穿透到Probe側(cè)最底層的Scan節(jié)點(diǎn),從而大幅減少Probe的數(shù)據(jù)量,加速Join性能,流程圖如下所示。AQEDoris的Runtime Filter支持In、Min、Max和Bloom Filter。

說(shuō)明

本文內(nèi)容和圖片來(lái)源于Doris介紹