博客 / 社区

伦敦Meetup报告:Cloudflare如何使用ClickHouse每秒处理数亿行数据

author avatar
Elissa Weve
2023年9月19日 - 5 分钟阅读

2023年9月19日,我们很荣幸再次在Cloudflare位于伦敦市中心的漂亮办公室举办了ClickHouse社区聚会。我们听取了Cloudflare系统工程师James Morrison的分享,他详细介绍了他们使用ClickHouse的悠久历史、管理字典的复杂性,以及在此过程中遇到的各种挑战和解决方案。

Cloudflare是最早采用ClickHouse的公司之一。正如James所说,“ClickHouse在2016年开源,我们在当年年底就投入了生产环境。” Cloudflare不仅从早期就信任并采用了ClickHouse,而且还为它的发展做出了贡献。

Cloudflare将ClickHouse用于多种使用案例,包括:

  • HTTP和DNS分析: 对于监控和理解Cloudflare每天处理的海量网络流量至关重要。

  • 日志分析、流量和机器人管理: 在开始机器人分析和分类之前,Cloudflare依靠ClickHouse进行高效的日志收集。通过利用其实时分析能力,Cloudflare可以有效地管理和过滤网络流量,区分合法用户和机器人流量。

  • Cloudflare Worker运行时分析: Cloudflare Workers使开发人员能够在更靠近最终用户的位置运行无服务器应用程序。ClickHouse提供关键的运行时分析,以确保最佳性能。

  • 内部分析工作负载: ClickHouse在支持Cloudflare的内部数据分析方面发挥着重要作用。

  • 客户仪表板: ClickHouse确保Cloudflare的客户仪表板提供实时的、全面的数据视图,反映了其庞大的存储和快速的数据检索能力。

  • 防火墙分析和Cloudflare雷达: 像防火墙分析和Cloudflare雷达这样的重要工具依赖于ClickHouse来存储大量数据并根据需要及时检索。

运营规模

James分享了Cloudflare的ClickHouse部署的庞大规模,“今年我们实际上超过了一千个活跃副本。这相当于每秒处理数亿条插入的行”。他提到他们如何利用ClickHouse强大的抽样功能来处理从HTTP请求到DNS查找的各种数据集。


“ClickHouse在2016年开源,我们在当年年底就投入了生产环境,所以我们是长期用户。从那时起,我们的规模呈指数级增长。今年我们实际上超过了一千个活跃副本。这相当于每秒处理数亿条插入的行,由于我们使用了大量的抽样,这实际上对应着数量更大的事件。”


解读ClickHouse字典

ClickHouse中的字典 实现了高效的键值查找,加速了原本需要昂贵的JOIN操作的查询。它们在Cloudflare产品所依赖的实时分析场景中至关重要。“字典允许我们在查询中执行键值查找,通常将数据存储在内存中,这使我们能够更有效地执行连接类型的查询,”James说。

Cloudflare1.png

多年来,字典的使用量已大幅增长,已在各处部署了184个字典。

内存消耗的挑战

James讨论了他们面临的问题,特别是关于内存消耗的问题。他们最大的字典超过了20GiB内存,所有字典的总开销超过了15 TiB。

Cloudflare2.png

然后,他强调了他们从'hashed'布局'hashed array'布局的转变,这使得内存占用显著减少了4倍以上。

Cloudflare3.png

另一个重要的担忧是他们的字典对外部系统的各种依赖关系。这使得支持字典变得具有挑战性,因为对下游系统的可见性有限。此外,这些系统将受到来自ClickHouse的请求的影响,从而给这些服务带来通常不受欢迎的额外负载。

Cloudflare的解决方案“ClickHouse Dictionary Dumper”帮助解决了这些问题。它有效地将数据生产与消费分离,使他们能够无缝地处理潜在的上游故障。James解释说:“我们在Cronjobs和Kubernetes中生成数据……在每个ClickHouse副本上,我们都有一个定时器,它只是从对象存储中拉取字典包并将其解压到磁盘上。”

持续演进

在讨论潜在的改进时,James暗示了进一步优化内存使用的可能性,可能是通过内存压缩。他还讨论了字典的动态特性,表明一些静态字典未来可能会变成动态的,特别是随着“clickhouse-dictionary-dumper”的引入。

更多详情

延伸阅读

分享此文章

订阅我们的新闻邮件

随时了解功能发布、产品路线图、支持和云产品!
正在加载表单...
关注我们
X imageSlack imageGitHub image
Telegram imageMeetup imageRss image
©2025© ClickHouse, Inc. 总部位于加利福尼亚州湾区和荷兰阿姆斯特丹。