首页 > 其他分享 >Doris架构包含哪些技术?为什么进行技术整合?

Doris架构包含哪些技术?为什么进行技术整合?

时间:2023-07-04 21:56:34浏览次数:33  
标签:存储 架构 技术 follower FE 数据 节点 Doris

Doris主要整合了Google Mesa(数据模型),Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩)的技术。

为什么要将这三种技术整合?

Mesa可以满足我们许多存储需求的需求,但是Mesa本身不提供SQL查询引擎。

Impala是一个非常好的MPP SQL查询引擎,但是缺少完美的分布式存储引擎。

自研列式存储:存储层对存储数据的管理通过storage_root_path路径进行配置,路径可以是多个。存储目录下一层按照分桶进行组织,分桶目录下存放具体的tablet,按照tablet_id命名子目录。因此选择了这三种技术的组合。

 

Doris的系统架构如下,Doris主要分为FE和BE两个组件。

整体架构

Doris的架构很简洁,使用MySQL协议,用户可以使用任何MySQL ODBC/JDBC和MySQL客户端直接访问Doris,只设FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维。

FE:Frontend,即Doris的前端节点。主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。

BE:Backend,即Doris的后端节点。主要负责数据存储与管理、查询计划执行等工作。

FE,BE都可线性扩展FE主要有两个角色,一个是follower,另一个是observer。多个follower组成选举组,会选出一个master,master是follower的一个特例,Master跟follower,主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。

Observer节点仅从leader节点进行元数据同步,不参与选举。可以横向扩展以提供元数据的读服务的扩展性。

数据的可靠性由BE保证,BE会对整个数据存储多副本或者是三副本。副本数可根据需求动态调整。

 

元数据结构

Doris采用==Paxos协议以及Memory+ Checkpoint + Journal的机制==来确保元数据的高性能及高可靠。元数据的每次更新,都会遵照以下几步:

(1)写入到磁盘的日志文件中

(2)再写到内存中

(3)定期checkpoint到本地磁盘上

相当于是一个纯内存的一个结构,也就是说所有的元数据都会缓存在内存之中,从而保证FE在宕机后能够快速恢复元数据,而且不丢失元数据。

Leader、follower和observer它们三个构成一个可靠的服务,如果发生节点宕机的情况,一般是部署一个leader两个follower,目前来说基本上也是这么部署的。就是说三个节点去达到一个高可用服务。单机的节点故障的时候其实基本上三个就够了,因为FE节点毕竟它只存了一份元数据,它的压力不大,所以如果FE太多的时候它会去消耗机器资源,所以多数情况下三个就足够了,可以达到一个很高可用的元数据服务。

标签:存储,架构,技术,follower,FE,数据,节点,Doris
From: https://www.cnblogs.com/nifrecxgh/p/17527120.html

相关文章

  • 一文读懂:完整的支付系统整体架构!
    支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务。所以,从微服务的角度,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求,进行一......
  • 钡铼技术多功能RTU S475多功能RTU改变养殖行业现殖效率
    在养殖行业中,对环境参数的精确监测与控制至关重要。然而,传统的监测方法往往存在诸多痛点,如数据采集不准确、传输速度慢、可视化效果差等。为了解决这些问题,钡铼技术公司推出了其旗舰产品——S475多功能RTU,该产品在养殖行业监测中展现出了显著的优势。钡铼S475多功能RTU是一款......
  • Comet-基于 HTTP 长连接的“服务器推”技术
    简介: 很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了Comet-使用HTTP长连接、无须浏览器安装插件的两种“服务器推”方案:基于AJAX的长轮询方式......
  • Mac M2 Docker 构建镜像制定运行架构
    错误execuserprocesscaused"execfomaterror"在构建镜像的时候在本机运行没有问题,但是发到服务器上就不行,后来指定服务器对应的运行架构镜像才运行成功dockerbuildxbuild-timageName--platform=linux/amd64.查看服务器的架构信息https://blog.csdn.net/weixin_......
  • 电商系统架构全链路解析
    1、电商系统可能是世界上最复杂的业务系统说个有意思的小事,和一位PM同行聊工作,问我电商做的如何,我说并不是一件易事。对方哈哈一笑,说电商不就那么回事吗,有啥难的,是个PM都能做,我嘿嘿一笑,不作辩解。光说中国电商,发展至今已有20多年的历史,且一直处于高速的发展和竞争当中,时至今......
  • 油田智能化转型:钡铼技术多功能RTUS475的关键角色
    标题:S475在油田数据采集中的应用摘要:本文介绍了钡铼技术多功能RTUS475在油田数据采集中的应用。该设备基于高性能微处理器MCU和嵌入式实时操作系统,支持ModbusSlave和ModbusMaster功能,并能通过无线网络实现短信报警和数据传输到监控中心,为油田数据采集提供了稳定可靠的解决方......
  • 了解API接口技术及其应用
    在当今数字化时代,API(ApplicationProgrammingInterface,应用程序接口)已成为了各行各业之间数据传输和交互的关键技术。无论是电商平台、社交媒体、金融系统,还是智能设备,API接口都在发挥着重要作用。本文将深入探讨API接口技术及其应用,帮助读者轻松了解和使用API接口。一、什么是A......
  • 应用技术架构 —— 分布式应用多运行时架构
    应用技术架构——分布式应用多运行时架构发布于 2022-03-1609:25:141K0举报本文作者:何文强—CODING高级解决方案架构师具有一线互联网、物联网独角兽、全国股份制银行、新型智慧交通等跨行业从业经历,历任Java开发高级工程师、DevOps技术专家......
  • 深入了解API接口技术及其应用
    尊敬的读者们,大家好!在互联网时代,API(ApplicationProgrammingInterface)接口已经成为开发者们连接各种应用、获取数据的重要工具。今天,我们将深入探讨API接口技术以及如何轻松使用它来获取淘宝商品数据。首先,让我们来了解API接口的概念。简单来说,API接口就是不同软件系统之间进行......
  • api接口技术开发心得,获取1688淘宝商品详情数据,数据采集调用教程
    ​ 商品详情API接口的作用和重要性主要体现在以下几个方面:获取详细商品信息:商品详情API接口提供了获取1688和淘宝商品的完整详细信息的功能。这包括商品名称、价格、库存、规格、描述、图片、运费等。这些详细信息对于用户来说是购买决策的重要依据。提供用户购物体验:通......