Apache Doris 在美团外卖数仓中的应用实践
计算能力。OLAP的实现有MOLAP、ROLAP、HOLAP三种形式,MOLAP以Cube为表现形式,但计 算与管理成本较高。ROLAP需要强大的关系型DB引擎支撑。长期以来,由于传统关系型DBMS的 数据处理能力有限,所以ROLAP模式受到很大的局限性。随着分布式、并行化技术成熟应用,MP P引擎逐渐表现出强大的高吞吐、低时延计算能力,号称“亿级秒开”的引擎不在少数,ROLAP模式 可以得到更好的延伸。 应用层模型复杂,根据业务需要以及Kylin生产需要,还要做较多模型预处理。这样在不同 的业务场景中,模型的利用率也比较低。 2. Kylin配置过程繁琐,需要配置模型设计,并配合适当的“剪枝”策略,以实现计算成本与查 询效率的平衡。 3. 由于MOLAP不支持明细数据的查询,在“汇总+明细”的应用场景中,明细数据需要同步到 DBMS引擎来响应交互,增加了生产的运维成本。 4. 较多的预处理伴随着较高的生产成本。 ROLAP模式的优势 ,业务对齐逻辑复杂。 不同业务线需求差异大,指标需要良好扩展性。 由于业务上的复杂性,实时流计算中,需要考虑诸多业务口径的对齐,业务ER模型在合流处理中 开发成本较高,资源占用较大,通过设计基于Doris的准实时生产数仓,可以灵活地实现业务微批 处理,且开发生产成本都比较低。以下为基于Doris的准实时数仓架构设计,是典型的实时Lambd a生产架构: 实现准实时计算方案,需要以下能力的支撑:0 码力 | 8 页 | 429.42 KB | 1 年前3百度智能云 Apache Doris 文档
tiny_column in (1,2); Baidu 百度智能云文档 SQL手册 8 逻辑操作符 逻辑操作符 逻辑操作符返回一个BOOL值,逻辑操作符包括单元操作符和多元操作符,每个操作符处理的参数都是返回值为BOOL值的表达 式。支持的操作符有: AND: 2元操作符,如果左侧和右侧的参数的计算结果都是TRUE,则AND操作符返回TRUE。 OR: 2元操作符,如果左侧和右侧的参 partition 和 label Keywords Keywords 最佳实践 最佳实践 1. 查看返回结果 INSERT 操作是一个同步操作,返回结果即表示操作结束。用户需要根据返回结果的不同,进行对应的处理。 1. 执行成功,结果集为空 如果 insert 对应 select 语句的结果集为空,则返回如下: 表示执行成功。 表示没有数据被导入。 2. 执行成功,结果集不为空 在结果集不为空的情况下。返回结果分为如下几种情况: 每个子任务最多读取的行数。必须大于等于200000。默认是200000。 3. 每个子任务最多读取的字节数。单位是字节,范围是 100MB 到 1GB。默认是 100MB。 这三个参数,用于控制一个子任务的执行时间和处理量。当任意一个达到阈值,则任务结束。 3. 采样窗口内,允许的最大错误行数。必须大于等于0。默认是 0,即不允许有错误行。 采样窗口为 。即如果在采样窗口内,错误行数大于 ,则会导致例行作业被0 码力 | 203 页 | 1.75 MB | 1 年前3Doris的数据导入机制以及原子性保证
百度资深研发工程师 Doris Committer 01 Doris简介 导入的问题 02 03 Doris中的导入 使用案例 04 Doris简介 01 • 基于MPP(大规模并行处理)架构的分析型数据库 01 Doris简介 • 性能卓越,PB级别数据毫秒/秒级响应 • 适用于高并发、低延时下的多维分析、实时报表等场景 • 由百度自研,2017年开源,2018年贡献给Apache社区后更名为 读写冲突问题 原始数据 查询导入结果 源 操作1 操作2 处理 失败 失败 源 操作1 操作2 重试成功 额外重试 处理两次 02 导入的问题 At-Most-Once & At-Least-Once 语义 At-Most-Once语义 At-Least-Once语义 失败 源 操作1 操作2 重试成功 重试 只处理一次 Exactly-Once语义 成功 LOG 020 码力 | 33 页 | 21.95 MB | 1 年前3SelectDB案例 从 ClickHouse 到 Apache Doris
高效为业务赋能,内容库数据平台旨在集成各数据源的数据,整合形成内容数据资产(以指 标和标签体系为载体),为应用层提供库存盘点、分群画像、指标分析、标签圈选等内容分 析服务。 数据架构演进 TDW 是腾讯最大的离线数据处理平台,公司内大多数业务的产品报表、运营分析、数据挖 掘等的存储和计算都是在 TDW 中进行,内容库数据平台的数据加工链路同样是在腾讯数据 仓库 TDW 上构建的。截止目前,内容库数据平台的数据架构已经从 数仓层:不支持部分列更新,当上游任一来源表产生延迟,均会造成大宽表延迟, 进而导致数据时效性下降。 加速层:不同的标签跟指标特性不同、更新频率也各不相同。由于 ClickHouse 目前 更擅长处理宽表场景,无区别将所有数据导入大宽表生成天的分区将造成存储资源 的浪费,维护成本也将随之升高。 应用层:ClickHouse 采用的是计算和存储节点强耦合的架构,架构复杂,组件依赖 严重, 中, 接着使用 Flink 来消费 Kafka,并通过主键 ID 构建出一张大宽表,最后将大宽表导入到 Doris 中。如下图所示,来自数仓 N 个表中 ID=1 的 5 条数据,经过 Flink 处理以后,只有一条 ID=1 的数据写入 Doris 中,大大减 少 Doris 写入压力。 通过以上导入优化方案,极大地降低了存储成本, TDW 无需维护两份冗余的数据,Kafka 也只需0 码力 | 12 页 | 1.55 MB | 1 年前3
共 4 条
- 1