Apache Doris 在美团外卖数仓中的应用实践
实现 CPU、IO、内存资源的分布,来提升并行计算能力。在当前数据存储以磁盘为主的情况下,数据S can需要的较大的磁盘IO,以及并行导致的高CPU,仍然是资源的短板。因此,高频的大规模汇 总统计,并发能力将面临较大挑战,这取决于集群硬件方面的并行计算能力。传统去重算法需要 大量计算资源,实时的大规模去重指标对CPU、内存都是一个巨大挑战。目前Doris最新版本已经 支持Bitmap算法,配合预计算可以很好地解决去重应用场景。 Doris的系统架构如下,主要分为FE和BE两个组件,FE主要负责查询的解析、编译、优化、调度 和元数 据管理;BE主要负责查询的执行和数据存储。关于Doris的更多技术细节,可参考其官方文档。 Doris的特点: 同时支持高并发点查询和高吞吐的Ad-hoc查询。 同时支持离线批量导入和实时数据导入。 同时支持明细和聚合查询。 兼容MySQL协议和标准SQL。 支持Rollup Table和Rollup Table的智能查询路由。 基本都可以控 制在秒级。 7日趋势分析,2~3秒。由于数据量较大,根据集群规模不同查询性能有所区别,但数据量 较大时,调动的集群资源较多,因此MPP的并发性能受限于集群的性能。一般原则是并发 较高的业务,需要严格控制查询时效(基本在毫秒级),对于并发不高的业务,允许进行 较大的查询,但也要考虑集群的承受能力。 通过一年来的应用以及Doris的不断改进升级,Doris的高可靠、高可用、高可扩展性也得0 码力 | 8 页 | 429.42 KB | 1 年前3百度智能云 Apache Doris 文档
的列。主要用于导入时保证数据顺序。 用于指定例行导入作业的通用参数。 目前我们支持以下参数: 1. 期望的并发度。一个例行导入作业会被分成多个子任务执行。这个参数指定一个作业最多有多少任务可以同时执行。 必须大于0。默认为3。 这个并发度并不是实际的并发度,实际的并发度,会通过集群的节点数、负载情况,以及数据源的情况综合考虑。 2. 这三个参数分别表示: 1. 每个子任务最大执行时间,单位是秒。范围为 "desireTaskConcurrentNum" "desireTaskConcurrentNum":: "1" "1",, // 用户设置的期望最大并发子任务数。 // 用户设置的期望最大并发子任务数。 "maxErrorNum" "maxErrorNum":: "0" "0",, 格式数据,是否展开数组。 "currentTaskConcurrentNum" "currentTaskConcurrentNum":: "1" "1",, // 当前并发子任务数量。 // 当前并发子任务数量。 "num_as_string" "num_as_string":: "false" "false",, //0 码力 | 203 页 | 1.75 MB | 1 年前3Doris的数据导入机制以及原子性保证
Doris中的导入 使用案例 04 Doris简介 01 • 基于MPP(大规模并行处理)架构的分析型数据库 01 Doris简介 • 性能卓越,PB级别数据毫秒/秒级响应 • 适用于高并发、低延时下的多维分析、实时报表等场景 • 由百度自研,2017年开源,2018年贡献给Apache社区后更名为 Apache Doris 系统定位 • 百度内部统称其为“百度数据仓库Palo” 高可用 • 高度兼容MySQL • 支持在线表结构变更 • 支持集群动态伸缩 • 高度集成,不依赖于外部存储系统 • 架构优雅,单集群可水平扩展至200台以上 • 查询性能业界领先 • 高并发查询,100台集群可达10w QPS • 流式导入单节点100MB/s,小批量导入毫 秒延迟 • 数据、元数据高可用,线上稳定服务6年 • 机器故障副本自动迁移 01 Doris简介 MySQL0 码力 | 33 页 | 21.95 MB | 1 年前3
共 3 条
- 1