开源无国界,在 “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 统一游戏分析:
https://forum.mirrorship.cn/t/topic/15635
https://www.bilibili.com/video/BV1SVPheuE82/?vd_source=1cb452...
更多交流,联系我们:https://wx.focussend.com/weComLink/mobileQrCodeLink/33412/515d5
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。