Doris基础知识篇(1):思维导图
Doris思维导图
Doris基础知识篇(2):简介
概述Apache Doris 由百度大数据部研发(之前叫百度 Palo,2018 年贡献到 Apache 社区后, 更名为 Doris ),在百度内部, 有超过 200 个产品线在使用, 部署机器超过 1000 台, 单一 业务最大可达到上百TB。Apache Doris 是一个现代化的 MPP (Massively Parallel Processing,即大规模并行处理) 分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。 Apache Doris 的分布式架构非常简洁,易于运维, 并且可以支持 10PB 以上的超大数据集。
MPP 亚秒级
Apache Doris 可以满足多种数据分析需求,例如固定历史报表,实时数据分析, 交互式数据分析和探索式数据分析等。
架构Doris 的架构很简洁,只设 FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维,FE、BE 都可线性扩展。
FEFE(Frontend):存储、维护集群元数据;负责接收、解析查询请求,规划查询计划,调度查询执行,返回查询结果。主要有三个 ...
Doris基础知识篇(3):数据导入导出
总结
导入方式
方式
协议
导入执行
流程
Insert INTO
Doris中表数据的转换
同步导入
-
Broker load
外部数据源(HDFS/S3)+Broker进程
异步导入
Mysql协议
BE通过Broker拉取数据,会对数据预处理
Stream load
本地文件/数据流
同步导入
HTTP协议
Coordinator BE将数据分发给Excutor BE
Multi load
多个导入作业
原子性
HTTP协议
Routine load
外部数据源+常驻线程
异步导入
Mysql协议
不断生成task,在BE上获取kafka数据,基于一批数据进行Stream Load;
Binlog load
Mysql Binlog数据
Mysql CDC(Change Data Capture)
通过Canal进行
DataX
离线数据源Reader插件Writer插件
Spark Load
外部数据源(HDFS/S3)+Broker进程+Spark ETL
异步导入
Mysql协 ...
Doris基础知识篇(4):数据表
基本概念
Row&Column一张表包括行(Row)和列(Column)。 Row 即用户的一行数据。 Column 用于描述一行数据中不同的字段。
在默认的数据模型中, Column 只分为排序列和非排序列。存储引擎会按照排序列对数据进行排序存储,并建立稀疏索引,以便在排序数据上进行快速查找。
而在聚合模型中,** Column 可以分为两大类: Key 和 Value。从业务角度看, Key 和Value 可以分别对应维度列和指标列。从聚合模型的角度来说, Key 列相同的行,会聚合成一行**。其中 Value 列的聚合方式由用户在建表时指定。
Partition&Tablet用户数据先分区,再按hash值分桶。分区partition,分桶tablet
Partiton:数据表的分区Bucket:数据表的分桶,建议选择分布均匀的列
数值大时,查询并发高
数值小时,查询吞吐高
根据分桶列的 hash 值将数据划分成不同的 bucket。
如果使用了 Partition,则 DISTRIBUTED … 语句描述的是数据在各个分区内的划分规则。如果不使用 ...
Doris基础知识篇(5):数据模型
数据模型
Aggregate模型设置了**AggregateType**的列是**value**列,否则是key列。AggregateType:
数据聚合发生的时间段
数据导入
BE数据合并
数据查询
> 
聚合模型的局限性这里我们针对 Aggregate 模型(包括 Unique 模型),来介绍下聚合模型的局限性。在聚合模型中,模型对外展现的,是最终聚合后的数据。也就是说,任何还未聚合的数据(比如说两个不同导入批次的数据),必须通过某种方式,以保证对外展示的一致性。我们举例说明。这里我们针对 Aggregate 模型(包括 Unique 模型),来介绍下聚合模型的局限性。在聚合模型中,模型对外展现的,是最终聚合后的数据。也就是说,任何还未聚合的数据(比如说两个不同导入批次的数据),必须通过某种方式,以保证对外展示的一致性。我们举例说明。假设表结构如下:
ColumnNam ...
Doris基础知识篇(6):常用命令
表、库信息
查询查看前端节点SHOW PROC '/frontends'查看后端节点SHOW PROC '/backends'查看表数据大小SHOW DATA # 查看所有表大小SHOW DATA FROM org_project_data_2 # 查看指定表大小查看表信息DESCRIBE hbdata.app_phx_goods_refund_delete; 查看列修改情况SHOW ALTER TABLE COLUMN; 查看建表语句show create table ${table_name}查看查询计划EXPLAINEXPLAIN GRAPH
修改重命名表ALTER TABLE test_table RENAME new_table_name
列新增列ALTER TABLE t1 ADD COLUMN c1 BIGINT REPLACE AFTER c2;
分区查看表分区SHOW PARTITIONS FROM new_table_name新增分区ALTER TABLE t1 ADD PARTITION p2023030 ...
Doris基础知识篇(7):profile解析
profile查询分析 - Apache Doris0.15之前:SET is_report_success=true;0.15及之后:SET [GLOBAL] enable_profile=true;展示所有profile:show query profile "/"查询具体的profile:show query profile "/9312f30b1d144b62-b7db78576f34681b"