近 20 年来,Vimeo 一直是数字视频领域的巨头,改变了用户上传、分享和在线欣赏视频内容的方式。最初,它是一个面向普通用户和视频爱好者的托管平台,如今该公司服务于数百万专业创作者和企业,提供用于视频制作、分发和盈利的先进工具。
Vimeo 以其简洁的用户界面和高质量的视频流而闻名,在幕后,它运行着庞大的后端操作,其特点是来自超过 10 亿个视频的海量数据。根据 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 倍。该系统被证明非常稳定,即使在高负载下也是如此,同时所需的服务器数量减少了 4 倍,存储空间减少了 3 到 5 倍。
“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 天。