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.cwhello.com/290541.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年6月28日 15:26
下一篇 2023年6月28日 15:26

相关推荐

  • 聊聊GT820和GT755哪一种显卡好。

    在比较GT820和GT755显卡的性能时,我们需要考虑多个技术规格和性能指标,虽然这两款显卡都不是目前市场上的最新型号,但它们在某些应用场景下仍然具有一定的使用价值,以下是对这两款显卡的详细技术介绍和比较。 技…

    2024年6月11日
    02
  • 我来说说python系统架构。

    Python是一种广泛使用的高级编程语言,其设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或关键字),由于Python的灵活性和强大的库支持,它被用于各种架构中,以下是一些在P…

    2024年7月26日
    03
  • 小编分享Storm原理和架构是什么。

    Storm是一个开源的分布式实时计算系统,它被设计用来处理大规模的数据流,Storm的核心原理和架构主要包括以下几个方面: 1. 分布式架构:Storm采用分布式的拓扑结构,将任务划分为多个小的子任务,并将这些子任务分…

    2024年6月13日
    02
  • 我来教你国内vps选择哪个比较不错的。

    国内的VPS有很多选择,其中一些比较受欢迎的包括阿里云、腾讯云和华为云。这些公司都是国内领先的云计算服务提供商,提供了稳定、可靠的VPS服务。如果您的网站主要面向国内用户,那么优先考虑国内VPS,因为它们价格…

    2024年7月13日
    01
  • 我来教你显卡后面的数字代表什么。

    显卡后面的数字通常代表了显卡型号和性能等级,它是显卡制造商为了区分不同产品而设定的编号,这些数字可以给消费者提供关于显卡性能、定位以及与其他型号比较时的直观信息,下面我们将详细探讨显卡型号数字的含义…

    2024年6月11日
    03
  • 云桌面是甚么怎样连接服务器云桌面的主流架构包括甚么。

    云桌面的主流架构包括 VDI (Virtual Desktop Infrastructure)、VDC (Virtual Desktop Cloud) 和 DaaS (Desktop as a Service)。 云桌面是一种基于云计算技术的远程桌面服务,它可以让用户通过互联网访问远程计算机…

    2024年7月9日
    01
  • 我来分享cpu架构和升级频率区别。

    在讨论CPU架构和升级频率的区别时,我们需要考虑几个关键因素,包括技术发展、市场需求、制造商策略以及消费者期望,以下是对这些方面的详细探讨: CPU架构的演变 中央处理单元(CPU)是计算机硬件的核心部件之一,…

    2024年6月12日
    02
  • 如何在PHP中使用RESTful架构。

    随着互联网技术的发展,RESTful架构已经成为了一种主流的Web API设计风格。与传统的Web服务相比,RESTful架构更加灵活、可扩展、易于维护,因此越来越多的Web开发人员开始使用它来设计和开发前后端交互的API。本文…

    2023年5月22日
    07

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息