Doris数仓的4大特点,一篇讲明白(文末送Doris书籍)

Doris从设计上来说,融合了Google Mesa的数据存储模型、Apache的ORCFile存储格式、Apache Impala查询引擎和MySQL交互协议,是一个拥有先进技术和先进架构的领先设计产品,如图1所示。

docx image

▲图1 Doris技术分解图

一类是FE另一类是BE

FE节点包含Leader、Follower和Observer三种角色。

FE节点主要包括存储管理(Store Manager)模块、状态管理(State Store)模块、协调(Coordinator)模块、元数据(StoreMeta)模块和元数据缓存(StoreMeta Cache)模块。

BE节点可以无限扩展,并且所有BE节点的角色都是对等的。

Doris不仅架构简单,开发和使用也非常简单。对一款OLAP数据库来说,性能不是数据库的全部,易用性才是决定是否持续使用的关键,Doris从系统设计之初就一直以用户的易用性作为出发点。

从数据分析的全周期来看,一般可以简单归纳成四个方面,从数据建模→数据导入→用户上手分析→持续使用以及维护升级,Doris的易用性无处不在。

在数据建模方面,Doris支持Aggregate、Unique和Duplicate三种模型,可以满足OLAP领域的各种应用场景。

在数据导入方面,Doris提供多种数据导入方案可以针对不同的数据源进行选择,同时在数据导入过程中提供原子性保证。

docx image

▲图2 Doris数据导入支持

同时,每一个导入作业都会生成一个Label,这个Label是在数据库内用于唯一区分一个导入任务。Label可以由用户指定,部分导入功能也会由系统自动生成。Label用于保证对应的导入作业仅能成功导入一次,一个成功导入的Label再次使用时,会被拒绝并报错Label already used。通过这个机制,数据消费侧可以实现At-Most-Once语义。如果结合上游系统的At-Least-Once语义,则可以实现端到端数据导入的Exactly-Once语义。数据导入流程如图3所示。

docx image

▲图3 Doris数据导入流程

在SQL开发方面,Doris支持标准的SQL语言,在方言方面向MySQL兼容。

在工具方面,Doris在FE模块中实现了兼容MySQL协议

在集群可靠性方面,Doris元数据使用内存存储+检查点+镜像日志文件的模式

在集群扩缩容方面,Doris基于自身的分布式管理框架,可以自动管理数据副本的分布、修复和均衡。

在集群升级方面,Doris的升级方式却极其简单,只需要替换二进制程序,滚动重启集群即可。

Doris提供了非常丰富的功能来帮助业务适应不同的应用场景。下面重点介绍一些Doris的特色功能。

分区分桶裁剪功能

docx image

▲图4 Doris数据分布示例

利用分桶裁剪功能,Doris可以将查询固定到极少数分片上,从而显著降低单个查询对系统资源的消耗,提升集群整体的并发查询能力。在高并发查询场景,Doris单节点可以支撑上千QPS的查询请求。

合理的缓存功能

,Doris支持Bitmap数据类型

在用户画像场景中,使用Bitmap来存储用户ID,可以通过位图的集合运算快速获取不同标签组合的人群包。同时,Doris也内置了很多Bitmap相关的函数,用于计算漏斗、留存等。比如通过intersect_count()函数就可以方便地计算用户的留存情况。

物化视图物化视图也是Doris的核心特点之一

在Doris中,用户可以使用明细数据模型存储明细数据,之后在明细数据上,选择任意维度和指标创建聚合物化视图,如SUM、MIN、MAX、COUNT等。Doris会保证明细表和物化视图中数据的完全一致。如果导入或删除物理表数据, 物化视图会自动更新,保证原始表和物化视图表的数据一致性。同时,物化视图对用户查询是透明的,Doris会自动根据查询语句中的模式,匹配到最合适的物化视图进行查询。通过物化视图功能,用户可以在一张表上统一明细和聚合模型,并且加速某些固定模式的查询响应。

Doris还支持基于主键的数据更新。

基于Unique模型,Doris还通过Marked Delete和Sequence Column等功能,可以实现对上游交易数据库更新数据的同步操作,并且不仅能够保证事务的原子性,还可以保证数据同步的顺序性。

完全开源开放

有关 Apache License 2.0的具体内容,可以在 Apache 官网查阅。简单来说,分发完全自由、允许项目代码被修改、允许作为开源或商业化软件再次发布 ,一旦授权永久有效,在修改代码或有源代码衍生的代码中需要带有原来代码的协议、专利声明等。这是对于任何商业化公司和开源用户都极其友好的协议。

推荐阅读《Doris实时数仓实战》

docx image

推荐理由:资深数仓专家王春波老师新作!ApacheDorisPMC推荐,基本操作、架构设计、进阶使用、运维管理、拓展应用、项目实战6维度全面讲解

– END –

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容