大数据基础: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博客🙉
-
📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关文章:
大数据基础:Doris重点架构原理
文章目录 Doris重点架构原理 一、Apache Doris介绍 二、Apache Doris使用场景 三、Apache Doris架构原理 四、Apache Doris 特点 Doris重点架构原理 一、Apache Doris介绍 基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知ÿ…...
.NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
简述 在软件开发的宇宙中,.NET是一个不断扩展的星系,每个版本都像是一颗独特的星球,拥有自己的特性和环境。作为技术经理,站在选择的十字路口,您需要一张详尽的星图来导航。本文将作为您的向导,带您穿越从.…...
k8s核心操作_存储抽象_K8S中使用ConfigMap抽取配置_实现配置热更新---分布式云原生部署架构搭建032
现在有个问题,是上面我们利用pv和pvc 就是持久卷 以及 持久卷申请,实现了对存储的,pod删除以后,对其使用的存储空间也进行了删除,那么还有个问题,对于redis这种我们希望,他的配置也管理起来. 比如这个redis的配置文件. 以后其他的配置文件也是这样. 使用配置文件的存储在k8s中…...
【前端】SpringBootWeb 篇-入门了解 Spring Cache、Spring Task与WebSocket 框架
在SpringBootWeb开发中,Spring Cache、Spring Task与WebSocket框架是三个非常重要的组件,它们分别用于缓存管理、任务调度和实时通信。以下是对这三个框架的入门了解: 一、Spring Cache 1. 简介 Spring Cache是Spring框架提供的缓存抽象&a…...
应用最优化方法及MATLAB实现——第4章代码实现
一、概述 之前对这本书的第三章进行了代码实现,这篇博客是对这本书第4章相关代码进行实现,部分内容安装书中代码无法实现相应功能,MATLAB会报错,对其进行一定程度的更改后,可以正常运行,与书中所给示例运行…...
搜维尔科技:Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。
Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。 搜维尔科技:Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。...
NodeJS技巧:在循环中管理异步函数的执行次数
背景介绍 在现代Web开发中,NodeJS因其高效的异步处理能力而备受青睐。尤其在数据抓取、网络爬虫等应用场景中,NodeJS的非阻塞I/O特性使其成为不二之选。然而,在实际编程过程中,我们经常会遇到一个棘手的问题——如何在循环中控制…...
debian 实现离线批量安装软件包
前言 实现在线缓冲需要的软件和对应依赖的包,离线进行安装 ,用于软件封装。 测试下载一个gcc和依赖环境,关闭默认在线源,测试离线安装gcc和依赖环境 兼容 debian ubuntu/test 测试下载安装包到目录 vim /repo_download.sh #!…...
远程开机准备工作
本文章以华硕主板B460M为样板,进行远程开机的前提设置 第一步主板设置 开机按del进入bios主界面,进入高级模式 找到高级-----高级电源管理 进去以后选择由pci_e设备唤醒点击开启 设置完成以后保存并退出 第二步网卡设置 打开设备管理器找到网络适配器…...
PGCCC|【PostgreSQL】PCA+PCP+PCM等IT类认证申报个税退税指南
小编特将PostgreSQL证书申报个税退税流程,编辑成文,供大家申报参考哦~ 1.申报专项附加扣除 第一步:打开个人所得税APP,选择“专项附加扣除填报”: 第二步:“扣除年度”选择您要申报的年度,并…...
让AI语言模型自由飞翔:LangChain框架的奇妙世界
今天,我将为大家揭开一项令人激动的技术——LangChain。想象一下,如果能将人工智能的强大能力与我们日常使用的数据和工具无缝连接,那将开启怎样崭新且无限的可能! LangChain,一个专为大型语言模型设计的框架…...
solidity基础语法(以太坊solidity合约)
solidity基础语法(以太坊solidity合约) 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…...
【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2
【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2 一、赛题背景二、赛题任务三、评审规则四、具体实践4.1 实现的思路4.2 理论介绍GBDTLightGBM 4.3 代码的实现与运行4.3.1 导入模块4.3.2 探索性数据分析(EDA)4.3.3 特征工程4.3.4 模型训练…...
【设计模式】【创建型模式】【02工厂模式】
系列文章 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 系…...
FPGA设计中的流水线 -分割大的计算电路可以更快的处理数据。
FPGA(现场可编程门阵列)设计中的流水线优化是一种提高设计性能的技术,它通过将设计分解为多个阶段或步骤来实现。每个阶段可以并行执行,从而提高整体的吞吐量和效率。以下是流水线优化的一些关键概念和作用: 意思&…...
GNU/Linux - U-BOOT的GPIO command
在嵌入式Linux开发中,先运行的是u-boot,然后再加载Linux内核。 启动时如果设置了u-boot等待时间,在等待时间内,按任意键就会进入u-boot命令行环境。 在u-boot命令行环境下,可以使用gpio命令来操作GPIO。 Synopsis gpi…...
35.UART(通用异步收发传输器)-RS232(2)
(1)RS232接收模块visio框图: (2)接收模块Verilog代码编写: /* 常见波特率: 4800、9600、14400、115200 在系统时钟为50MHz时,对应计数为: (1/4800) * 10^9 /20 -1 10416 …...
OpenLayers学习笔记-点位聚合
需求 用户点击行政区划等操作后,从后台获取区域内的点位数据,在地图上聚合显示。用户手动取消聚合,点位直接渲染在地图上。 实现过程 使用后台返回的点位数据,通过new ol.source.Vector({features})创建矢量数据源。使用new ol.source.Cluster({source})创建聚合标注数据…...
flutter实现语言的国际化
目录 前言 一、GetX实现国际化(推荐) 1.安装Getx 2.创建国际化的文件 3.使用国际化字符串 4.配置GetMaterialApp 5.更改语言 6.系统语言 编辑 7.原生工程配置 1.iOS工程配 1.打开iOS工程,在Project的info里面添加语言 2.创建String File文件 2.andr…...
服务端正常启动了,但是客户端请求不到
服务端正常启动了,但是客户端请求不到有哪些原因?如何排查? 如果客户端请求的接口没有响应,排查的方式: 检查接口IP地址是否正确,ping一下接口地址。 检查被测接口端口号是否正确,可以在本机Telnet接口的IP和端口号…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
