流式平台的高速内容分布式分析
在迪士尼+(Disney+)的可观测性团队中,他们使用ClickHouse来处理访问日志并为他们的内容分发系统提供分析功能。借助ClickHouse,他们能够以每秒300万行的速度写入数据,并且每秒读取20亿行CDN访问日志。 迪士尼的内容分发系统采用客户端-服务器模型,通过多个缓存层向客户端提供视频,以防止服务器过载。迪士尼+的可观测性团队负责处理支持该内容分发系统的外围系统。他们使用视频数据的访问日志来帮助识别延迟等任何问题。为了理解这些数据,团队使用ClickHouse作为他们的数据处理流水线,帮助他们处理和分析这些日志数据。 Lazimi表示,选择ClickHouse而不是其他选项(如Hadoop、Flink和Elasticsearch)是因为它的简单性和单一二进制设置。 Lazimi说:“我们曾尝试使用Elasticsearch,因为在我们发现ClickHouse之前,这是我们最初使用的堆栈。但是Elasticsearch的缺点是它需要大量的重新平衡。它使用Java虚拟机,这是一个整个虚拟化层,如果你想获得最高的速度,我想你实际上并不需要它。Hadoop和Flink也是一样。” 他们发现ClickHouse的一个重要优势是它的轻量级架构。 Lazimi说:“对于Elasticsearch来说,情况有点绝望。我们在处理所有日志时遇到了困难,因为这是大数据,是Disney+的所有用户生成的数据。这当然是一个非常大的分布式系统。因此,我们必须构建一个同样分布式和高度扩展的数据库系统。”他继续说:“自从选择了ClickHouse以后,情况一切顺利。” Lazimi详细介绍了他们当前的集群情况,包括20个节点和2倍的复制。这个设置为他们提供了160TB的存储空间和2.5TB的内存。这使得他们能够从系统中获得令人印象深刻的性能。Lazimi说:“这对于查询性能非常有帮助。我们每秒写入300万行。上次我检查时,我们每秒读取了20亿行CDN访问日志。” 然而,团队计划升级到一个更大的集群,使他们能够存储更大量的日志,提高整体的数据管理能力。 Lazimi补充道:“我们很快将升级到一个更大的集群,它将使当前的集群相形见绌。每个集群将有32个节点,每个节点拥有154TB的存储空间和112个核心。每个节点都将非常庞大。这将是你见过的最大的集群。” 客户可以通过创建自动化的管道来轻松监控系统的各个方面。在某些情况下,这可以取代Influx,并支持ELT和ETL管道。ClickHouse被设置为类似于HTTP服务器,使其灵活且易于使用。 为了使系统更加灵活,Lazimi建议使用JSON或键值对等格式的非结构化日志。这种抽象从CDN日志开始,然后扩展到其他数据源。 ClickHouse是观测团队在处理访问日志并为Disney+的内容分发系统提供分析功能时的首选选项。其灵活性和简易性使其成为内容分发分析的强大工具。 |
版权声明:本文为 clickhouse 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。