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

这篇具有很好参考价值的文章主要介绍了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的系统架构如下,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架构包含哪些技术?为什么进行技术整合?

元数据结构

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

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

(2)再写到内存中

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

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

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

到了这里,关于Doris架构包含哪些技术?为什么进行技术整合?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么软件架构重要?

    作者:[美]伦·巴斯等 第2章为什么软件架构重要 如果架构是答案,那么问题是什么? 本章主要从技术角度讨论为什么架构重要。我们将研究13个重要原因。你可以利用它们来推动新架构的创建,或者对已有系统架构进行分析和优化。 1)架构可以抑制或支持系统的质量属性。

    2024年02月13日
    浏览(51)
  • 架构师进阶之路 - 架构优化为什么难

            目录 业务迭代和技术优化难以兼顾 缺少“上帝”视角思维 系统架构腐化 缺少架构师视角 系统迭代机制 设计规范把控 最近在组织团队内的系统架构优化,总而言之就是难,至于为什么难我这边总结了以下六个方面,记录一下自己的架构师进阶之路吧。😁 重要的事

    2024年02月12日
    浏览(56)
  • 阿里云为什么是国内第一云?有哪些优势?

    为什么选择阿里云?阿里云服务器有哪些优势?阿里云全球第三,国内第一云,阿里云服务器网aliyunfuwuqi.com分享云服务器ECS在丰富ECS实例架构、弹性灵活、稳定可靠、便捷易用、安全保障和成本优化多方面优势: 阿里云服务器ECS(Elastic Compute Service)是一种产品丰富、安全可

    2024年01月16日
    浏览(67)
  • 架构篇03-为什么要做架构设计?

    谈到架构设计,相信每个技术人员都是耳熟能详,但如果深入探讨一下,“为何要做架构设计?”或者“架构设计目的是什么?”类似的问题,大部分人可能从来没有思考过,或者即使有思考,也没有太明确可信的答案。 关于架构设计的目的,常见的误区有: 因为架构很重

    2024年01月21日
    浏览(66)
  • 全局变量可不可以定义在可被多个.C⽂件包含的头⽂件中?为什么?

            全局变量可不可以定义在可被多个.C⽂件包含的头⽂件中?为什么?         全局变量可以定义在可被多个 .C 文件包含的头文件中。         在 C 语言中,头文件通常用于声明函数、变量、结构体等,以供多个 .C 文件共享。当你将全局变量定义在头文件中

    2024年01月18日
    浏览(50)
  • MySQl有哪些索引(种类)?索引特点?为什么要使用索引?

    普通索引:仅加速查询 唯一索引:加速查询 + 列值 唯一(可以有null) 主键索引:加速查询 + 列值 唯一(不可以有null)+ 表中只有一个 组合索引: 多列值组成一个索引 ,专门用于组合搜索,其效率大于索引合并 全文索引:对文本的内容进行分词,进行搜索 索引合并:使用

    2024年02月07日
    浏览(72)
  • DDD架构为什么应该首选六边形架构?

    分层架构的一个重要原则是:每层只能与位于其下方的层发生耦合。 分层架构分两种:一种是严格分层架构,规定某层只能与直接位于其下方的层发生耦合;另一种是松散分层架构,允许任意上方层与任意下方层发生耦合。 下图是一个典型的DDD传统分层架构。 以上分层架构

    2024年02月16日
    浏览(56)
  • 路由器劫持是什么意思为什么要劫持路由器有哪些方法可以防范

    继“棱镜门”事件之后,网络安全也随之被各大媒体关注,近段时间有不少媒体报道,全球拥有大量的路由器遭入侵、路由器被劫持等等。另外在如今越来越多的无线网络环境中,蹭网也是常常被人们提及,那么路由器劫持是什么意思?怎么看路由器是否被劫持?针对这两个

    2024年02月07日
    浏览(69)
  • 云HIS是什么?HIS系统为什么要上云?云HIS有哪些优点?

    1.医院信息系统(HIS)经历了从手工到单机再到局域网的两个阶段,随着云计算、大数据新技术迅猛发展,基于云计算的医院信息系统将逐步取代传统局域网HIS , 以适应人们对医疗卫生服务越来越高的要求。   利用云计算、大数据等现代信息技术研发的医疗卫生信息平台(

    2024年02月11日
    浏览(52)
  • 现代软件为什么要采用微服架构

    现代软件采用微服务架构是为了解决传统单体架构在开发、部署和维护大型应用时面临的一系列问题。以下是采用微服务架构的主要优势: 1. **模块化和组件化**:微服务通过将应用拆分为一系列小型、松耦合的服务来提高模块化水平。每个服务都是围绕特定的业务功能构建

    2024年04月26日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包