掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Apache Doris 是一個(gè)基于 MPP 架構(gòu)的高性能實(shí)時(shí)分析數(shù)據(jù)庫,以極速和易用性著稱。海量數(shù)據(jù)下僅需亞秒級(jí)響應(yīng)時(shí)間即可返回查詢結(jié)果,不僅可以支持高并發(fā)點(diǎn)查詢場景,還可以支持高吞吐量的復(fù)雜分析場景?;诖耍珹pache Doris可以更好的滿足報(bào)表分析、即席查詢、統(tǒng)一數(shù)倉、數(shù)據(jù)湖查詢加速等場景,用戶可以構(gòu)建用戶行為分析、AB測試平臺(tái)、日志檢索分析、用戶畫像分析、訂單分析,以及在此之上的其他應(yīng)用程序。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),綏陽企業(yè)網(wǎng)站建設(shè),綏陽品牌網(wǎng)站建設(shè),網(wǎng)站定制,綏陽網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,綏陽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
Apache Doris最早誕生于百度廣告報(bào)表業(yè)務(wù)的Palo項(xiàng)目,2017年正式開源,2018年7月由百度捐贈(zèng)給Apache基金會(huì)孵化,在Apache導(dǎo)師的指導(dǎo)下,由孵化器項(xiàng)目管理委員會(huì)成員進(jìn)行孵化和運(yùn)營。Apache Doris 順利畢業(yè)于 Apache 孵化器,并于 2022 年 6 月成為頂級(jí)項(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é)跳動(dòng)、騰訊、網(wǎng)易、快手、微博等。它還廣泛應(yīng)用于金融、能源、制造、電信等一些傳統(tǒng)行業(yè)。
如下圖所示,經(jīng)過各種數(shù)據(jù)整合和處理后,數(shù)據(jù)源通常存儲(chǔ)在實(shí)時(shí)數(shù)倉Doris和離線數(shù)據(jù)湖或數(shù)倉(Apache Hive、Apache Iceberg或Apache Hudi中)。
使用場景
Apache Doris 廣泛應(yīng)用于以下場景:
面向分析師的具有不規(guī)則查詢模式和高吞吐量要求的的自助服務(wù)分析。小米基于Doris構(gòu)建了增長分析平臺(tái)(Growth Analytics,GA),利用用戶行為數(shù)據(jù)進(jìn)行業(yè)務(wù)增長分析,平均查詢延遲10秒,95%查詢延遲30秒以下,數(shù)萬每天的 SQL 查詢數(shù)。
Doris 是一個(gè)滿足統(tǒng)一數(shù)據(jù)倉庫建設(shè)需求,簡化復(fù)雜數(shù)據(jù)軟件棧的平臺(tái)。海底撈基于Doris的統(tǒng)一數(shù)據(jù)倉庫取代了由Apache Spark、Apache Hive、Apache Kudu、Apache HBase、Apache Phoenix組成的舊架構(gòu),大大簡化了架構(gòu)。
通過使用外部表聯(lián)合位于 Apache Hive、Apache Iceberg 和 Apache Hudi 中的數(shù)據(jù),在避免數(shù)據(jù)復(fù)制的同時(shí)大大提高了查詢性能。
Apache Doris 的整體架構(gòu)如下圖所示。Doris 架構(gòu)非常簡單,只有兩類進(jìn)程。
兩種類型的進(jìn)程都可以水平擴(kuò)展,單個(gè)集群最多可以支持?jǐn)?shù)百臺(tái)機(jī)器和數(shù)十 PB 的存儲(chǔ)容量。并且這兩類流程通過一致性協(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工具無縫對接。
在存儲(chǔ)引擎方面,Doris采用列式存儲(chǔ)對數(shù)據(jù)進(jìn)行按列編碼壓縮和讀取,在實(shí)現(xiàn)極高壓縮率的同時(shí)減少大量掃描無關(guān)數(shù)據(jù),從而更高效地利用IO和CPU資源.
Doris 還支持比較豐富的索引結(jié)構(gòu)來減少數(shù)據(jù)掃描:
在存儲(chǔ)模型方面,Doris 支持多種存儲(chǔ)模型,針對不同場景有針對性的優(yōu)化:
Doris 還支持強(qiáng)一致性物化視圖,物化視圖的更新和選擇在系統(tǒng)內(nèi)部自動(dòng)完成,不需要用戶手動(dòng)選擇,從而顯著降低了物化視圖的維護(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ì)動(dòng)態(tài)調(diào)整執(zhí)行計(jì)劃,例如運(yùn)行時(shí)過濾器技術(shù),在運(yùn)行時(shí)生成過濾器推送到探測端,并自動(dòng)將過濾器穿透到探測端,大大減少了探測端的數(shù)據(jù)量,提高了連接性能。Doris 的運(yùn)行時(shí)過濾器支持 In/Min/Max/Bloom 過濾器。
在優(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è)平臺(tái)滿足多種混合工作負(fù)載。另一方面,對云基礎(chǔ)設(shè)施做深度優(yōu)化,利用云提供的彈性和新硬件,提供性價(jià)比更好的產(chǎn)品。

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流