大数据技术学习——Doris
【摘要】 Doris是适合于实时OLAP的高性能MPP架构数据库。
1 一句话介绍
Doris是适合于实时OLAP的高性能MPP架构数据库。
2 架构
Doris软件架构简洁,包含FE(FrontEnd)、BE(BackEnd)以及Broker(可选)三个角色:
- FE:负责请求接入、生成执行计划、元数据管理、节点管理。部署在控制节点上,至少3个及以上奇数个实例。
- BE:负责数据存储、计划执行。部署在数据节点行,3个以上实例。
- Broker:用于读取外部远端数据。部署在控制节点上,1个实例即可。
3 数据组织
- Catalog:数据目录。包括internal catalog(内部数据目录)和external catalog(外部数据目录)。外部数据目录将外部数据映射给Doris,便于直接访问进行数据联合分析。
- Database:数据库。
- Table:表。表结构称为Schema。表由多个Partition(分区)组成,Partition在物理上分割成多个Tablet(数据分片)。各个Tablet彼此之前无数据交集,独立存储,默认3副本分布到不同BE节点上。
4 存储模型
不同存储模型决定了数据导入后如何存在表中。Doris表的列分为Key和Value两种类型,Key即维度列,可作为分区列、分布列;Value即指标列,可进行聚合计算。
Doris支持三种存储模型:
- 聚合模型(Aggregate):即新数据导入时,对指定Value进行聚合计算后再存在表中。
- 唯一键模型(Unique):即新数据导入时,会覆盖具有相同Key的旧Value。该模型与采用Replace聚合函数的聚合模型底层实现相同。
- 明细模型(Duplicate):即新数据导入不会有任何聚合,即便完全相同的数据也会保留。
5 重要特性
- 强一致物化视图。当base表发生变化时,物化视图(如rollup表)自动刷新聚合结果。
- 提供多种Connector。便于其他组件直接操作Doris数据,例如Flink、Spark。
- 支持动态分区、临时分区。临时分区间不允许范围重叠,但与正式分区间则允许。
- 支持多租户资源隔离,单查询资源限制。
- 支持多种索引。包括Doris内置智能索引以及用户创建的二级索引。
6 参考
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)