导读:
开源无国界,StarRocks 自开源以来,近3年的时间里已在全球技术领域崭露头角。我们欣喜地发现,越来越多的海外用户正在使用并积极推广着 StarRocks。为了促进知识共享,StarRocks中文社区将精选优秀文章与大家共享。本篇文章摘自 Pinterest Engineering 撰写的《Delivering Faster Analytics at Pinterest》,欢迎阅读原文深入了解:https://medium.com/pinterest-engineering/delivering-faster-analytics-at-pinterest-a639cdfad374
Pinterest 与 Partner Insights 简介
Pinterest 是一个视觉发现平台,用户可以在上面找到食谱、家居和风格灵感等创意。该平台拥有超过5亿月活跃用户,为广告商提供了重要的广告机会。广告商可以利用数据来分析用户行为,以取得更优的广告表现。
Partner Insights 是 Pinterest 提供给广告商的工具,允许他们通过定制的仪表板获取实时洞察。这些洞察帮助广告商了解广告策略的效果,并进行数据驱动的调整,提高广告投资回报率。
旧架构的挑战
提供 Partner Insights 的挑战是多维的。Pinterest 服务大量广告商,每个广告商都有独特需求和指标,这些指标跨越多个需要实时聚合的维度。平台的高度可定制性允许广告商选择并定制多个指标,增加了复杂性。
随着时间推进,原使用 Druid 的架构有以下不足之处:
- 成本高 :随着规模的增长,使用 Druid 的成本不断增加,难以保持低成本的高效解决方案。
- SQL 支持有限 :Druid 对标准 SQL 类型和模式的支持有限,无法完全满足用户的需求。
- 复杂的摄取管道 :Druid 依赖外部的 MapReduce 作业等工具,数据摄取过程复杂。
- 性能瓶颈 :处理复杂多维查询时,Druid 性能不足。
解决方案
Pinterest 通过将数据分析平台从 Druid 迁移到 StarRocks,解决了高成本、SQL 支持有限、数据摄取过程复杂和性能瓶颈等痛点。StarRocks 提供标准 SQL 接口、简化的数据摄取流程和高效的查询性能,大幅提升了系统的成本效益和整体性能。
成效
迁移到 StarRocks 后, p90 延迟减少了 50%,仅需原先设置的 32% 实例。这导致了成本性能效率提高了6 倍。 数据摄取过程也得到了简化,实现了仅 10 秒的数据新鲜度。
此外,使用 StarRocks 的能够消除用于数据摄取的 JSON 配置,因为 StarRocks 支持标准 SQL 语法, 极大简化了客户入门流程,节省了大量人力。
未来规划
StarRocks 已经带来了显著的性能提升,Pinterest 仍在探索查询缓存和物化视图等功能,以进一步优化系统,应对高并发工作负载。