大數據基礎:Doris重點架構原理

文章目錄

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博客🙉

  • 📢停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學習,全力奔赴更美好的生活?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/46022.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/46022.shtml
英文地址,請注明出處:http://en.pswp.cn/web/46022.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JVM---對象是否存活及被引用的狀態

1.如何判斷對象是否存活 1.1 引用計數算法 概念:在對象頭部增加一個引用計數器,每當有一個地方引用它時,計數器值就加一;當引用失效時,計數器值就減一;任何時刻計數器為零的對象就是不可能再被使用的。 優點&#xff1…

vue2遷移到vue3注意點

vue2遷移到vue3注意點 1、插槽的修改 使用 #default , 以及加上template 模板 2、 類型的定義,以及路由,vue相關資源(ref, reactive,watch)的引入等 3、類裝飾器 1)vue-class-component是vue官方庫,作…

ubuntu搭建harbor私倉

1、環境準備 鏈接: https://pan.baidu.com/s/1q4XBWPd8WdyEn4l253mpUw 提取碼: 7ekx --來自百度網盤超級會員v2的分享 準備一臺Ubuntu 機器:192.168.124.165 將上面兩個文件考入Ubuntu上面 2、安裝harbor 安裝Docker Harbor倉庫以容器方式運行,需要先安裝好docker,參考:…

詳解python基本語法

文章目錄 數據變量數據結構 循環-判斷-用戶輸入判斷用戶輸入循環 函數參數返回值將函數存儲在模塊中 文件和異常讀取文件異常操作Json文件 類對象創建類使用類類的繼承導入外部類 測試測試函數創建測試 Python 是一種廣泛使用的高級編程語言,以其清晰的語法和代碼可…

which 命令在Linux中是一個快速查找可執行文件位置的工具

文章目錄 0、概念1、which --help2、which命令解釋 0、概念 which命令用于查找命令的可執行文件的路徑which 命令在 Linux 中用于查找可執行命令的完整路徑。當你在 shell 中輸入一個命令時,shell 會在環境變量 $PATH 定義的目錄列表中查找這個命令。which 命令可以…

React基礎學習-Day06

React基礎學習-Day06 zustand基本使用方式 1.基礎使用 基本使用 zustand 的步驟包括創建狀態存儲和在組件中使用這些狀態和更新函數。以下是一個基礎的示例,演示如何使用 zustand 來管理一個簡單的計數器狀態。 安裝 首先,確保你的項目中已經安裝了…

socket編程(2) -- TCP通信

TCP通信 2. 使用 Socket 進行TCP通信2.1 socket相關函數介紹socket()bind()listen()accept()connect()2.2 TCP協議 C/S 模型基礎通信代碼 最后 2. 使用 Socket 進行TCP通信 Socket通信流程圖如下: 這里服務器段listen是監聽socket套接字的監聽文件描述符。如果客戶…

Redis--布隆過濾器

解決緩存穿透是構建高效緩存系統中的關鍵問題之一。緩存穿透指的是惡意或者非法請求經過緩存層直接訪問數據庫或者后端服務,導致系統資源浪費和性能下降的情況。為了有效應對緩存穿透問題,以下是幾種常見的解決方法: 1. 布隆過濾器預檢查 布…

運維-Docker-黑馬

運維-Docker-黑馬 編輯時間:2024/7/15 來源:黑馬程序員 docker:快速構建,運行,管理應用的工具 Docker安裝 部署mysql 命令解讀

[Cesium for Supermap] 加載3dTiles,點擊獲取屬性

代碼: // 設為橢球var obj [6378137.0, 6378137.0, 6356752.3142451793];Cesium.Ellipsoid.WGS84 Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));var viewer new Cesium.Viewer(cesiumContainer);var scene viewer.scenescene.lightSource.ambi…

Oracle TDE(Transparent Data Encryption) 常見問題解答 - 官網

此FAQ來源于官網鏈接。此為新版,老版的博客參見Oracle TDE(Transparent Data Encryption) 常見問題解答。 通用問題 透明數據加密 (TDE) 提供什么功能? TDE 以透明方式加密 Oracle 數據庫中的靜態數據。它可以阻止操作系統未經授權嘗試訪問存儲在文件…

徹底改變時尚:使用 GAN 實現 AI 的未來

徹底改變時尚:使用 GAN 實現 AI 的未來 一、介紹 想象一下,在這個世界里,時裝設計師永遠不會用完新想法,我們穿的每一件衣服都是一件藝術品。聽起來很有趣,對吧?好吧,我們可以在通用對抗網絡 &a…

鴻蒙基本工程目錄

工程級目錄 AppScope 中存放應用全局所需要的資源文件。entry 是應用的主模塊,存放 HarmonyOS 應用的代碼、資源等。oh_modules 是工程的依賴包,存放工程依賴的源文件。build-profile.json5 是工程級配置信息,包括簽名、產品配置等。hvigorf…

品牌產業出海指南如何搭建國際化架構的跨境電商平臺?

在“品牌&產業出海指南 – 成功搭建跨境電商平臺”系列中,我們將從電商分銷系統、跨境平臺商城/多商戶商城系統和國際化架構三個方面對幫助您梳理不同平臺模式的優缺點、應用場景、開發重點和運營建議。 在“品牌&產業出海指南 – 成功搭建跨境電商平臺”系…

【漏洞復現】Rejetto HTTP文件服務器——遠程命令執行(CVE-2024-23692)

聲明:本文檔或演示材料僅供教育和教學目的使用,任何個人或組織使用本文檔中的信息進行非法活動,均與本文檔的作者或發布者無關。 文章目錄 漏洞描述漏洞復現測試工具 漏洞描述 Rejetto HTTP文件服務器是一個輕量級的HTTP服務器軟件&#xff…

VBA學習(20):一批簡單的Excel VBA編程問題解答

1.如何確定單元格區域內的行數和列數? 使用Range.Rows.Count和Range.Columns.Count屬性。 2.Application.Columns指的是什么? 活動工作表中的列。 3.你的程序在列B位置插入一個新列,原來的列B會怎樣? 它向右移動成為列C。 4.假…

vue項目1分鐘實現自定義右鍵菜單,懶人的福音

高效實現需求,避免重復造輪子,今天給大家分享的是,如何在最短的時間內實現右鍵菜單,方法也很簡單,一個插件就可以搞定,話不多說,上效果圖: 1. 效果圖: 2. 安裝&#xff…

5. 基于Embedding實現超越elasticsearch高級搜索

Embedding介紹 Embedding是向量的意思,向量可以理解為平面坐標中的一個坐標點(x,y),在編程領域,一個二維向量就是一個大小為float類型的數組。也可以用三維坐標系中的向量表示一個空間中的點。在機器學習中,向量通常用于表示數據的特征。 向量…

SCI丨中三區

無線網絡遙感圖像和視頻處理技術在xxxxx析基于智能物聯網的xxxxx養老模式可持續發展基于心理行為大數據分類算法xxxxxx研究基于云計算xxxxx行為分析及客戶感知體系的構建基于機器學習的xxxxx金鋼時效行為研究 基于機器視覺的xxxxx檢測系統研究 機器學習的電子顯微鏡xxxxx材料的…

探索Laravel的視圖組件與插槽:構建動態且可復用的UI

探索Laravel的視圖組件與插槽:構建動態且可復用的UI 引言 Laravel作為一個現代化的PHP框架,提供了許多強大的功能來幫助開發者構建高性能和可維護的Web應用。其中,視圖組件(View Components)和插槽(Slots…