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

博客 / 社区

纽约市聚会报告:Vantage 从 Redshift 和 Postgres 迁移到 ClickHouse 的历程

author avatar
ClickHouse 编辑器
2023年7月13日

2023年4月26日,Rokt 在其曼哈顿的办公室举办了一场 ClickHouse 社区聚会。我们很荣幸地听到 Vantage 的联合创始人兼 CTO Brooke McKim 分享他们从 Redshift 和 Postgres 迁移到 ClickHouse 的经验。在他们的演讲中,他们带领我们回顾了 Vantage 的历程,讨论了之前架构的挑战、转向 ClickHouse 的决定以及迁移后获得的益处。

Vantage 是一个云成本优化平台,使团队能够管理和优化其在十个云基础设施和服务提供商(例如 AWS、Azure、Google Cloud、Datadog、New Relic、Snowflake、Databricks、Fastly、MongoDB Atlas 和 Kubernetes)上的云成本。他们的 Autopilot 托管服务通过自动买卖财务承诺来优化 AWS 账单,从而节省高达 72% 的费用。

Vantage 用户界面 (UI) 提供了所有相关数据的全面视图,并具有过滤、聚合和报告等功能。一个突出的功能是能够深入到特定的维度。例如,如果您查看 Amazon S3 服务的成本,您可以点击该类别并将其进一步细分。即使对于大型账户(可能拥有跨越六到十二个月的数十亿条记录),您也可以深入到特定的资源,从而提供对规模化成本数据的深入了解。

Vantage UI.png Vantage UI 提供了云成本的详细视图,并具有独特的钻取功能,用于深入的数据分析。

Redshift 和 Postgres 的挑战

Vantage 最初使用 Postgres,起初看起来很合适。然而,McKim 解释说,随着他们开始扩展,他们很快遇到了性能问题。“我们正处于增长阶段,似乎每周或每月都会有一个客户比前一个客户大一个数量级。大量时间都花在了解决性能问题上。最终,我们遇到了 Postgres 的瓶颈,不得不寻找其他解决方案。”

Postgres 使用称为“vacuum”的过程从磁盘空间中删除已删除的记录。但是,由于 Vantage 频繁的数据删除和插入,此 vacuum 过程一直在运行,消耗了资源并降低了性能。由于持续的变化,系统难以将索引保留在内存中,导致响应时间缓慢。这导致 Vantage 寻求提供类似功能但效率更高的替代方案。

Vantage 的团队寻求了一种与 Postgres 类似的解决方案,以便快速过渡并最大程度地减少运营开销。他们决定选择 Redshift,因为它基于 Postgres 的旧版本,并且他们对它比较熟悉。然而,Redshift 也带来了自己的挑战。尽管它可以处理更大容量的数据,但它难以应对 Vantage 持续的删除和更新操作,并且需要数据始终以排序顺序插入才能获得最佳性能。该团队试图通过频繁运行 vacuum sort 操作和对表进行分区来缓解这些问题。他们还创建了一个混合架构,使用 Redshift 作为他们的数据仓库,使用 Postgres 作为缓存。但是,这导致了用户体验受限,并且需要每天在 Redshift 和 Postgres 之间移动数十亿条记录。相反,ClickHouse 的 ReplicatedMergeTree 表引擎允许高效且透明地处理行更新。

Vantage - Redshift.png

为了能够向用户展示成本数据,Vantage 每晚生成数万份报告,导致大量数据被删除并重新插入到 Postgres 中。这导致了高昂的云成本,由于提供了 IOPS 和大量的写入操作,Postgres 的成本超过了 Redshift。他们本可以进一步扩展,但达到了他们不愿超过的成本限制。这导致了具有各种数据变体的许多“汇总”表。McKim 提到,“我们将数据插入 Redshift。它是未排序的。我们必须返回并运行此作业,这最终非常昂贵,尤其是在您的表变得非常大的时候。”

发现 ClickHouse Cloud 作为替代方案

当 Vantage 开始探索替代方案时,他们在 AWS re:Invent 大会上与 ClickHouse 团队会面。他们被 ClickHouse Cloud 的易用性、低运营开销和全面的文档所吸引。

“ClickHouse 使用起来很棒。我认为当您第一次接触 ClickHouse 时,会有一定的学习曲线,但是一旦您了解了它与传统关系数据库的不同之处以及不同引擎的工作原理,实际上就很容易迁移过来,”McKim 解释道。

该团队开始了为期 60 天的过渡过程,主要涉及确保数据的质量和正确性。McKim 提到,“文档比您从 AWS 获取的任何 Redshift 文档都要全面和技术性更强,这非常有帮助,因为您可以了解系统的工作原理。”

迁移到 ClickHouse 并解决数据摄取挑战

使用 ClickHouse,Vantage 不再需要为其每晚的报告生成删除和重新插入数据。相反,他们开始使用 ReplacingMergeTree 引擎对导入进行版本控制,并添加了一个随每次数据导入递增的导入版本列。这种方法使他们能够降低运营开销并降低成本,同时仍保持高性能。McKim 说:“ClickHouse 只需获取表中现有的数据,并自动与插入的任何新数据进行合并,这很棒,因为它使我们不必删除和更新行。”

与 Redshift 相比,ClickHouse 自动对数据进行排序和合并,从而节省了时间和资源。他们还赞赏 ClickHouse 的全面文档、零停机更新以及在 S3 中存储数据(经济高效)。他们将此与他们在 Redshift 中的体验进行了对比,Redshift 的强制更新会导致停机、潜在的服务中断,并且似乎不太适合实时分析。

Vantage ClickHouse Cloud benefits.png

自从迁移到 ClickHouse Cloud 以来,Vantage 已获得了显著的成本节约和性能提升。他们在 ClickHouse 设置上将资源增加了一倍,而价格与 Redshift 设置相似。此外,他们从 ClickHouse 获得的性能与 RDS Postgres 中经过良好索引的预聚合表相当,这比他们之前的 Postgres 设置也更便宜。

展望 ClickHouse 的未来机遇

Vantage 对降低运营开销的潜力感到兴奋,并对 ClickHouse 团队的创新速度表示赞赏,因为他们不断改进和扩展其产品。他们还期待探索新的用例,并利用 ClickHouse 的功能进一步增强其平台,更好地服务于客户。

Vantage 从 Redshift 和 Postgres 迁移到 ClickHouse 的历程证明了寻找更符合公司特定需求的数据库解决方案的价值。借助 ClickHouse Cloud,Vantage 找到了更具成本效益、高性能的解决方案,这使他们能够发展和改进其平台。

更多详情

分享此文章

订阅我们的时事通讯

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