头图
开源无国界,在 “StarRocks 全球用户精选案例 专栏中,我们将介绍北美营销平台 Demandbase 的用户案例。Demandbase 于 2007 年创立于美国加州旧金山,专注于 AI 驱动的 ABM 平台,助力 B2B 营销人员实现业务突破。通过将 ClickHouse 替换为 StarRocks,Demandbase 解决了性能与灵活性问题。新架构基于 Apache Iceberg 和 StarRocks,显著提升了数据处理效率,硬件资源减少 60%,存储成本降低 90%,ETL 管道简化,运营负担大幅减轻。

Demandbase 是领先的基于目标客户的 GTM(Go-To-Market,市场进入)营销平台,专注于帮助 B2B 企业精准定位目标客户,并在最佳时机传递高效信息。通过整合统一的用户意图数据视图、AI 驱动的洞察分析以及操作指引,GTM 团队可以自信地协调和执行市场推广策略。如今,数千家企业依赖 Demandbase 最大化收入、减少浪费,并将数据和技术栈整合到一个平台中。为了实现这一目标,Demandbase 需要一个高性能的数据基础设施,以应对日益增长和复杂的工作负载。

原有数据基础设施的增长瓶颈

Demandbase 使用 ClickHouse 来处理分析型工作负载。然而,随着数据规模的持续增长,系统逐渐暴露出性能和灵活性方面的不足,对内部团队及客户体验产生了负面影响。

Join 操作的挑战

ClickHouse 无法大规模高效执行多表查询,迫使 Demandbase 必须对所有数据进行反范式化(denormalize)处理。这种方式带来了以下关键问题:

  • 数据锁定:数据被限制为单一视图格式,更新和模式变更变得困难,尤其是在处理 Demandbase 的海量数据时,大量回填操作更是增加了实现难度。
  • 存储浪费:反范式化导致存储消耗超过实际需求的10倍以上。
  • 计算资源开销:反范式化流程(denormalization pipelines)增加了额外的开销,需要更多的计算资源和基础设施。
  • 实时分析难以实现:反范式化流程的复杂性使实时分析几乎不可能实现。

可扩展性受限

ClickHouse 的扩展性较差,需要依赖手动配置来应对不断增长的工作负载。为了解决这一问题,Demandbase 部署了多达 49 个 ClickHouse 集群以满足多个用户的需求,但这也引发了新的挑战:

  • 部署如此多的集群导致硬件资源严重过剩,造成了大量资源浪费。
  • 管理 49 个集群的运维工作成为重大负担,大幅增加了工程团队的时间与资源投入。

寻找新的数仓解决方案

为了解决当前架构在扩展性和非规范化处理上的问题,同时提升性能扩展能力和实时数据的响应效率,Demandbase 决定寻找一个新的数仓解决方案。经过全面评估,他们明确了新架构需要满足的几个关键需求:

  • 强大的多租户支持:解决方案需要在单个数据库实例中支持数千个租户,确保数据隔离以保障隐私和安全,同时通过分区高效管理并隔离租户数据。
  • 实时数据更新:数据仓库必须支持行级更新,以确保跨多个数据集的数据时效性。
  • 可扩展性:解决方案需支持集群范围内的分布式 SQL 执行,能够处理数十个并发查询,并在高峰需求期保持性能稳定,无性能瓶颈。
  • 高性能的 JOIN 操作:针对复杂的 JOIN 查询需求,数据仓库需具备处理大规模 JOIN 操作的能力,并能够实现秒级查询延迟。

经过多方评估,StarRocks 脱颖而出,成为唯一能够满足所有需求的解决方案。StarRocks 为 Demandbase 提供了所需的扩展性、性能和灵活性,支持其大规模服务客户应用的需求。

新架构:StarRocks x Apache Iceberg

为了解决旧架构的挑战,Demandbase 构建了一套基于 Apache Iceberg 与 StarRocks 的现代化数据基础设施。

图片

新系统的工作原理如下:

  • Apache Iceberg:Demandbase  的集中数据存储和分析数据的唯一来源
  • ETL 管道:数据从服务生产系统的 OLTP 数据库通过 ETL 管道,经过清洗、转换和选择性的预计算后,导入到 Apache Iceberg 中。
  • StarRocks:数据被导入到 StarRocks,并用 StarRocks 优化的存储格式提高性能。
  • 面向客户的应用(Customer-facing applications):StarRocks 通过 MySQL 连接器直接为面向客户的应用提供服务,提供秒级查询延迟。
  • 减少反范式化需求:StarRocks 高效的 JOIN 性能使得只有特定的应用场景才需要反范式化,而不像之前的 ClickHouse 解决方案需要对所有数据进行反范式化,从而显著节省了存储和资源。

收益

通过利用 StarRocks 的实时 JOIN 功能,Demandbase 成功替换了原有的 ClickHouse 集群,优化了性能,同时在多个领域显著降低了成本:

  • 集群成本:原有的 49 个 ClickHouse 集群(每个集群包含 3 个节点)被一个更高效的 45 节点 StarRocks 集群取代,硬件资源使用降低了 60%
  • 存储成本:通过大幅减少反范式化的数据,Demandbase 将存储成本降低了 90%。
  • ETL 成本:不再需要维护复杂的反范式化 ETL 管道,数据管道大大简化,减少了相关的运营负担。

这些改进使得 Demandbase 在不牺牲查询性能或数据时效性的前提下,成功实现了更具可扩展性和成本效益的基础设施。

未来规划

得益于摆脱反范式化的限制,Demandbase 现能够专注于提升数据的新鲜度(data freshness),突破此前受制于复杂 ETL 管道的瓶颈。这为客户带来更多实时分析与洞察创造了新的机会。

展望未来,Demandbase 计划深入探索通过 StarRocks 直接查询 Apache Iceberg 数据的方案。这一改进将减少数据摄取和预处理的复杂性,进一步简化数据架构,实现数据湖与面向客户的应用程序之间更加高效、无缝的连接。

StarRocks 已在全球各个行业落地使用,后续我们将推出更多的‘全球用户精选案例’,供大家参考。

Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升

直通硅谷 | Airbnb 基于 StarRocks 构建新一代分析体验

StarRocks 在 Shopee 数据产品的实践

腾讯游戏利用 StarRocks 统一游戏分析:

https://forum.mirrorship.cn/t/topic/15635

https://www.bilibili.com/video/BV1SVPheuE82/?vd_source=1cb452...

更多交流,联系我们:https://wx.focussend.com/weComLink/mobileQrCodeLink/33412/515d5


StarRocks
4 声望16 粉丝

Linux 基金会项目 StarRocks 是新一代极速全场景 MPP 数据库,遵循 Apache 2.0 开源协议。