一、架构
FE(Frontend) 和 BE(Backend)节点
FE 为Doris 的前端节点。主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作;
BE 为Doris 的后端节点。主要负责数据存储与管理、查询计划执行等工作;
-
FE 节点分为 follower 和 observer 两类。各个 FE 之间,通过 bdbje(BerkeleyDB Java Edition (opens new window))进行 leader 选举,数据同步等工作。
-
follower 节点通过选举,其中一个 follower 成为 leader 节点,负责元数据的写入操作。当 leader 节点宕机后,其他 follower 节点会重新选举出一个 leader,保证服务的高可用。
-
observer 节点仅从 leader 节点进行元数据同步,不参与选举。可以横向扩展以提供元数据的读服务的扩展性。
-
BE节点存储数据,用户数据被拆分最小粒度为tablet,每个tablet默认3个副本,分别放在不同ip的机器上(同一机器启动3个BE进程视为一台机器,仅存放一份),保证数据安全及高可用。
二、连接Doris
使用MySQL 的 ODBC/JDBC以及MySQL 的客户端连接Doris,且:
1. Doris 兼容 MySQL 的网络协议 ( MySQL Network Protocol )
2. Doris 兼容 MySQL 语法,使用 MySQL 语法可对 Doris 数据库进行查询