SelectDB案例 从 ClickHouse 到 Apache DorisFlink 将数据增量更新到 Doris 和 ES 中(利用 Flink 实现进一步的聚合,减轻了 Doris 和 ES 的更新压力)。 加速层:该层主要将大宽表拆为小宽表,根据更新频率配置不同的分区策略,减小 数据冗余带来的存储压力,提高查询吞吐量。Doris 具备多表查询和联邦查询性能 特性,可以利用多表关联特性实现组合查询。 应用层:DataSet 统一指向 Doris,Doris 因为当前架构是对单个标签和指标进行了定义,因此如何在查询计算时自动生成一个准确有 效的 SQL 语句是非常有难度的。如果你有相关的经验,期待有机会可以一起探索交流。 优化经验 从上文已知,为更好地实现业务需求,数据架构演进到 4.0 版本,其中 Apache Doris 作为 分析加速场景的解决方案在整个系统中发挥着重要的作用。接下来将从场景需求、数据导入、 查询优化以及成本优化四个方面出发,分享基于 实时可用:标签/指标导入以后,需实现数据尽快可用。不仅要支持常规离线导入 T+1 ,同时也要支持实时打标场景。 部分更新:因每个 Source 表由各自 ETL 任务产出对应的数据,其产出时间不一致, 并且每个表只涉及部分指标或标签,不同数据查询对时效性要求也不同,因此架构 需要支持部分列更新。 性能高效:具备高效的写入能力,且在圈选、洞察、报表等场景可以实现秒级响应。 控0 码力 | 12 页 | 1.55 MB | 1 年前3
Apache Doris 在美团外卖数仓中的应用实践右,但为了应对所有需求场景,业务要求计算近半年以上的历史。 不支持明细数据的查询。 解决方案:引入MPP引擎,数据现用现算 既然变化维的历史数据预计算成本巨大,最好的办法就是现用现算,但现用现算需要强大的并行 计算能力。OLAP的实现有MOLAP、ROLAP、HOLAP三种形式,MOLAP以Cube为表现形式,但计 算与管理成本较高。ROLAP需要强大的关系型DB引擎支撑。长期以来,由于传统关系型DBMS的 数据处理能力有限,所 应用层模型复杂,根据业务需要以及Kylin生产需要,还要做较多模型预处理。这样在不同 的业务场景中,模型的利用率也比较低。 2. Kylin配置过程繁琐,需要配置模型设计,并配合适当的“剪枝”策略,以实现计算成本与查 询效率的平衡。 3. 由于MOLAP不支持明细数据的查询,在“汇总+明细”的应用场景中,明细数据需要同步到 DBMS引擎来响应交互,增加了生产的运维成本。 4. 较多的预处理伴随着较高的生产成本。 技术权衡 MOLAP :通过预计算,提供稳定的切片数据,实现多次查询一次计算,减轻了查询时的计算压力,保证 了查询的稳定性,是“空间换时间”的最佳路径。实现了基于Bitmap的去重算法,支持在不同维度 下去重指标的实时统计,效率较高。 ROLAP :基于实时的大规模并行计算,对集群的要求较高。MPP引擎的核心是通过将数据分散,以实现 CPU、IO、内存资源的分布,来提升并行计算能力。在当前数据存储以磁盘为主的情况下,数据S0 码力 | 8 页 | 429.42 KB | 1 年前3
Doris的数据导入机制以及原子性保证承担百度所有统计报表业务 2012 01 Doris简介 04 05 06 • 全新的数据模型,查询存储 效率大幅提升 • MPP框架,支持分布式计算 2013 • 精简架构、统一用户客户端, 实现高可用 • 正式开始对外提供服务 2015 • 正式开源 • 希望能帮助更多人、让更多 人帮助Doris 2017 • 贡献给Apache社区,更名 为Apache Doris •0 码力 | 33 页 | 21.95 MB | 1 年前3
百度智能云 Apache Doris 文档FIRST_VALUE() LAST_VALUE() SUM() MAX() MIN() 对于 MAX() 和 MIN(), window从句可以指定开始范围 假设我们有如下的股票数据,股票代码是JDR,closing price是每天的收盘价。 Order By n(n是正整数) Order By n(n是正整数) Order By n Order By n SELECT SELECT0 码力 | 203 页 | 1.75 MB | 1 年前3
共 4 条
- 1













