文章目錄
Doris重點架構原理
一、Apache Doris介紹
二、Apache Doris使用場景
三、Apache Doris架構原理
四、Apache Doris 特點
Doris重點架構原理
一、Apache Doris介紹
基于 MPP 架構的高性能、實時的分析型數據庫,以極速易用的特點被人們所熟知,僅需亞秒級響應時間即可返回海量數據下的查詢結果,不僅可以 支持高并發的點查詢場景,也能支持高吞吐的復雜分析場景 。
二、Apache Doris使用場景
-
報表分析
-
即席查詢(Ad-hoc Query)
-
統一數倉構建
-
數據湖聯邦查詢
三、Apache Doris架構原理
Doris 架構非常簡單,只有兩類進程FE和BE,這兩類進程都是可以橫向擴展的,單集群可以支持到數百臺機器,數十 PB 的存儲容量。并且這兩類進程通過一致性協議來保證服務的高可用和數據的高可靠。這種高度集成的架構設計極大的降低了一款分布式系統的運維成本。
-
Frontend(FE) : 主要負責用戶請求的接入、查詢解析規劃、元數據的存儲、節點管理相關工作。
FE又分為 Leader、Follwer和Observer三種角色 ,默認一個Doris集群中只能有一個Leader,可以有多個Follwer和Observer。其中Leader和Follwer組成一個Paxos選擇組,如果Leader宕機,則剩下的Follower會自動選出新的Leader,保證單節點宕機情況下元數據的高可用及數據寫入高可用。
Observer用來擴展查詢節點、同步Leader元數據進行備份,如果Doris集群壓力非常大,可以擴展Observer節點來提高集群查詢能力,Observer不參與選舉、數據寫入,只參與數據讀取。
-
Backend(BE) :一個用戶請求通過FE解析、規劃后,具體的執行計劃會發送給BE具體執行,BE主要負責數據存儲、查詢計劃的執行。
BE分布式的存儲Doris table表數據,table表數據會經過分區分桶形成tablet,tablet采用列式存儲,默認有3個副本。BE會接收FE命令來創建、查詢、刪除table表,接收來自FE的執行計劃并分布式執行。BE會通過索引和謂詞下推快速過濾數據,可以在后臺執行Compact任務,減少查詢時的讀放大。
-
Broker(可選):
Apache Doris架構中除了有BE和FE進程之外,還可以部署Broker可選進程,主要用于支持Doris讀寫遠端存儲上的文件和目錄。例如:Apache HDFS 、阿里云OSS、亞馬遜S3等。
Broker 通過提供一個 RPC 服務端口來提供服務,是一個無狀態的 Java 進程,負責為遠端存儲的讀寫操作封裝一些類 POSIX 的文件操作,如 open,pread,pwrite 等等。除此之外,Broker 不記錄任何其他信息,所以包括遠端存儲的連接信息、文件信息、權限信息等等,都需要通過參數在 RPC 調用中傳遞給 Broker 進程,才能使得 Broker 能夠正確讀寫文件。Broker 僅作為一個數據通路,并不參與任何計算,因此僅需占用較少的內存。通常一個 Doris 系統中會部署一個或多個 Broker 進程。
四、Apache Doris 特點
-
支持標準SQL接口
-
列式存儲引擎
-
支持豐富的索引結構
-
支持多種存儲模型
-
支持物化視圖
-
MPP架構設計
-
支持向量化查詢引擎
-
動態調整執行計劃
-
采用CBO和RBO 查詢優化器
-
📢博客主頁:https://lansonli.blog.csdn.net
-
📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
-
📢本文由 Lansonli 原創,首發于 CSDN博客🙉
-
📢停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學習,全力奔赴更美好的生活?