Apache Doris,一款优秀的高效分析型数据库

时间:2022-11-07 13:57:38

Apache Doris,一款优秀的高效分析型数据库

坚持原创,写好每一篇文章

Apache Doris是大规模并行处理的分析型数据库,它是百度贡献给Apache的项目,使用Doris可以做一些bi报表数据分析

硬件要求

它支持MySQL客户端的访问,由于它是大规模并行处理的分析型数据库软件,所以它对硬件的要求比较高,一般测试环境下我们要求机器是8核的,内存8g以上,千兆网络,而生产环境的要求更高,内存64g,网络在万兆网,可见它对硬件就还是有一定的要求的。

角色划分

Doris只有两个角色,前端和后端,前端Frontend,简称FE,后端Backend,简称BE。前端负责存储、维护元数据,在前端角色中,有leader、follower和observer三种角色,通过这三种角色我们就可以看出采用的是paxos算法,和zookeeper集群使用的算法一致,这里的观察者observer不参与数据的写入,只是读取的功能。后端就是用来存储和计算数据的

除了前端和后端以外,还有一个是broker,broker是在需要进行第三方系统导入数据的时候使用的到,因此它是可选的。如果使用的话,建议前端和后端的节点都部署broker

数据划分

Doris中的数据表与传统的关系型数据库的行和列有所不同,行就是一行数据,而列分为维度列和指标列,所谓维度列,就是按一定维度进行划分数据,相当于我们传统SQL的group by分组后的条件,而指标列就是一些count、sum、avg等值,在存储方面,Doris有分区和分桶的概念,分区能够方便数据的管理,它是最小的管理单元,而分桶是在分区的基础上进行细分,按照哈希值进行数据分片,它是最小的物理存储单元,数据的操作都是基于桶进行操作的。

总结

这篇我们讲了什么是Apache Doris,由于它的大规模并行处理的特点,所以相比传统的数据库它对硬件有更高的要求,在整体架构上它采用了Paxos算法,所以在角色划分上和zookeeper中的角色差不多,有leader、follower和observer,在数据划分方面,它将列分为维度列和指标列,这一划分也奠定了它的高数据处理能力。

❤️ 感谢大家

如果你觉得这篇内容对你挺有有帮助的话:

  1. 欢迎关注我❤️,点赞????????,评论????,转发????
  2. 关注盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
  3. 有不当之处欢迎批评指正。