首批通过分布式安全可靠测评,为关键业务系统打造
基于 Flink+OB Cloud 构建架构简洁的实时分析
- 50%数据处理时效提升
- 50%资源成本节省
- 40%排查问题时效提升
一、业务背景
跨越速运作为一家大型综合速运企业,其业务背景主要集中在物流行业,特别是针对快速、高效、可靠的货物运输服务。随着中国经济的快速发展和电子商务的蓬勃兴起,物流行业面临着前所未有的机遇和挑战。消费者对于物流服务的期望不断提高,特别是对于货物追踪的透明度、运输速度和服务质量的要求日益增长。
在这样的背景下,跨越速运需要处理大量的物流数据,包括订单信息、运输状态、配送路线、客户反馈等。这些数据不仅数量庞大,而且更新频繁,需要通过高效的数据处理和分析能力来优化物流运营,提升客户满意度,并在激烈的市场竞争中保持优势。
跨越速运拥有超过100位BI分析师,他们需要依赖大数据平台进行日常工作,包括数据研发和分析。公司的数据服务场景包含超过一万个数据接口,日调用量超过1000万次,同时保持99%的查询时延小于1秒。为了进一步提升用户体验,跨越速运对数据库提出了一系列要求,包括极致的查询性能、稳定的计算引擎能力、实时写入更新支持、易用性以及对多种数据源的支持。
二、业务挑战
- 数据来源多样性
- 物流行业的数据通常来自多个业务系统和模块,需要将这些不同来源的数据进行实时整合和处理,这要求实时分析解决方案必须具备高度的灵活性和兼容性。
- 数据时效性要求高
- 随着物流行业的竞争加剧,用户对数据查询和响应时效要求也在逐渐提高。比如在运单分析中,为了满足用户查询需求,系统需要实时更新过亿行的数据表,达到亚秒级(1GHz/秒)的查询时效,以及多表关联后对任意维度、字段进行聚合。
- 技术集成和维护成本高
- 实时云端分析架构需要自研 HBase CDC,我们投入了更多的资源进行维护和更新,增加了研发成本和复杂性。由于实时云端分析架构的复杂性,链路相对较长,排查问题可能变得较为困难,同时,涉及多个组件和技术的集成,需要定期进行更新、优化和故障排除,维护成本变高。
- 数据一致性和准确性
- 在实时更新和查询的过程中,确保数据的一致性和准确性是一个重要挑战,特别是在高并发和大数据量的环境下。
三、解决方案
- HTAP混合负载
- 原业务系统使用 MySQL 支持 OLTP 场景,OLAP 场景使用某 AP 型数据库,但还有许多业务需要兼顾事务处理和实时分析能力。例如实时运单分析场景,既需要实时写入数据、更新数据,又需要良好的实时分析性能。OceanBase 一套系统同时支持 OLTP 和 OLAP 能力,且业务间不影响,正好满足业务需求。
- 丰富的大数据生态对接
- 基于OceanBase的实时运单分析架构:
- 第一步仍然对业务库 MySQL 配置 Canal 监听,生成 Binlong 数据,写入 Kafka;
- 第二步用 FlinkSQL 读取 Kafka 数据。将同主键但不同来源模块的字段写入 OceanBase,此时已经是实时加工的运单宽表,可以直接使用大数据的各类平台对外提供使用;
- 第三步使用 OceanBase CDC+Flink 状态管理做分层计算。通过聚合分层再写入 OceanBase,根据不同需求,使用大数据的各类平台对外提供使用。
- 第二步用 FlinkSQL 读取 Kafka 数据。将同主键但不同来源模块的字段写入 OceanBase,此时已经是实时加工的运单宽表,可以直接使用大数据的各类平台对外提供使用;
- 第一步仍然对业务库 MySQL 配置 Canal 监听,生成 Binlong 数据,写入 Kafka;
- 基于OceanBase的实时运单分析架构:
四、应用场景
下图是实时运单公共层的示意图,可见业务数据经过订单、跟单、配载、调度、质控、财务等系统,经过基础字段整合、复杂关联计算,实时写入运单域 DWD 大宽表,并存储于 OceanBase 中,然后通过大数据平台对接铸剑系统,进行实时运单的分析与查询。
借助 OceanBase CDC+Flink 状态管理,做分层计算并轻度汇总 DWS,对近 15 天的时效产品分析数据表和各线路走货量进行数据分析,并通过大数据平台的数据接口服务,提供给用户。
最终,使用轻度汇总的近 15 天运单时效产品分析统计表,经过高度汇总形成 ADS 层的大盘指标,如近一周的时效达成率、当日的客诉量等指标,通过 QuickBI 做成可视化的数据门户,让数据可以更加直观、实时的展示。
五、客户收益
- 数据处理时效提升 50%
- 从数据整体的时效性上而言,升级后的架构比原架构快 5~15 秒,数据处理时效提升 50 %
- 排查问题时效提升 40%
- 原架构链路复杂,排查问题困难,而升级后的架构只需 Flink + OceanBase,链路简单,排查问题更加方便,排查问题时效提升40%。
- 资源成本节约 50%
- 原架构需要多维护一套 HBase 集群,多写入 2 次 Kafka,和多写入一份数据到 DB-X(某AP实时分析数据库)。而升级后的架构则只需一套 OceanBase,节约了集群成本,资源成本节约 50%。