Gupshup 如何在 Amazon Redshift 上构建其多租户消息分析平台 大数据博客

Gupshup 如何在 Amazon Redshift 上构建其多租户消息分析平台 大数据博客


Gupshup 如何在 Amazon Redshift 上构建多租户消息分析平台

作者:Gaurav Singh 和 Shabi Abbas Sayed,日期:2024年2月12日

关键要点

Gupshup 打造了一个强大的消息分析平台,处理每月超过 100 亿条消息。选择 Amazon Redshift 作为数据仓库以支持数据处理和实时分析。利用增量刷新的物化视图特性,Gupshup 实现了 15 分钟的数据延迟,简化了代码复杂性。Gupshup 的解决方案具有可扩展性、性能和成本效益,为企业提供数据驱动的洞察。

Gupshup 是一家领先的对话式消息平台,每月处理超过 100 亿条消息。该平台用于营销、销售和支持,帮助大大小小的企业在新兴市场中建立对话体验。Gupshup 提供一个单一的消息 API,支持 30 多个渠道,以及一个丰富的工具包来创建各种对话式体验。

目标

Gupshup 希望构建一个消息分析平台,以:

Gupshup 如何在 Amazon Redshift 上构建其多租户消息分析平台 大数据博客获取关于 WhatsApp/SMS 活动的详细洞察、数据和报告,跟踪终端客户发送的每条消息的成功率。轻松洞察趋势、投递率和速度。节省时间,消除不必要的流程。

关于 Redshift 及其相关功能

Amazon Redshift 是一个完全托管的、支持 PB 级数据仓库,提供简单的操作和高性能。它可以快速、简单且具有成本效益地使用标准 SQL 和现有的商业智能 (BI) 工具分析所有数据。Redshift 超越了传统数据仓库的工作负载,通过与 AWS 云的集成,具备多种强大功能,例如使用 Spectrum 查询数据湖、通过 PartiQL 进行半结构化数据的摄取和查询、通过 Amazon Kinesis 和 Amazon MSK 的流式摄取等。

在这个用例中,Gupshup 主要依赖 Amazon Redshift 作为数据仓库,每月处理数十亿个流事件,对这些数据进行复杂的数据管道操作,并在原始数据上逐步维护聚合层级。他们享受着 Amazon Redshift 带来的灵活性和便利性。通过利用 Amazon Redshift 的物化视图,Gupshup 能显著改善来自商业智能 (BI) 工具的重复和可预测工作负载的查询性能。此外,提取、加载和转换 (ELT) 数据处理变得更快且更简单。为了存储常用的预计算数据,并无缝利用它们来减少后续分析查询的延迟,Redshift 的物化视图特性具备增量刷新能力,使 Gupshup 在使用更少代码的同时更加灵活。在没有编写复杂代码的情况下,某些用例的数据延迟大约为 15 分钟。

整体架构与实现详情

Gupshup 使用变更数据捕获 (CDC) 机制从源系统提取数据,并将其保存在 S3 中以满足需求。一系列物化视图刷新被用于计算指标,然后从 S3 加载增量数据到 Redshift。汇总的数据接着导入到 Aurora PostgreSQL Serverless 进行操作报告。Redshift 支持的物化视图的增量刷新能力,使其能够逐步处理大量数据,结合其扩展能力、并发性和弹性缩放功能,以及 RA3 架构,实现了存储和计算的分离,使 Gupshup 可以单独缩放,而无需担忧另一部分的资源。Gupshup 选择 Aurora PostgreSQL 作为操作报告层,是因为预期在并发性和查询成本效益方面的提升。

Gupshup 利用 Redshift 的增量物化视图特性,实现基于流的增量分析。该图展示了一种典型的数据处理管道,数据通过多个流进来。流需要合并,然后通过与主数据表连接进行丰富化,接着进行多次联接和聚合。这一切都需要以增量的方式执行,提供 30 分钟的延迟。

Gupshup 利用 Redshift 的增量物化视图特性来实现这一点。所有的连接、丰富化和聚合语句都是使用 SQL 编写的。流与流之间的连接通过将两个流导入按关键字段排序的表中进行,然后增量物化视图根据关键字段对数据进行聚合。Redshift 会自动保持物化视图与来来的数据的增量刷新。即使与其他物化视图基于层次聚合,增量视图维护特性也能够正常运作。这使 Gupshup 能够增量构建整个处理管道,从而有效降低了他们在概念验证和原型阶段的周期时间。此外,不需要单独处理历史数据与实时流数据。

除了增量分析外,Redshift 在许多操作方面简化了流程。例如,通过使用 快照还原 功能,可以快速从现有的生产集群创建实验集群。如果处理逻辑发生变化在原型阶段很常见,他们需要重新处理所有历史数据。Gupshup 使用 Redshift 的 弹性缩放特性 来暂时扩大集群规模,然后在完成后缩小集群规模。他们还使用 Redshift 直接支持一些高并发仪表盘。在这种情况下,Redshift 的并发性扩展特性非常实用。此外,他们还有许多内部的数据分析师需要在实时生产数据上运行临时查询。他们利用 Redshift 的工作负载管理功能,确保分析师能够运行查询,同时确保生产查询不受影响。

Gupshup 从 Amazon Redshift 获得的收益

收益具体描述按需扩展灵活应对不断变化的数据需求。使用和维护简单,代码量少降低了开发复杂性和运维成本。增量物化视图刷新带来的性能优势提高了查询效率,响应更及时。

结论

Gupshup,这家企业消息公司,需要一个可扩展的数据仓库解决方案来分析每月生成的数十亿条事件。他们选择了 Amazon Redshift 来构建一个云数据仓库,以处理这一规模的数据并实现快速分析。

通过结合 Redshift 的可扩展性、快照、工作负载管理和低操作性,Gupshup 能在不到 15 分钟的分析刷新率内提供数据驱动的洞察。

总的来说,Redshift 的可扩展性、性能、管理的简易性和成本效益使 Gupshup 能够从数十亿个事件中获得近乎实时的数据驱动洞察。一个可扩展且强大的数据基础设施使 Gupshup 能够构建创新的消息产品,带来竞争优势。

免费国际服加速器

“Redshift 的物化视图的增量刷新特性使我们以更少的代码变得更加灵活。” Pankaj Bisen,Gupshup AI 和分析主管。

关于作者

Shabi Abbas Sayed 是 AWS 的高级技术客户经理,热衷于构建可扩展的数据仓库和大数据解决方案,密切与客户合作。他与大型独立软件供应商客户合作,帮助他们构建和运营安全、弹性、可扩展和高性能的 SaaS 应用程序。

Gaurav Singh 是 AWS 的高级解决方案架构师,专注于 AI/ML 和生成式 AI。基于印度普纳,他专注于帮助客户构建、部署和迁移 ML 生产负载到 SageMaker。空闲时间,Gaurav 喜欢探索自然、阅读和跑步。

2026-01-27 12:03:20

为语音通话添加实时通话分析的实操研讨会 商业生产力
  • 2026-01-27 12:18:01

实时通话分析工作坊关键要点新推出的 Amazon Chime SDK实时通话分析 使企业能够提升客户体验。通过 使用 Amazon Chime 通话分析工作坊 学习如何配置和使用这些功能。实时通话分析...