导读:随着快成物流的大宗商品产业链的不断发展,货运轨迹规划和实时数据分析的需求日益迫切,为了保障数据报表更新、用户画像圈选与物流轨迹实时更新等大数据核心系统性能,快成物流引入  Apache Doris 实时数仓升级了大数据算法平台,目前已经部署在 2 套生产集群,存储数据总量达百亿规模,覆盖实时数仓、BI 多维分析、用户画像、货运轨迹信息系统等业务场景。

作者共创:快成物流大数据算法平台技术负责人 汪新禧 &  SelectDB 内容团队

山西快成物流科技有限公司(简称“快成物流”)是一家以新一代信息技术为核心的“互联网 + 大宗物流产业链生态”的平台型科技企业,网络货运排名跻身全国前三。快成物流深耕“让大宗商品流通更美好”的企业使命,依托数字技术连接大宗物流全产业链,向产业参与主体提供全链路一体化物流解决方案,为行业降本、增效、提质持续助力。

目前快成物流服务卡车司机累计已破百万,货主数万家,在业务高峰期,单日新增数据量达到千万级别,大数据系统的数据处理能力面临巨大的挑战。快成物流已拥有多个数据业务线,其中核心业务包括:

  • 网络货运平台: 服务数万货主与百万卡车司机的大宗商品物流运输平台,业务流程复杂,实体货物种类多、服务周期长,对数据实时性要求高、数据分析维度复杂。
  • 快乐驾: 智慧物流车载终端系统,包括轨迹监控、安全驾驶等。
  • 快乐购: 后市场消费服务平台,包括加油加气、卡车零件销售等电商服务。

从 ClickHouse 到 Apache Doris:快成物流的数智化货运应用实践_MySQL

随着业务规模的不断扩大,快成大数据算法平台在支撑上述业务产生海量数据存储的同时,也需应对多种多样的数据应用需求,包括基础业务支撑、BI 报表分析、可视化大屏、用户画像、智能风控、精准营销、AB 实验以及合规性监测等,这也对大数据平台提出了更高的技术要求:

  • 极速数据处理:平台需要支持高吞吐量的复杂数据分析,在海量数据中快速准确地提取有价值的信息。
  • 点查性能强:大数据平台需实现高 QPS 点查能力,确保在海量数据中快速定位并查询特定信息,以满足用户对数据实时性的高要求。
  • 运维管理成本低:在保障数据处理效率和质量的同时,大数据平台期望通过自动化、智能化的运维手段降低运营成本。
  • 运行稳定:系统需要高可靠、高可用,为业务持续发展提供有力保障。

业务诉求与技术选型

随着用户对数据分析的实时性与时效性需求的日益提升,快成物流在早期进行 OLAP 数据库技术选型时,核心诉求是寻找一款基于 MPP 架构、高性能、实时的分析型数据库。当时考察选型的数据库包括 Kylin、Druid、Doris、ClickHouse 等。经过评估后,我们先选择了已经拥有一定用户基础的 ClickHouse,其在千万级别的单表处理耗时往往在数秒内,基本满足业务需求。而此时的 Doris 仍在孵化阶段,功能与稳定性尚需时间验证,我们也在持续关注 Doris 的发版与功能升级,并定期进行性能测试。

随着业务深度使用,ClickHouse 在查询性能方面表现较好,帮助我们解决了不少业务问题,但痛点也开始显露出来:

  • 多表 Join 性能有限:ClickHouse 只有 Global Join 和 Local Join,在大表 Join 大表时的场景下,跨节点间数据 Shuffle 时容易导致 Join 性能大打折扣,甚至造成 OOM 。
  • 运维成本高:ClickHouse 的扩容缩容操作复杂,目前做不到自动在线操作;配置管理也相对繁琐,学习成本很高。

与此同时,Apache Doris 的功能正在不断升级完善, 我们发现 Doris 的多表 Join 能力与运维成本更加符合我们对 OLAP 数据库的预期,并且能够很好的解决 ClickHouse 出现的上述痛点,测试环境下的性能表现也十分出色。

经过一段时间的试用后,我们开始逐步替代 ClickHouse,目前快成物流大数据算法平台的主要 MPP 场景都基于 Doris 提供服务。

基于 Apache Doris 的大数据算法平台

为支撑快成多种多样的数据应用场景, 我们团队自建了相对完善的大数据算法平台,引入 Doris 后的架构如下: