博客 Doris的关键性技术

Doris的关键性技术

   数栈君   发表于 2023-06-05 11:31  400  0

Doris关键技术
3.1 数据可靠性
元数据使用 Memory+Checkpoint+Journal ( 分别是什么?),使用 BTBJE ( 类似于 Raft ) 协议实现高可用性和高可靠性。

Doris 内部自行管理数据的多副本和自动修复。保证数据的高可用、高可靠。在服务器宕机的情况下,服务依然可用,数据也不会丢失。



3.2 易运维
无外部依赖:

Doris 部署无外部依赖,只需要部署 BE 和 IBE 即可搭建起一个集群。
支持 Online Schema Change
支持在线更改表模式 ( 加减列,创建 Rollup ),不会影响当前服务,不会阻塞读、写等操作;这种执行是异步的 ( 用户不需要一直盯在那里 )
数据库同步操作和异步操作:
同步,是所有的操作都做完,才返回给用户结果;即写完数据库之后,再响应用户,用户体验不好;

异步,不用等所有操作等做完,就响应用户请求;即先相应用户请求,然后慢慢去写数据库,用户体验较好。缓存机制(也就是消息队列),就是异步操作的一个典型应用。

副本自动均衡
传统数据库的扩(缩)容比较麻烦,有时甚至需要重做数据;而 Doris 数据库只需要一条 SQL ( 无须额外操作 ) 即可实现扩(缩)容。

内置监控
使用 Prometheus、Grafana 将监控项指标列出。

下图为 Doris 默认配置面板:


3.3 MySQL 兼容性
MySQL 的兼容性从两方面体现:

兼容 MySQL 的网络协议 ( MySQL Network Protocol )

兼容 MySQL 语法,使用 MySQL 语法可对 Doris 数据库进行查询
2.1 关于 MySQL 语法的兼容性,前文已经描述过,这里不再赘述;
2.2 关于 MySQL 的网络协议的兼容性,举个简单的例子:MySQL 的调度服务器 Proxy,可以直接用作 Doris 的 Proxy。

2.3 Doris 的前端展示,可以使用 MySQL 专属展示器 Tableu。下图就是使用 Tableu 将 Doris 数据可视化的一个范例。
2.4 Doris 与 R 语言可以实现无缝对接,用 R 语言可直接操作 Doris 数据库,进行数据分析、数据挖掘等工作。

3.4 支持 MPP
MPP 即 Massively Parallel Processing,大规模并行处理,即海量数据并发查询。以下图为例:

执行语句:

SELECT k1,SUM(v1) FROM A,B WHERE A.k2=B.k2 GROUP BY k1 ORDER BY SUM(v1)
1
该语句包含了合并、聚合计算、排序等多种操作;在执行计划的时候,MPP 将其拆分成多份,分布到每台机器执行,最后再将结果汇总。假如有10台机器,在大数据量下,这种查询执行方式可以使得查询性能达到10倍的提升。



  • 免责申明:

    本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

  • 《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu


  • 《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

  • 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

    同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
    https://github.com/DTStack

0条评论
上一篇:Doris的整体架构
下一篇:
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群