查看原文
其他

龙腾出行如何通过 RisingWave 实现实时数据分析

RisingWave 社区 RisingWave中文开源社区
2024-09-10

1公司背景

龙腾出行 (https://www.dragonpass.com.cn/) 是全球品质生活服务平台,2005 年在广州成立。秉承“为会员和会员客户服务”的使命,多年来深耕会员服务,形成了以品质出行为核心,覆盖出行、健康、生活多场景的品质生活服务体系,实现服务网络、分支机构、合作伙伴、会员用户等多方位全球化,在出行服务营收上亚太第一、全球领先。

服务网络覆盖全球 140 多个国家和地区,提供全球 1400+ 休息室、190+ 贵宾楼接送服务覆盖城市、260+ 礼宾车覆盖城市、1000+ 餐厅折扣、500+ 健康服务覆盖城市等服务资源。

龙腾出行致力于打造专业会员服务技术平台,为 400 多家知名企业、超过 4000万名高净值会员提供了卓越的权益服务,覆盖金融、机场、航司、通讯、电子、OTA、互联网等行业,深度服务银行、卡组织、财富管理等金融机构,其中包括巴克莱银行、苏格兰皇家银行等顶级国际银行,以及 VISA、万事达等国际卡组织。

2使用 RisingWave 之前的情况

在龙腾出行接触 RisingWave 之前,几乎没有实时数据处理。他们主要采用 T+1处理模型,即数据在一天内(T)收集,然后在当天结束或第二天早些时候(T+1)运行的批处理作业中进行处理和汇总。其具体数据处理流程如下:

  1. 数据首先存储在 HDFS 等分布式文件系统中。
  2. 然后,数据通过 Apache Spark 等数据处理引擎,进行处理和计算。这些引擎用于执行各种数据转换、清洗和计算任务,以准备数据用于进一步分析和报告。
  3. 处理后的数据被写回到 HDFS 上,用于持久存储和查询。
  4. 使用 Superset 等可视化工具定义查询指标并创建仪表板和报告,通过 Impala 插件通过 Impala 来计算查询存储在 HDFS 中的数据,并在仪表板和报告中展示,以便分析数据和监控关键性能指标。


这个 T+1 的技术栈虽然能够满足当下的数据处理需求,但由于其批处理性质,无法提供实时性数据分析和即时洞察。数字化环境下,龙腾出行面临的高频业务需求已成常态,并呈现持续扩大的趋势。当出现对实时性要求比较高的场景时,例如风控或者实时推荐,无法快速满足业务部门对实时性的需求,如何保障业务实时性、连续性是龙腾在全球战略扩张时面临的首要问题。

3系统选型

龙腾出行在选择实现实时数据处理和分析的过程中遇到了一些挑战。流处理框架 Apache Flink 并不是他们当下的首要选择,主要有两个原因:高成本和陡峭的学习曲线。

1. 高成本担忧:

引入新技术堆栈通常伴随着财务成本,Apache Flink 也不例外。龙腾出行认识到采用 Apache Flink 可能会导致巨大的成本,包括但不限于基础设施升级和持续维护费用。这些成本相关的考虑因素对于一个旨在优化运营并高效分配资源的公司来说至关重要。

2. 陡峭的学习曲线:

第二个挑战围绕着 Apache Flink 的复杂性。虽然它是一个强大的流处理工具,但以学习曲线陡峭而闻名。对于专注于提供世界一流旅行体验的龙腾出行来说,投入大量时间和精力来掌握复杂的技术并不是一条理想的道路。旅行业的快速发展要求能够迅速采用解决方案,最小化对现有运营的干扰。

4为什么选择 RisingWave

龙腾出行存在着会员卡被滥用的问题。在使用 RisingWave 之前,对于这种薅羊毛的行为,龙腾出行缺乏一种高效的方式去进行实时监控。在解决这个问题的过程中,龙腾出行决定探索 Apache Flink 以外的方法。他们认识到需要一种更易用以及低成本的解决方案,以便在避免 Apache Flink 高成本和艰难学习曲线带来的困难的同时,利用实时数据处理和分析的优势。

这一需求引导龙腾出行寻求实时计算的解决方案,最终使他们了解到了RisingWave。这是一个创新的流式数据库,为他们开辟了一个有前景的道路。值得注意的是,RisingWave 与流行的数据库管理工具(例如 DBeaver)以及数据可视化工具 (例如 Superset) 兼容,进一步增强了其吸引力。通过选择RisingWave,龙腾出行找到了与其目标完全一致的解决方案,使他们能够克服这些挑战,充满信心和灵活性地开展通向实时数据分析的旅程。

龙腾出行进入实时数据处理领域始于他们与 RisingWave 的首次接触。这一开创性的流式数据库解决方案不仅为他们解决目前的问题提供了新的视角,还巩固了他们的合作关系。在几天时间内,RisingWave 根据龙腾出行的需求,迅速为其创建了一个内部仪表板。

5实施过程

龙腾出行的风控监测需求可以抽象成在一个时间窗口内实时地对事件进行指标聚合,来监控最近的时间内的异常滥用情况。如果是通过 Apache Flink 来实现这个需求的话,作为一个计算引擎,由于其没有对外暴露存储的能力,在定义了计算逻辑以后,还需要另外部署一个外部系统(如 MySQL, Redis 等),并sink到外部系统存储其计算结果。这一方面提高了整体的复杂度,另一方面也增大了维护成本。



而 RisingWave 是一个流式数据库,其本身提供存储的能力,并能以表 (table) 或者物化视图 (materialized view) 暴露存储的数据,以供用户进行在线的查询。同时 RisingWave 是 PostgreSQL 兼容的,因此可以很好的利用 PostgreSQL 生态中现有的能力来实现需求。


在龙腾出行与 RisingWave 首次接触并相互了解以后,他们认为 RisingWave 是一个很好的工具来解决现有的问题。为实现这一目标,RisingWave 的工程师将RisingWave 部署在龙腾出行的内部机器上,并同时部署了 Superset。在支持的过程中,RisingWave 的工程师还实现了一个 Superset 的 RisingWave 的插件,用于 Superset 与 RisingWave 的对接,以实现数据的可视化。同时,通过使用DBeaver,一种流行的数据库管理工具,进一步简化了集成,确保了对RisingWave 功能的高效和用户友好的控制。

在这个过程中,龙腾出行利用 RisingWave 强大的功能来构建物化视图,这些视图充当其实时数据的存储库。这些物化视图不仅促进了数据存储,还实现了快速访问和检索,确保龙腾出行获得及时的见解,以做出明智的决策。Superset 与这些视图一起,在满足龙腾出行需求的一系列仪表板的制作中发挥了关键作用。这些仪表板为数据分析提供了交互式和视觉上吸引人的界面,使龙腾出行的团队能够轻松地探索和解释他们的数据。

RisingWave 的一个突出特点是其窗口聚合功能。这一强大功能使龙腾出行无需大量定制编码就能够实时提取有价值的指标。它允许他们在定义的时间窗口内高效地聚合和分析数据,提供对会员卡使用趋势的细粒度视图。有了RisingWave 的窗口聚合功能,龙腾出行具备了监控和快速响应异常使用模式所需的灵活性和精确性,从而促进了决策的改进和客户体验的提升。

6结果

仅仅在几天内,龙腾出行就建立了一个完全功能齐全的实时数据监控系统。与传统方法相比,实施的灵活性和便捷性大大减少了开发时间和成本。RisingWave 证明了其为龙腾出行开启了新时代的实时旅行数据分析,彻底改变了他们的服务,并提升了全球数千万客户的旅行体验。

7客户评价

“在龙腾出行,我们了解实时数据在旅行业的价值。多亏了 RisingWave,我们能够在几天内从 T+1 处理转向实时数据分析,而无需大量编码或高成本。RisingWave 和 Superset 的集成对我们来说是一个改变游戏规则的因素,我们对它为我们的业务带来的无限可能性感到兴奋。”

8结论

龙腾出行与 RisingWave 的合作展示了可访问和高效的实时数据处理解决方案的变革力量。通过选择 RisingWave,龙腾出行不仅解决了大数据处理安全与运营成本的问题 ,更为接下来其拓展其他业态领域的创新商业合作、实现出行营收外的增长奠定基础。这个成功故事证明了旅行数据分析的演变,得益于下一代流式数据库技术的出现。




关于 RisingWave
RisingWave是一款分布式 SQL 流处理数据库,旨在帮助用户降低实时应用的的开发成本。作为专为云上分布式流处理而设计的系统,RisingWave 为用户提供了与 PostgreSQL 类似的使用体验,并且具备比 Flink 高出 10 倍的性能以及更低的成本。了解更多:
✨ GitHubrisingwave.com/github
💻 官网: risingwave.com
👨‍💻‍ Slack: risingwave.com/slack
📖 文档: risingwave.dev
🎬 B站RisingWave中文开源社区
🔍 知乎: RisingWave 中文开源社区
继续滑动看下一个
RisingWave中文开源社区
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存