DoubleCloud即将结束服务。利用限时免费迁移服务迁移到ClickHouse。立即联系我们 ->->

博客 / 用户故事

RunReveal正在基于ClickHouse构建速度极快的安全数据平台

author avatar
Alan Braithwaite
2023年11月8日

当我第一次读到ClickHouse时,我持高度怀疑态度。在Cloudflare数据团队寻找更好的HTTP分析聚合解决方案时,我尝试过许多分布式数据库和流处理框架。

ClickHouse在2016年问世,承诺在保持(相对)易于操作的同时,实现高写入吞吐量和快速聚合。在尝试过Flink、Spark、Druid、Storm、HBase等之后,我非常怀疑除了Cloudflare内部开发的工具之外,其他任何工具都无法满足我们所需的规模。

我错了。

我对ClickHouse了解越多,就越相信它将成为OLAP应用的事实标准数据库。由于ClickHouse的作者采用“自下而上”的方法设计数据库,因此他们能够选择数据结构和算法,以充分利用现代硬件的功能。

RunReveal,我们使用ClickHouse构建速度最快的平台,供所有成熟度级别的安全团队使用,用于检测、响应和调查事件。此外,由于其速度和效率,它使团队能够探索其基础设施,而无需担心查询的成本。Evan和我已经积累了一些意外的数千美元Athena查询,我们不希望其他人再经历这种体验。

是什么让ClickHouse如此快速?

日志结构化合并树 (LSM Tree) 由Patrick O'Neil于1991年发明,是ClickHouse高速的根本存储数据结构。LSM Tree被ClickHouse之前许多著名的数据库使用,例如BigtableHBaseLevelDBApache CassandraInfluxDB。然而,这些数据库都不如ClickHouse易于学习和使用。

由于ClickHouse采用自下而上方法设计,它还集成了许多优化,充分利用了硬件,例如大量使用SIMD指令,确保数据结构对CPU缓存高效,并使用专门的算法来解决大规模数据处理的独特问题。

RunReveal1.png

区别在于封装。ClickHouse非常容易免费开始使用。下载一个二进制文件或Docker镜像即可。他们优先考虑使数据库对有关系型/SQL数据库使用经验的人员来说易于熟悉,因此与现有的NoSQL/大数据数据库相比,学习曲线大大降低。Bigtable和HBase都有SQL接口,但Bigtable是闭源的,而HBase操作起来很麻烦。

我使用ClickHouse的经验

我在Cloudflare使用ClickHouse时看到了它的强大功能。Cloudflare是ClickHouse的非常早期的采用者,几乎在它发布第一个OSS版本后就立即开始使用它。Cloudflare在裸机上运行ClickHouse,这很好,因为ClickHouse最初是为在具有直接连接SSD的宿主机上运行而设计的。直到后来,他们才开始集成对blob存储的支持。

在Segment,我们有一个理想的ClickHouse用例,用于构建Segment的协议产品的指标和分析,跟踪规则调用、验证失败和转换结果随时间的计数,帮助客户更好地了解其数据的流向。

在Segment交付ClickHouse并不容易。当时还没有现成的云产品。Segment正在迁移到Kubernetes,我想在Kubernetes上部署ClickHouse,因为PersistentVolumeClaim抽象可以让我们使用AWS当时新的i3en实例(具有临时的直接连接NVMe驱动器)轻松地将存储与本地SSD共置。如果您还没有探索过这种实例类型,它们非常具有成本效益。我强烈建议在需要快速直接连接驱动器的部署中使用它们。

RunReveal2.png

因此,在项目获得批准后,我尝试在Kubernetes上部署ClickHouse。虽然我不是第一个这样做的人,但在具有临时IP地址的节点上部署ClickHouse的人肯定不多,因为我很快就在ClickHouse中遇到了一个与其副本的内部DNS缓存相关的错误。

ClickHouse团队非常乐于助人和反应迅速。在我找到并提供问题根本原因后,他们很快排查并修复了该问题。他们已经做得很出色地管理这个项目,即使它有时感觉有点混乱。对于如此庞大而雄心勃勃的项目,他们的行动速度非常快,而且在我看来,稳定版本很少造成任何问题或回归。

ClickHouse + RunReveal = ❤️

ClickHouse的一个真正使其从竞争对手中脱颖而出的定义特征是它们的物化视图。与PostgreSQL中的物化视图类似,ClickHouse还将视图查询的结果持久化,以优化任何分析或报告应用程序可以适应的检索操作。

在RunReveal,我们存储日志数据,这是ClickHouse的完美用例。我们确实探索了ClickHouse的替代方案,但鉴于我对该数据库很熟悉,而且他们刚刚推出了ClickHouse云服务,答案就变得很明显。我们无需进行运营开销,但可以享受他们构建的所有出色功能的益处。此外,ClickHouse正在迅速成为支持AI/ML应用的绝佳基础设施,我们完全打算利用它。

如果您想了解更多关于我们在RunReveal如何使用ClickHouse的信息,我将在下周二11月14日的ClickHouse湾区聚会上发言。我很乐意回答您关于我在该活动中使用ClickHouse的任何问题,请务必注册,因为名额有限!

RunReveal是一个速度极快的安全数据平台,用于威胁检测和调查,易于使用,部署模型灵活,并为所有成熟度级别的公司提供即时价值。如果您的安全组织需要快速搜索大量日志,请联系我们([email protected]),我们将帮助您将安全数据转化为可操作的见解。

分享此帖子

订阅我们的时事通讯

随时了解功能发布、产品路线图、支持和云产品!
加载表单...
关注我们
Twitter imageSlack imageGitHub image
Telegram imageMeetup imageRss image