Apache Doris 在美团外卖数仓中的应用实践业务分析除了宏观数据之外,对明细数据查询也是一种刚需。通常大家会选择MySQL等关系型DB 作为明细数据的快速检索查询,但当业务成长较快时,很快就会遇到性能瓶颈,并且运维成本也 很高。例如,大数据量的同步、新增字段、历史数据更新等操作,它们的维护成本都非常高。 外卖运营业务特点 美团的使命是“帮大家吃得更好,生活更好”。外卖业务为大家提供送餐服务,连接商家与用户, 这是一个劳动密集型的业务,外卖 发生变化时,就导致在往常日增量的 业务生产方式中,历史数据的回溯失去了参考意义。在所有展现组织机构数据的业务场景中,组 织机构的变化是一个绕不开的技术问题。此外,商家品类、类型等其它维度也存在变化维的问题 。如下图所示: 数据生产面临的挑战 数据爆炸,每日使用最新维度对历史数据进行回溯计算。在Kylin的MOLAP模式下存在如下问题: 历史数据每日刷新,失去了增量的意义。 每日回溯历史数据量大,10亿+的历史数据回溯。 2. Kylin配置过程繁琐,需要配置模型设计,并配合适当的“剪枝”策略,以实现计算成本与查 询效率的平衡。 3. 由于MOLAP不支持明细数据的查询,在“汇总+明细”的应用场景中,明细数据需要同步到 DBMS引擎来响应交互,增加了生产的运维成本。 4. 较多的预处理伴随着较高的生产成本。 ROLAP模式的优势 1. 应用层模型设计简化,将数据固定在一个稳定的数据粒度即可。比如商家粒度的星形模型0 码力 | 8 页 | 429.42 KB | 1 年前3
SelectDB案例 从 ClickHouse 到 Apache Doris 导入方式多样,支持从 HDFS/S3 等远端存储批量导入,也支持读取 MySQL Binlog 以及订阅消息队列 Kafka 中的数据,还可以通过 Flink Connector 实时/批次同步数 据源(MySQL,Oracle,PostgreSQL 等)到 Doris。**** 社区目前 Apache Doris 社区活跃、技术交流更多,SelectDB 针对社区有专职的技 术 Aggregate 数据模型可支持部分列实时更新,因此我们去 掉了 DWM 集市层的构建,直接增量到 Doris / ES 中构建宽表,解决了架构 1.0 中 上游数据更新延迟导致整个宽表延迟的问题,进而提升了数据的时效性。数据(指 标、标签等)通过 Spark 统一离线加载到 Kafka 中,使用 Flink 将数据增量更新到 Doris 和 ES 中(利用 Flink 实现进一步的聚合,减轻了 Doris0 码力 | 12 页 | 1.55 MB | 1 年前3
Doris的数据导入机制以及原子性保证文本、PARQUET、ORC 04 使用案例 导入方式 04 使用案例 导入方式 同步/异步 场景 接口 Broker Load 异步 HDFS、BOS对象存储 MySQL Routine Load 异步 Kafka MySQL Stream load 同步 本地文件,数据流 HTTP Insert into 同步 命令行 MySQL Spark Load 异步 Spark MySQL 最佳实践 最佳实践 04 使用案例 • 根据数据源所在位置选择导入方式。 选择合适的导入方式 • 使用 MySQL 协议定期提交和查看导入作业。 确定导入方式的协议 • 导入方式为同步或异步。 确定导入方式的类型 • 每一批次数据唯一且固定,保证 At-Most-Once 制定 Label 生成策略 • 外部系统需要保证自身的 At-Least-Once,这样就可以保证 导入流程的 Exactly-Once。0 码力 | 33 页 | 21.95 MB | 1 年前3
百度智能云 Apache Doris 文档12 4. 向 表中导入一个查询语句结果,并指定 partition 和 label Keywords Keywords 最佳实践 最佳实践 1. 查看返回结果 INSERT 操作是一个同步操作,返回结果即表示操作结束。用户需要根据返回结果的不同,进行对应的处理。 1. 执行成功,结果集为空 如果 insert 对应 select 语句的结果集为空,则返回如下: 表示执行成功。 同时处于安全性考虑,如果该路径已存在同名的文件,则也会导出失败。 Doris 不会管理导出到本地的文件,也不会检查磁盘空间等。这些文件需要用户自行管理,如清理等。 4. 结果完整性保证 该命令是一个同步命令,因此有可能在执行过程中任务连接断开了,从而无法活着导出的数据是否正常结束,或是否完整。 此时可以使用 参数要求任务成功后,在目录下生成一个成功文件标识。用户可以通过这个文件,来判 断导出是否正常结束。 列的 Unique Key 模型表中 Keywords Keywords 最佳实践 最佳实践 1. 查看导入任务状态 Stream Load 是一个同步导入过程,语句执行成功即代表数据导入成功。导入的执行结果会通过 HTTP 返回值同步返回。并 以 Json 格式展示。示例如下: category, author, price category, author, price curl0 码力 | 203 页 | 1.75 MB | 1 年前3
共 4 条
- 1













