近20年来,Vimeo 一直是数字视频领域的巨头,改变了用户上传、分享和在线观看视频内容的方式。最初,它是一个面向普通用户和视频爱好者的托管平台,如今,该公司为数百万专业创作者和企业提供服务,提供用于视频制作、分发和盈利的先进工具。
Vimeo 以其简洁的用户界面和高质量的视频流而闻名,在幕后,它运行着庞大的后端操作,其特点是来自超过十亿个视频的海量数据。据 Vimeo 首席数据工程师 Zeev Feldbeine 介绍,该基础设施每天处理 200 亿次微事件——加载、播放、暂停、跳过——提供有关用户行为和视频性能的实时分析。
两年前,Zeev 带领 Vimeo 的数据架构进行了转型,并在最近在纽约市举办的一次聚会上分享了他们采用 ClickHouse 的历程。结果令人印象深刻,查询性能、成本效率和整体系统可靠性都有了巨大提升。
扩展困难
2021 年,Vimeo 现有的基于 Apache HBase 和 Apache Phoenix 构建的 OLTP 基础设施难以跟上视频平台的快速增长。随着 PB 级别的数据和数十亿次跨越设备、位置和来源等各种维度的微事件,该系统饱受查询性能缓慢和频繁故障的困扰。
“这简直一团糟,”Zeev 说。“大型查询无法正常工作。10% 的用户超时。用户无法获取他们想要的数据或分析结果。”
遗留系统的运营成本也变得难以承受。尽管在硬件和维护方面投入了大量资金,但该公司仍然面临着阻碍其扩展能力的性能瓶颈。正如 Zeev 所解释的:“我们花了大笔钱,拥有大量的节点,但故障仍然不断发生。”
这些问题还加剧了 Vimeo 数据需求的复杂性,不同类型的视频都需要独特的分析。特别是直播视频,需要低延迟的实时数据处理,而现有的基础设施无法提供。
“我们尝试水平扩展,但没有得到我们想要的结果,”Zeev 说。“我们知道最终必须做出改变,而我们最终也做到了。”
更好的数据解决方案
Zeev 和他的团队开始寻找能够满足其数据需求的长期解决方案。他们比较了三种数据库管理系统——Apache Druid、MemSQL 和 ClickHouse——以找到性能、可扩展性和成本效率的最佳组合。
经过全面评估,考虑了查询性能、易于集成和整体系统可靠性等因素后,ClickHouse 因其处理大规模数据分析的闪电般速度和效率而成为领先者。他们决定进行概念验证 (POC) 以全面测试 ClickHouse 的功能。
POC 阶段旨在模拟 Vimeo 的真实世界数据挑战。团队首先使用其总数据量的 25% 的样本集对 ClickHouse 进行压力测试,处理海量的视频分析数据,运行复杂的查询,并确保系统能够处理 Vimeo 的高并发需求。他们测试了各种场景,包括数据摄取、峰值负载下的查询性能以及模拟故障期间的系统稳定性。
“由于我们在 HBase 上遇到了这么多故障,我们想确保 ClickHouse 能够承受我们施加的任何需求,”Zeev 说。
POC 的结果非常积极。ClickHouse 不仅满足了 Vimeo 的期望,而且在几个关键领域都超出了预期。查询性能提高了几个数量级,运行速度比以前快了 10 倍。该系统证明了其高度稳定性,即使在高负载下也能保持稳定,同时所需的服务器数量减少了四倍,存储空间减少了三到五倍。
“ClickHouse 远远超过了其他所有产品,”Zeev 说。他们确信 ClickHouse 可以改变其数据操作并处理不断增长的需求,因此他们准备全面实施 ClickHouse。
Vimeo 的新数据架构
Vimeo 的新数据架构基于 ClickHouse 的列式存储格式构建,可以实现高效的数据压缩和快速的查询执行。该架构旨在处理高并发和大规模数据,确保所有 Vimeo 用户和内部 BI 团队都能获得实时分析。
Zeev 和他的团队使用 ClickHouse 的 MergeTree 引擎优化数据存储和检索,大大提高了复杂查询的性能。他们还实施了多层存储策略,使用 SSD 存储频繁访问的数据,使用 HDD 存储归档数据,从而提高了成本效率和速度。通过与 Apache Spark 集成,他们简化了数据摄取,更容易每天处理数十亿次微事件。
目前,Vimeo 在 Google Cloud Platform 上的自管理 Kubernetes 环境中部署 ClickHouse。此架构提供了根据需求动态扩展资源的灵活性,保持高可用性和弹性。Zeev 和他的团队还使用 Velero 等开源工具实施了备份策略,而 ClickHouse 的复制功能确保了跨分布式节点的数据一致性。
全面受益
切换到 ClickHouse 改变了 Vimeo 的数据操作,并为整个业务带来了重大益处。查询性能的大幅提升,数据处理时间从几分钟缩短到几秒,这意味着 Vimeo 可以为内容创作者和企业提供实时分析和更好的用户体验。
新架构还带来了巨大的基础设施成本节约。由于所需资源大幅减少,Vimeo 降低了运营成本,同时保持了高性能。ClickHouse 的稳定性消除了困扰旧系统的频繁故障和超时,确保了对分析的持续可靠访问。
“与我们探索的其他解决方案以及之前所使用的方案相比,ClickHouse 远远胜出,”Zeev 说。“它非常非常便宜,而且质量极高。”
最后,ClickHouse 的可扩展性使 Vimeo 可以轻松规划和适应未来的增长。能够以低延迟处理多样化和复杂的数据类型,这意味着 Vimeo 的产品团队可以继续创新,而不会受到其数据基础设施的限制。这种灵活性对于满足客户不断变化的视频需求至关重要。
灯光、摄像机、ClickHouse
凭借以 ClickHouse 为核心数据运营,Vimeo 能够稳步扩展其视频平台。通过转型数据架构,他们不仅解决了关键性能问题,还开辟了创新和增长的新途径。
对于 Zeev 和他的团队来说,切换到 ClickHouse 带来了他们所需的稳定性、效率和可扩展性。“我觉得我可以成为 ClickHouse 的优秀销售员,”Zeev 笑着说。“这是我用过的最好的产品之一。”
要了解更多关于 Vimeo 之旅的信息,请参阅 Vimeo 工程博客 “ClickHouse 入驻:从我们漫长的视频分析迁移之旅中获得的见解和经验教训”。
无论您是想提高性能、降低成本还是高效扩展业务,ClickHouse 都能为您提供转型数据运营所需的工具。加入我们不断壮大的开源社区 或 免费试用 ClickHouse Cloud 30 天。