博客 / 社区

纽约市聚会报告:使用 ClickHouse (Rokt) 进行实时切片和切块报告

author avatar
ClickHouse 编辑器
2022 年 12 月 6 日 - 6 分钟阅读

2022 年 12 月 6 日,Rokt 负责报告和分析的工程经理 Vadim Semenov 在纽约市聚会上介绍了他的团队使用 ClickHouse 的案例。Rokt 是一家全球营销技术公司,专门开发电子商务营销工具,以帮助公司个性化客户体验并推动收入增长。

在聚会期间,Semenov 讨论了 Rokt 收集的数据,包括浏览量、点击量、购买量和各种事件,以及他们如何使用这些数据来提供不同类型的报告,包括聚合数据集、实时报告和平台有效性衡量。Rokt 还执行异常检测,以确定他们的终端或客户端是否出现任何问题。

Rokt architecture.png

报告系统面临的挑战

Rokt 解释说,他们有不同类型的用户,包括内部业务分析师、客户服务或客户经理、通过其网站或 API 访问其数据的外部用户,以及使用其数据集的其他系统。Rokt 报告系统的架构很复杂,外部事件通过 Kafka,以及各种 Spark 流式处理和结构化流式处理应用程序,这些应用程序将数据推送到由 S3 支持的数据湖。批处理作业生成的数据被加载到 Redshift 或 Elasticsearch。

然而,Rokt 在其架构中面临着几个挑战,例如客户数据切片和切块能力有限,导致对自定义报告的需求增加。这给业务分析 (BA) 和报告团队带来了压力,要求他们提供自定义报告,而不是做他们的主要工作。

为了应对这些挑战,Rokt 需要一个新的用户界面 (UI),该界面提供更多的分组功能和筛选功能。“我们目前的 Elasticsearch 设置不支持它。因此,我们决定研究市场上其他可以支持它的数据库,”Semenov 说。“关于 Elasticsearch 的其他让我们不喜欢的地方是,它不容易摄取数据,因为你基本上必须进行推送,没有从 S3 加载,没有连接,所以标签必须存在于某个地方。如果你更改了一些标签,你必须重新摄取所有数据。”

Semenov 解释说,使用 Elasticsearch 查询数据存在几个问题。“查询很困难,因为你必须使用 JSON。你必须有一个网关,可以将你的 SQL 转换为 JSON,或者直接触发 JSON 查询。总的来说,这会导致数据重复。”

寻找更好的数据库

由于在使用 Elasticsearch 时遇到了困难,Rokt 研究了其他可以提供更好支持的数据库。Semenov 解释说,他们评估了几种替代方案,包括 Apache Pinot、Druid、Citus Data、StarRocks、Snowflake 和 ClickHouse。

“Pinot 和 Druid 更注重实时性。没有连接。我被告知 Druid 现在在某些有限的功能中支持它,显然你不能触发所有不同类型的 SQL 查询。Snowflake 更像是一个数据仓库,而且很昂贵,”Semenov 说。“StarRocks 声称是 ClickHouse 的竞争对手,但它太新了,无法在生产中使用,而 Citus Data 太以 Postgres 为导向了。微软收购了他们,他们显然不打算支持 AWS。因此,我们决定更仔细地研究 ClickHouse,我们真的很喜欢它。”

这促使他们对 ClickHouse 和 Redshift 进行了基准测试。他们使用实例 SSD 和 EBS 设置了自己的集群,发现 ClickHouse 的成本比没有缓存的 Redshift 低三倍。

“你可以看到 ClickHouse 轻松超越了 Redshift”,Semenov 说。ClickHouse 的性能在返回结果方面是一致的,一些峰值可能与网络存储有关。他们还测试了 ClickHouse 在不同并发级别下的性能,结果显示出可预测的增长和最长查询时间为 6 秒,并发现他们每秒可以触发多达 200 个查询。

“‘我们还查看了我们加载的数据的大小。在 S3 上,我们存储了不同的事件。它大约是 500 GB 的 Parquet gzip,一旦我们将其加载到 ClickHouse 中,我们看到它也只占用大约 500(GB),”Semenov 说。

他们将此与 Elasticsearch 中相同数据所需的存储空间进行了比较。“对于 Elasticsearch,我们进行了相同的计算,结果证明它大约是六倍以上,因此我们可以节省一些实际存储成本,”Semenov 说。

Semenov 还概述了他们当前的设置,其中包括他们自己的自动缩放组中的 ClickHouse 节点、ZooKeeper 以及分布在不同节点上的网络负载均衡器和目标组。

Rokt overview.png

ClickHouse Cloud 的优势

Semenov 讨论了他们很快计划迁移到 ClickHouse Cloud,因为它在备份和数据分析方面具有多项优势,并提到使用 ClickHouse Cloud 可以解决许多与复制、分片和可扩展性相关的问题。他解释说,ClickHouse 特别擅长从 Kafka 摄取数据并使用 SQL 分析实时数据。此外,ClickHouse 具有内置字典,可以更轻松地进行连接,并减少对不同数据库和服务进行 API 查询的需求。

纽约市 ClickHouse 聚会是了解领先电子商务公司数据报告中的挑战和解决方案的绝佳机会。借助 ClickHouse,Rokt 能够实现一致且可预测的结果,降低存储成本,并更有效地分析实时数据。

更多详情

分享此文章

订阅我们的新闻通讯

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