Doris 最新技术能力调研

一、Doris核心技术特点:

  1. 存储模型:聚合模型,唯一Key模型,重复Key模型。通过Catalog方式接入外部数据源
  2. 丰富索引:倒排索引,排序索引,布隆过滤器,范围索引等。
  3. 查询:向量化计算,MPP查询,支持多表Join
  4. 智能优化器:支持CBO和RBO
  5. PipeLine执行:算子粒度并发级别调整
  6. 多态Schema:自动拓展Schema(2.0)
  7. 文本字段倒排索引,布隆过滤,实现类ES文本索引功能
  8. 湖仓一体:湖仓加速,元数据打通,支持Catalog
  9. 物化视图:单表物化,多表物化
  10. 对比Trino(Presto)有3倍的性能提升
  11. 高度兼容Mysql协议,支持高并发,多表Join性能好,支持事务导入,支持物化视图,支持实时和离线导入,支持联邦查询,支持倒排索引
  12. 应用案例:主要有画像,用户行为分析,日志分析,实时、离线报表分析

二、相关问题

1、具备算子落盘能力,算子落盘到什么地方?

类似spark计算过程中算子数据落盘,支持算子数据落盘到本地磁盘节省内存使用,提升计算吞吐

2、比Spark,Flink ETL 性能怎么样?

因为使用向量化处理,比他们快,但是数据量不能太大,几十TB支持不了,10TB以内比较适合。

3、混合负载 是这么概念?

可以进行多种场景查询,比如高并发查询 和 低频大数据量分析查询同时查询集群,不相互影响。不同用户的查询实现资源隔离,查询和写入都可以指定资源组,也可以单独控制某个用户的查询资源使用量。

4、部署方式有哪些?

本地:可以做到冷热数据分离,不同热度的数据放在不同的磁盘上

云:实现存算分离,读取对象存储暂时没有查询缓存的能力,Doris内部是有结果缓存能力的

5、集群机器机型推荐?

FE 16c 64g ssd

BE 32c 128g ssd

cpu 与内存的比例最好是:1:4

6、FE 支持高并发,如果要提升性能,一般怎么提升性能?

FE 分为observer,follower,leader角色

主从竞选只需要3个follower参与就可以了,如果要提升集群性能可以添加observer数量,如果为了提升极致的高可用,可以让这3个参加竞选的FE不提供数据服务

8、关于doris 查询外表

是使catlog方式获取元数据,不是使用映射表方式,Catalog 可以排除一些表,但权限不能同步过来。

Hive Catalog 支持动态刷新功能,其他的动态同步能力已开发好,正式版本还没发布。

9、类似监控业务是否能用Doris来实现?

可以,通过Flink推送的方式写入,能够查询到未刷写到磁盘的数据

10、查询外表时sql是否能透传?

不能

11、关于统一查询网关

Doris 支持联邦查询,查询多种Catalog,能缓存元数据信息,从而支持查询多种数据源,可以通过Doris作为统一查询网关去查询。

12、Doris与Presto性能对比如何,能否通过Doris查询Presto?

查询外部数据经过测试性能比Presto 更优,有3倍的性能提升;可以Doris可以查询Presto但是存在Presto 语法暂时还不兼容。

13、关于Doris 和Starocks差异

Starocks 运营比较早,融资情况比较差,社区活跃度不高。

Doris支持的场景更多,目标是能实现All in one,集成多个组件优点。

14、Doris是否支持Bulkload方式导入?

支持

15、物化视图能力?

查询时物化视图对用户透明的,建议用户按需手动创建物化视图,不推荐一张明细表创建多个物化视图,不能根据业务查询自动创建或推荐cube

16、关于权限控制

Mysql具有的权限能力Doris都有。查询Hive表时,某个用户Hive有的权限查询的表,Doris这边没有,需要重新赋权。

实现方式有两种:

1、配置一个Hive Catalog 配置时,可以配置Hive超管用户,在Doris这边再对每个用户重新赋权,在Doris侧做权限管控,查询Hive时使用超管去查询hive数据

2、配置每个业务自己创建自己的Catalog,每个Catalog配置不同的用户权限,但是这样容易形成非常多的Catalog,不利于管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Doris 技术文档 Doris 是一个分布式 OLAP 数据库,旨在为用户提供高效、稳定、可靠的数据存储和分析能力。本文档将介绍 Doris 的架构、数据模型、查询引擎和部署方式等方面的内容。 一、架构 Doris 的架构分为三层: 1. 存储层 存储层是 Doris 的核心组成部分,负责数据的存储和管理。Doris 采用了分布式存储技术,将数据均匀地分配到多个节点上,以实现数据的高可用性和可扩展性。Doris 的存储层支持多种存储引擎,包括 RocksDB、LMDB、Hadoop HDFS 等。 2. 计算层 计算层是 Doris 的查询引擎,负责处理用户的查询请求。Doris 的计算层采用了分布式计算技术,将查询任务分配到多个节点上并行执行,以提高查询效率和并发能力Doris 的计算层支持多种查询引擎,包括 MPP、SQL、Flink 等。 3. 接口层 接口层是 Doris 的用户界面,负责与用户进行交互。Doris 的接口层支持多种接口协议,包括 JDBC、ODBC、RESTful API 等。 二、数据模型 Doris 的数据模型采用了类似于关系型数据库的表格模型,但具有更丰富的数据类型和数据结构。Doris 的数据模型支持多维度数据分析和聚合,具有较高的灵活性和可扩展性。 Doris 的数据模型主要包括以下几个概念: 1. 数据库 数据库Doris 中数据的最高层次,用于管理和组织数据表格。一个 Doris 实例可以管理多个数据库。 2. 表格 表格是 Doris 中存储数据的基本单位,类似于关系型数据库中的表格。每个表格由多个列组成,每列具有相应的数据类型。 3. 分区 分区是 Doris 中表格的分割单位,用于实现数据的水平切分和负载均衡。每个分区都是一个独立的存储单元,可以分配到任意节点上。 4. 副本 副本是 Doris 中实现数据高可用性的关键技术,用于保证数据的冗余备份和容错能力。每个分区都可以配置多个副本,以实现数据的容错和负载均衡。 三、查询引擎 Doris 的查询引擎支持多种查询方式,包括 SQL、MPP 和 Flink 等。 1. SQL Doris 的 SQL 查询引擎支持标准的 ANSI SQL 语法,具有较高的兼容性和易用性。用户可以使用 SQL 语言进行数据查询、过滤、聚合和排序等操作。 2. MPP Doris 的 MPP 查询引擎采用了分布式计算技术,将查询任务分配到多个节点上并行执行,以提高查询效率和并发能力。MPP 查询引擎适用于大规模数据查询和分析。 3. Flink Doris 的 Flink 查询引擎是基于 Flink 流处理框架开发的,支持实时流数据分析和处理。Flink 查询引擎适用于实时数据分析和处理场景。 四、部署方式 Doris 的部署方式主要有以下几种: 1. 单机部署 单机部署是 Doris 最简单的部署方式,适用于小规模数据存储和查询场景。用户可以在单个节点上安装 Doris 实例,并将数据存储在本地磁盘上。 2. 集群部署 集群部署是 Doris 的标准部署方式,适用于大规模数据存储和查询场景。用户可以在多个节点上安装 Doris 实例,并将数据分布式存储在多个节点上。集群部署需要注意节点的负载均衡和数据同步等问题。 3. 容器部署 容器部署是 Doris 的新兴部署方式,适用于云原生和容器化场景。用户可以将 Doris 实例打包成容器镜像,并在容器平台上进行部署和管理。 总结 本文介绍了 Doris 的架构、数据模型、查询引擎和部署方式等方面的内容,希望能够为用户提供一些参考和帮助。Doris 是一个功能强大、易用性高的分布式 OLAP 数据库,具有广泛的应用场景和市场前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值