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

執(zhí)行引擎

更新時(shí)間:

本文為您介紹Hologres的執(zhí)行引擎以及內(nèi)部的各組件。

執(zhí)行引擎優(yōu)勢(shì)

Hologres的執(zhí)行引擎(主要以HQE為主)是自研的執(zhí)行引擎,通過(guò)與大數(shù)據(jù)領(lǐng)域最新技術(shù)結(jié)合,實(shí)現(xiàn)了對(duì)各種查詢類型的高性能處理,主要具有如下優(yōu)勢(shì)。
  • 分布式執(zhí)行

    執(zhí)行引擎是一個(gè)和存儲(chǔ)計(jì)算分離架構(gòu)配合的分布式執(zhí)行模型。執(zhí)行計(jì)劃由異步算子組成的執(zhí)行圖DAG(有向無(wú)環(huán)圖)表示,可以表達(dá)各種復(fù)雜查詢,并且完美適配Hologres的數(shù)據(jù)存儲(chǔ)模型,方便對(duì)接查詢優(yōu)化器,利用各種查詢優(yōu)化技術(shù)。

  • 全異步執(zhí)行

    端到端的全異步處理框架,可以避免高并發(fā)系統(tǒng)的瓶頸,充分利用資源,并且最大可能地避免存儲(chǔ)計(jì)算分離系統(tǒng)帶來(lái)的讀數(shù)據(jù)延遲的影響。

  • 向量化和列處理

    算子內(nèi)部處理數(shù)據(jù)時(shí)最大可能地使用向量化執(zhí)行,與存儲(chǔ)引擎深度集成,通過(guò)靈活的執(zhí)行模型,充分利用各種索引,最大化地延遲向量物化和延遲計(jì)算,避免不必要的讀數(shù)據(jù)和計(jì)算。

  • 自適應(yīng)增量處理

    對(duì)常見(jiàn)實(shí)時(shí)數(shù)據(jù)應(yīng)用查詢模式進(jìn)行自適應(yīng)增量處理。

  • 特定查詢深度優(yōu)化

    對(duì)一些特定查詢模式的獨(dú)特優(yōu)化。

更多技術(shù)原理請(qǐng)參見(jiàn)Hologres執(zhí)行引擎揭秘。

Query執(zhí)行過(guò)程

當(dāng)客戶端下發(fā)一個(gè)Query后,在執(zhí)行引擎中實(shí)際上會(huì)有多個(gè)worker節(jié)點(diǎn),以其中的一個(gè)worker節(jié)點(diǎn)為例,執(zhí)行過(guò)程如下圖所示。Query執(zhí)行過(guò)程
當(dāng)客戶端發(fā)起一個(gè)SQL后,執(zhí)行過(guò)程如下。
  1. Frontend(FE)節(jié)點(diǎn)對(duì)SQL進(jìn)行解析和認(rèn)證,并分發(fā)至執(zhí)行引擎(Query Engine)的不同執(zhí)行模塊。
  2. 執(zhí)行引擎(Query Engine)會(huì)根據(jù)SQL的特征走不同的執(zhí)行路徑。
    • 如果是點(diǎn)查/點(diǎn)寫(xiě)的場(chǎng)景,會(huì)跳過(guò)優(yōu)化器(Query Optimizer,QO),直接分發(fā)至后端獲取數(shù)據(jù),減少數(shù)據(jù)傳送鏈路,從而實(shí)現(xiàn)更優(yōu)的性能。整個(gè)執(zhí)行鏈路也叫Fixed Plan,點(diǎn)查(與HBase的KV查詢)、點(diǎn)寫(xiě)場(chǎng)景會(huì)直接走Fixed Plan。
    • 如果是OLAP查詢和寫(xiě)入場(chǎng)景:首先會(huì)由優(yōu)化器(Query Optimizer,QO)對(duì)SQL進(jìn)行解析,生成執(zhí)行計(jì)劃,在執(zhí)行計(jì)劃中會(huì)預(yù)估出算子執(zhí)行Cost、統(tǒng)計(jì)信息、空間裁剪等。QO會(huì)通過(guò)生成的執(zhí)行計(jì)劃,決定使用HQE、PQE、SQE或者Hive QE對(duì)算子進(jìn)行真正的計(jì)算。
      HQE、PQE、SQE的對(duì)比介紹如下。
      • HQE(Hologres Query Engine)

        Hologres自研執(zhí)行引擎,采用可擴(kuò)展的MPP架構(gòu)全并行計(jì)算,向量化算子發(fā)揮CPU極致算力,從而實(shí)現(xiàn)極致的查詢性能。(QE主要由HQE組成)。

      • PQE(Postgres Query Engine)

        用于兼容Postgres提供擴(kuò)展能力,支持PG生態(tài)的各種擴(kuò)展組件,如PostGIS,UDF(PL/JAVA,PL/SQL,PL/Python)等。部分HQE還沒(méi)有支持的函數(shù)和算子,會(huì)通過(guò)PQE執(zhí)行,每個(gè)版本都在持續(xù)優(yōu)化中,最終目標(biāo)是去掉PQE。

      • SQE(Seahawks Query Engine)

        無(wú)縫對(duì)接MaxCompute(ODPS)的執(zhí)行引擎,實(shí)現(xiàn)對(duì)MaxCompute的本地訪問(wèn),無(wú)需遷移和導(dǎo)入數(shù)據(jù),就可以高性能和全兼容的訪問(wèn)各種MaxCompute文件格式,以及Hash/Range clustered table等復(fù)雜表,實(shí)現(xiàn)對(duì)PB級(jí)離線數(shù)據(jù)的交互式分析,技術(shù)原理請(qǐng)參見(jiàn)Hologres加速查詢MaxCompute技術(shù)揭秘。

  3. 執(zhí)行引擎決定正確的執(zhí)行計(jì)劃,然后會(huì)通過(guò)存儲(chǔ)引擎(Storage Engine,SE)進(jìn)行數(shù)據(jù)獲取,最后對(duì)每個(gè)Shard上的數(shù)據(jù)進(jìn)行合并,返回至客戶端。