自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apache Doris:基于MPP架構(gòu)的實(shí)時(shí)分析數(shù)據(jù)庫,是時(shí)候上手了

開發(fā) 架構(gòu)
Apache Doris 是一個(gè)基于 MPP 架構(gòu)的高性能實(shí)時(shí)分析數(shù)據(jù)庫,以極速和易用性著稱。海量數(shù)據(jù)下僅需亞秒級響應(yīng)時(shí)間即可返回查詢結(jié)果,不僅可以支持高并發(fā)點(diǎn)查詢場景,還可以支持高吞吐量的復(fù)雜分析場景。

Apache Doris 是一個(gè)基于 MPP 架構(gòu)的高性能實(shí)時(shí)分析數(shù)據(jù)庫,以極速和易用性著稱。海量數(shù)據(jù)下僅需亞秒級響應(yīng)時(shí)間即可返回查詢結(jié)果,不僅可以支持高并發(fā)點(diǎn)查詢場景,還可以支持高吞吐量的復(fù)雜分析場景?;诖?,Apache Doris可以更好的滿足報(bào)表分析、即席查詢、統(tǒng)一數(shù)倉、數(shù)據(jù)湖查詢加速等場景,用戶可以構(gòu)建用戶行為分析、AB測試平臺、日志檢索分析、用戶畫像分析、訂單分析,以及在此之上的其他應(yīng)用程序。

Apache Doris最早誕生于百度廣告報(bào)表業(yè)務(wù)的Palo項(xiàng)目,2017年正式開源,2018年7月由百度捐贈給Apache基金會孵化,在Apache導(dǎo)師的指導(dǎo)下,由孵化器項(xiàng)目管理委員會成員進(jìn)行孵化和運(yùn)營。Apache Doris 順利畢業(yè)于 Apache 孵化器,并于 2022 年 6 月成為頂級項(xiàng)目。目前,Apache Doris 社區(qū)聚集了來自不同行業(yè)近百家公司的 300 多名貢獻(xiàn)者,活躍貢獻(xiàn)者人數(shù)接近 100 人/月。

Apache Doris 目前在中國乃至全球擁有廣泛的用戶群,截至今天,Apache Doris 已在全球超過 500 家公司的生產(chǎn)環(huán)境中使用。中國互聯(lián)網(wǎng)市值或估值前50強(qiáng)企業(yè)中,80%以上長期使用Apache Doris百度、美團(tuán)、小米、京東、字節(jié)跳動、騰訊、網(wǎng)易、快手、微博等。它還廣泛應(yīng)用于金融、能源、制造、電信等一些傳統(tǒng)行業(yè)。

使用場景

如下圖所示,經(jīng)過各種數(shù)據(jù)整合和處理后,數(shù)據(jù)源通常存儲在實(shí)時(shí)數(shù)倉Doris和離線數(shù)據(jù)湖或數(shù)倉(Apache Hive、Apache Iceberg或Apache Hudi中)。

使用場景

Apache Doris 廣泛應(yīng)用于以下場景:

報(bào)告分析

  • 實(shí)時(shí)儀表板
  • 生成內(nèi)部分析師和經(jīng)理的報(bào)告
  • 面向用戶或客戶的高并發(fā)報(bào)表分析:比如網(wǎng)站主 做站點(diǎn)分析,廣告主 做廣告報(bào)表等場景,并發(fā)通常需要上千QPS,查詢時(shí)延需要亞秒級響應(yīng)。著名電商京東在廣告報(bào)表中使用Doris,每天寫入100億行數(shù)據(jù),上萬并發(fā)查詢QPS,99%查詢延遲150ms。

即席查詢

面向分析師的具有不規(guī)則查詢模式和高吞吐量要求的的自助服務(wù)分析。小米基于Doris構(gòu)建了增長分析平臺(Growth Analytics,GA),利用用戶行為數(shù)據(jù)進(jìn)行業(yè)務(wù)增長分析,平均查詢延遲10秒,95%查詢延遲30秒以下,數(shù)萬每天的 SQL 查詢數(shù)。

統(tǒng)一數(shù)據(jù)倉庫建設(shè)

Doris 是一個(gè)滿足統(tǒng)一數(shù)據(jù)倉庫建設(shè)需求,簡化復(fù)雜數(shù)據(jù)軟件棧的平臺。海底撈基于Doris的統(tǒng)一數(shù)據(jù)倉庫取代了由Apache Spark、Apache Hive、Apache Kudu、Apache HBase、Apache Phoenix組成的舊架構(gòu),大大簡化了架構(gòu)。

數(shù)據(jù)湖查詢

通過使用外部表聯(lián)合位于 Apache Hive、Apache Iceberg 和 Apache Hudi 中的數(shù)據(jù),在避免數(shù)據(jù)復(fù)制的同時(shí)大大提高了查詢性能。

技術(shù)概覽

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

  • Frontend(FE):主要負(fù)責(zé)用戶請求接入、查詢解析和規(guī)劃、元數(shù)據(jù)管理、節(jié)點(diǎn)管理等相關(guān)工作。
  • 后端(BE):主要負(fù)責(zé)數(shù)據(jù)存儲和查詢計(jì)劃執(zhí)行。

兩種類型的進(jìn)程都可以水平擴(kuò)展,單個(gè)集群最多可以支持?jǐn)?shù)百臺機(jī)器和數(shù)十 PB 的存儲容量。并且這兩類流程通過一致性協(xié)議保證了服務(wù)的高可用性和數(shù)據(jù)的高可靠性。這種高度集成的架構(gòu)設(shè)計(jì)大大降低了分布式系統(tǒng)的運(yùn)維成本。

Apache Doris 的架構(gòu)

Doris采用MySQL協(xié)議,高度兼容MySQL方言,支持標(biāo)準(zhǔn)SQL。用戶可以通過各種客戶端工具訪問Doris,支持與BI工具無縫對接。

在存儲引擎方面,Doris采用列式存儲對數(shù)據(jù)進(jìn)行按列編碼壓縮和讀取,在實(shí)現(xiàn)極高壓縮率的同時(shí)減少大量掃描無關(guān)數(shù)據(jù),從而更高效地利用IO和CPU資源.

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

  • 支持排序復(fù)合鍵索引:最多可以指定三列組成復(fù)合排序鍵。有了這個(gè)索引,可以對數(shù)據(jù)進(jìn)行有效的剪枝,更好的支持高并發(fā)的上報(bào)場景。
  • Z-order 索引:使用Z-order 索引,您可以高效地對架構(gòu)中的任意字段組合運(yùn)行范圍查詢。
  • MIN/MAX 索引:有效過濾數(shù)字類型的等價(jià)和范圍查詢
  • 布隆過濾器:對高基數(shù)列的等價(jià)過濾和修剪非常有效
  • 倒排索引:它可以快速搜索任何字段

在存儲模型方面,Doris 支持多種存儲模型,針對不同場景有針對性的優(yōu)化:

  • 聚合鍵模型:通過預(yù)先聚合來合并具有相同鍵的值列,以顯著提高性能。
  • 唯一鍵模型:鍵是唯一的。具有相同鍵的數(shù)據(jù)將被覆蓋,以實(shí)現(xiàn)行級數(shù)據(jù)更新。
  • 重復(fù)鍵模型:詳細(xì)的數(shù)據(jù)模型,可以滿足事實(shí)表的詳細(xì)存儲。

Doris 還支持強(qiáng)一致性物化視圖,物化視圖的更新和選擇在系統(tǒng)內(nèi)部自動完成,不需要用戶手動選擇,從而顯著降低了物化視圖的維護(hù)成本。

在查詢引擎方面,Doris采用了MPP模型,節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)并行執(zhí)行,也支持多張大表的分布式shuffle join,可以更好的應(yīng)對復(fù)雜的查詢。

Apache Doris 的查詢引擎

Doris查詢引擎是向量化的,所有內(nèi)存結(jié)構(gòu)都可以以列格式布局,從而實(shí)現(xiàn)顯著減少虛擬函數(shù)調(diào)用、提高緩存命中率和高效使用SIMD指令。寬表聚合場景中的性能比非向量化引擎高 5-10 倍。

向量化查詢執(zhí)行器

Doris使用自適應(yīng)查詢執(zhí)行技術(shù),可以根據(jù)運(yùn)行時(shí)的統(tǒng)計(jì)動態(tài)調(diào)整執(zhí)行計(jì)劃,例如運(yùn)行時(shí)過濾器技術(shù),在運(yùn)行時(shí)生成過濾器推送到探測端,并自動將過濾器穿透到探測端,大大減少了探測端的數(shù)據(jù)量,提高了連接性能。Doris 的運(yùn)行時(shí)過濾器支持 In/Min/Max/Bloom 過濾器。

查詢優(yōu)化器

在優(yōu)化器方面,Doris 使用了 CBO 和 RBO 的組合,RBO 支持常量折疊、子查詢重寫、謂詞下推等,CBO支持 Join 重新排序。CBO仍在持續(xù)優(yōu)化中,主要集中在更準(zhǔn)確的統(tǒng)計(jì)信息收集和推導(dǎo)、更準(zhǔn)確的成本模型預(yù)測等方面。

未來,Apache Doris除了數(shù)據(jù)分析之外,還將提升數(shù)據(jù)工程能力,更好地覆蓋企業(yè)數(shù)據(jù)ETL/ELT場景,通過一個(gè)平臺滿足多種混合工作負(fù)載。另一方面,對云基礎(chǔ)設(shè)施做深度優(yōu)化,利用云提供的彈性和新硬件,提供性價(jià)比更好的產(chǎn)品。

為什么選擇 Apache Doris?

  • 易于使用:兩個(gè)進(jìn)程,沒有其他依賴;在線集群伸縮,自動副本恢復(fù);兼容MySQL協(xié)議,使用標(biāo)準(zhǔn)SQL。
  • 高性能:通過列式存儲引擎、現(xiàn)代 MPP 架構(gòu)、矢量化查詢引擎、預(yù)聚合物化視圖和數(shù)據(jù)索引,為低延遲和高吞吐量查詢提供極快的性能。
  • 單一統(tǒng)一:單一系統(tǒng)可以支持實(shí)時(shí)數(shù)據(jù)服務(wù)、交互式數(shù)據(jù)分析和離線數(shù)據(jù)處理場景。
  • 聯(lián)邦查詢:支持Hive、Iceberg、Hudi等數(shù)據(jù)湖和MySQL、Elasticsearch等數(shù)據(jù)庫的聯(lián)邦查詢。
  • 多種數(shù)據(jù)導(dǎo)入方式:支持從HDFS/S3批量導(dǎo)入,從MySQL Binlog/Kafka流式導(dǎo)入;支持通過HTTP接口進(jìn)行微批量寫入,也支持在JDBC中使用Insert實(shí)時(shí)寫入。
  • 豐富生態(tài): Spark使用Spark-Doris-Connector讀寫Doris;Flink-Doris-Connector 使 Flink CDC 能夠?qū)崿F(xiàn) Exactly-once 數(shù)據(jù)寫入 Doris;提供 DBT Doris Adapter 用于將 Doris 中的數(shù)據(jù)與 DBT 進(jìn)行轉(zhuǎn)換。
責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2024-01-09 16:02:11

數(shù)據(jù)庫流服務(wù)大數(shù)據(jù)

2016-11-29 09:27:22

Apache SparDashboard構(gòu)建

2017-07-13 10:04:20

云客服分析架構(gòu)

2020-04-25 21:04:09

NoSQL數(shù)據(jù)庫大數(shù)據(jù)

2023-10-26 16:06:50

BuildpackDocker

2023-06-01 21:50:53

Doris數(shù)倉SQL

2016-08-31 14:41:31

大數(shù)據(jù)實(shí)時(shí)分析算法分類

2024-02-19 00:06:06

數(shù)據(jù)分析系統(tǒng)Doris

2023-07-31 07:49:03

2014-03-28 17:30:03

大數(shù)據(jù)應(yīng)用

2016-11-22 13:25:28

Apache Spar大數(shù)據(jù)

2022-07-18 16:02:10

數(shù)據(jù)庫實(shí)踐

2019-08-19 14:24:39

數(shù)據(jù)分析Spark操作

2023-12-28 10:58:45

2024-05-07 08:16:17

2011-07-12 10:09:08

XML數(shù)據(jù)庫服務(wù)器

2016-10-31 19:19:20

實(shí)時(shí)分析

2024-06-06 08:58:08

大數(shù)據(jù)SQLAPI

2016-11-09 15:23:44

2024-06-04 14:10:00

FlinkSQL窗口大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號