目录
4.3 partition和bucket的数量和数据量的建议
一:doris基础介绍
1.1 doris介绍
1.1.1 定义
doris是一个基于mmp(massively parallel processing,即大规模并行处理)的交互式sql数据仓库,是一个面向多种数据分析场景的、兼容mysql协议的、高性能的、分布式关系型列式数据库,用于报告和分析。
1.1.2 具体的业务场景包括
-
数据仓库建设
-
olap分析
-
用户行为分析
-
系统监控分析
1.1.3 Doris关键特性
-
支持mysql协议
-
按key排序
-
在线表结构变更
-
两层分区。分区:range partition; 分桶 hash bucket
-
mpp查询引擎:基于impala
-
列式存储:按列存储,高压缩比,多种索引
-
高基数精准去重
-
元数据全内存访问,快速访问
-
高度内聚,不依赖第三方系统
二:Doris与其它数据库比较
特征 |
Hadoop |
MPPDB |
传统数据库 |
---|---|---|---|
扩展能力 |
高 |
中(通过Hash计算数据行的物理机器,存储位置不透明 |
低 |
系统和系统管理成本 |
高 |
中(数据切分了,但是文件数没有变少,每个表在每个节点上一定有一到多个文件。同样节点数越多,存储的表就越多,导致每个文件系统上有上万甚至十万多个文件) |
中 |
应用开发维护成本 |
高 |
中(只设置 FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维。) |
中 |
SQL支持 |
中 |
高。在使用接口方面,Doris采用mysql协议,高度兼容mysql语法,支持标准sql。 |
高 |
数据规模 |
PB级别 |
准PB级别 |
TB级别 |
计算性能 |
对非关系型操作效率高 |
对关系型操作效率高 |
对关系型操作效率高 |
数据结构 |
结构化、半结构化和非结构化数据 |
结构化数据 |
结构化数据 |
特征总结 |
Hadoop在处理非结构化和半结构化数据上具备优势,尤其适合海量数据批处理等应用要求 |
MPP适合替代现有关系数据机构下的大数据处理,具有较高的效率。 Doris采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用io和cpu资源。 |
- |
应用场景 |
Hadoop适合海量数据存储查询、批量数据ETL、非机构化数据分析(日志分析、文本分析)等。 |
适合多维度数据自助分析、数据集市等 |
- |
三:底层索引与读写流程
3.1 Doris整体架构
-
Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
-
Backend(BE),主要负责数据存储、查询计划的执行
3.2 Doris存储设计目标
支持大数据量的分布式数据管理 |
|
---|---|
支持事务 |
|
对分析型友好 |
|