关于Doris

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

关于Doris_第1张图片

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

  1. Mesa可以满足我们许多存储需求的需求,但是Mesa本身不提供SQL查询引擎。
  2. Impala是一个非常好的MPP SQL查询引擎,但是缺少完美的分布式存储引擎。
  3. 自研列式存储:存储层对存储数据的管理通过storage_root_path路径进行配置,路径可以是多个。存储目录下一层按照分桶进行组织,分桶目录下存放具体的tablet,按照tablet_id命名子目录。

因此选择了这三种技术的组合。

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

关于Doris_第2张图片

  1. Doris的架构很简洁,使用MySQL协议,用户可以使用任何MySQL ODBC/JDBC和MySQL客户端直接访问Doris,只设FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维。
    1. FE:Frontend,即 Doris 的前端节点。主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作
    2. BE:Backend,即 Doris 的后端节点。主要负责数据存储与管理、查询计划执行等工作。
    3. FE,BE都可线性扩展
  2. FE主要有两个角色,一个是follower,另一个是observer。多个follower组成选举组,会选出一个master,master是follower的一个特例,Master跟follower,主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。
  3. Observer节点仅从 leader 节点进行元数据同步,不参与选举。可以横向扩展以提供元数据的读服务的扩展性。
  4. 数据的可靠性由BE保证,BE会对整个数据存储多副本或者是三副本。副本数可根据需求动态调整。 

# 博学谷IT 技术支持

你可能感兴趣的:(大数据)