博客 / 产品

ClickHouse Cloud 中的水平扩展

author avatar
Aashish Kohli
Jun 18, 2024 - 6 分钟阅读

简介

自 ClickHouse Cloud 早期以来,我们的使命一直是让用户能够大规模开发分析应用程序,而无需担心基础设施规划、容量调整和管理复杂扩展操作的运营开销。因此,该服务从一开始就支持垂直自动扩展,因此用户无需过度配置或监控其使用情况。根据内存和 CPU 使用率,该服务会在用户指定的范围内扩展以适应工作负载。

现在,我们很高兴将 水平扩展 引入 ClickHouse Cloud 的私有预览版。此功能适用于 ClickHouse Cloud 中的生产实例。水平扩展将允许客户控制其服务中的副本数量,以满足其工作负载需求。

作为私有预览版的一部分,此功能通过 ClickHouse Cloud API 提供。我们很快也将通过云控制台启用水平扩展。要访问您服务的水平扩展,请通过 [email protected] 联系 ClickHouse 支持团队。

为什么选择水平扩展

在我们深入了解 ClickHouse Cloud 中的水平扩展细节之前,让我们先看看水平扩展和垂直扩展有何不同。

垂直扩展通常涉及增加可用资源——向集群中的单台或一组机器添加更多内存或 CPU。更大的机器可以处理更大的负载,特别是那些您可能希望所有资源都适合单台机器内存的负载——例如支持跨表的大型连接。但是,垂直扩展存在物理限制——机器的容量有上限。

另一方面,水平扩展涉及添加更多机器。通常,这些机器大小相同,以便扩展同构机器(或副本)的集群。然后,工作负载分布在大量较小的机器之间(而不是垂直扩展情况下的一些大型机器)。

水平扩展提供了更好的容错能力,因为负载分布在更大的副本集中。水平扩展服务通常比垂直扩展(通过增加现有副本的大小)更快,因为它通过添加较小的机器来实现。由于水平扩展的工作机制,它也可能比垂直扩展更少中断,因为添加的是新副本(而不是调整现有副本的大小或替换现有副本)。

水平扩展和垂直扩展适用于不同类型的工作负载。需要单台机器大量资源的工作负载受益于垂直扩展。对于高并发工作负载,水平扩展可能是一个很好的替代方案。例如,您可能需要将大量数据摄取到 ClickHouse 中。添加额外的副本将使摄取过程更快。在请求速率增加且您需要快速向集群添加容量而不影响现有容量的情况下,水平扩展也比垂直扩展效果更好。

水平扩展实践

在服务上启用水平扩展后,您可以使用 ClickHouse Cloud 公共 API,通过更新服务的扩展设置来扩展您的服务。

让我们看看水平扩展是如何工作的。

  1. 首先,检查分配给集群的内存以及副本数量。您可以通过查看云控制台仪表板以及服务设置中的副本数量来完成此操作。这里我们有一个 3 副本集群,每个副本分配了 16 GiB 内存,集群总共分配了 48 GiB 内存。

    unnamed (3).png

    unnamed (4).png ClickHouse Cloud 控制台中的服务扩展设置


  2. 假设我们现在想将集群水平扩展到 6 个副本,每个副本 16 GiB。这意味着一旦扩展完成,我们应该最终在六个副本中获得总共 96 GiB 的内存。

注意:API 当前假定最小和最大总内存基于 3 个副本,这是默认生产 ClickHouse 集群中的副本数量。这意味着 minTotalMemoryGb maxTotalMemoryGb 的值分别为 24 和 96,这表示每个节点的最小内存为 8GiB,最大内存为 32GiB,正如 UI 所反映的那样。如果我们想从 3 个副本水平扩展到 6 个副本,我们只需要更改 API 中的 numReplicas 或 UI 中的 节点数,而无需更改最小和最大内存大小。因此,对于 16GiB 副本大小,我们的总内存将达到 6 个副本中的 96GiB

为此,我们发出一个补丁请求,以调整集群中的副本数量,如下所示(来自 Postman 客户端的屏幕截图)。

unnamed (5).png 更新 numReplicas 的 PATCH 请求

unnamed (6).png 来自 PATCH 请求的响应

  1. 发出 PATCH 请求后,您会看到扩展设置屏幕现在显示“6”作为集群中副本数量的设置。重要的是要注意,这并非集群中当前的副本数量,而是期望的副本数量。

    unnamed (7).png


  2. 回顾此集群的监控屏幕,我们现在可以看到集群确实已扩展到总共 96 GiB 内存。

    unnamed (8).png


展望未来

如前所述,我们很快将直接通过云控制台提供水平扩展。在私有预览期间,我们将根据客户反馈改进水平扩展 ClickHouse Cloud 服务的 UI 和 API 体验,然后再使该功能普遍可用 (GA)。

使水平扩展自助服务和 GA 只是第一步。在不久的将来,我们还将启用水平自动扩展,ClickHouse Cloud 用户可以在其服务上设置最小和最大副本计数,作为其服务应在其中自动扩展的边界。根据集群上的负载,我们将根据需要自动水平扩展集群,以紧密匹配实际利用率。我们的最终目标是提供水平和垂直自动扩展的组合,以根据工作负载实现服务的最佳性能。

立即开始使用 ClickHouse Cloud,并获得 300 美元信用额度。在 30 天试用期结束时,继续使用按需付费计划,或联系我们以了解有关我们基于量的折扣的更多信息。访问我们的定价页面了解详情。

分享这篇文章

订阅我们的新闻通讯

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