Skip to content

Commit 7f06ca7

Browse files
authored
Merge pull request #4162 from ClickHouse/ks/kafka-clickpipe-benchmarks
ClickPipes Benchmarks, Vertical Scaling FAQs, and additional pricing information
2 parents 6eff84b + be35ec8 commit 7f06ca7

File tree

5 files changed

+50
-16
lines changed

5 files changed

+50
-16
lines changed

docs/cloud/manage/billing.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -458,12 +458,12 @@ This section outlines the pricing model of ClickPipes for streaming and object s
458458

459459
#### What does the ClickPipes pricing structure look like? {#what-does-the-clickpipes-pricing-structure-look-like}
460460

461-
It consists of two dimensions
461+
It consists of two dimensions:
462462

463-
- **Compute**: Price per unit per hour
463+
- **Compute**: Price **per unit per hour**.
464464
Compute represents the cost of running the ClickPipes replica pods whether they actively ingest data or not.
465465
It applies to all ClickPipes types.
466-
- **Ingested data**: per GB pricing
466+
- **Ingested data**: Price **per GB**.
467467
The ingested data rate applies to all streaming ClickPipes
468468
(Kafka, Confluent, Amazon MSK, Amazon Kinesis, Redpanda, WarpStream, Azure Event Hubs)
469469
for the data transferred via the replica pods. The ingested data size (GB) is charged based on bytes received from the source (uncompressed or compressed).
@@ -476,17 +476,27 @@ For this reason, it uses dedicated compute replicas.
476476

477477
#### What is the default number of replicas and their size? {#what-is-the-default-number-of-replicas-and-their-size}
478478

479-
Each ClickPipe defaults to 1 replica that is provided with 2 GiB of RAM and 0.5 vCPU.
480-
This corresponds to **0.25** ClickHouse compute units (1 unit = 8 GiB RAM, 2 vCPUs).
479+
Each ClickPipe defaults to 1 replica that is provided with 512 MiB of RAM and 0.125 vCPU (XS).
480+
This corresponds to **0.0625** ClickHouse compute units (1 unit = 8 GiB RAM, 2 vCPUs).
481481

482482
#### What are the ClickPipes public prices? {#what-are-the-clickpipes-public-prices}
483483

484-
- Compute: \$0.20 per unit per hour (\$0.05 per replica per hour)
484+
- Compute: \$0.20 per unit per hour (\$0.0125 per replica per hour for the default replica size)
485485
- Ingested data: \$0.04 per GB
486486

487+
The price for the Compute dimension depends on the **number** and **size** of replica(s) in a ClickPipe. The default replica size can be adjusted using vertical scaling, and each replica size is priced as follows:
488+
489+
| Replica Size | Compute Units | RAM | vCPU | Price per Hour |
490+
|----------------------------|---------------|---------|--------|----------------|
491+
| Extra Small (XS) (default) | 0.0625 | 512 MiB | 0.125. | $0.0125 |
492+
| Small (S) | 0.125 | 1 GiB | 0.25 | $0.025 |
493+
| Medium (M) | 0.25 | 2 GiB | 0.5 | $0.05 |
494+
| Large (L) | 0.5 | 4 GiB | 1.0 | $0.10 |
495+
| Extra Large (XL) | 1.0 | 8 GiB | 2.0 | $0.20 |
496+
487497
#### How does it look in an illustrative example? {#how-does-it-look-in-an-illustrative-example}
488498

489-
The following examples assume a single replica unless explicitly mentioned.
499+
The following examples assume a single M-sized replica, unless explicitly mentioned.
490500

491501
<table><thead>
492502
<tr>

docs/cloud/manage/jan2025_faq/_snippets/_clickpipes_faq.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ This corresponds to **0.25** ClickHouse compute units (1 unit = 8 GiB RAM, 2 vCP
5252

5353
<summary>Can ClickPipes replicas be scaled?</summary>
5454

55-
ClickPipes for streaming can be scaled horizontally
56-
by adding more replicas each with a base unit of **0.25** ClickHouse compute units.
57-
Vertical scaling is also available on demand for specific use cases (adding more CPU and RAM per replica).
55+
Yes, ClickPipes for streaming can be scaled both horizontally and vertically.
56+
Horizontal scaling adds more replicas to increase throughput, while vertical scaling increases the resources (CPU and RAM) allocated to each replica to handle more intensive workloads.
57+
This can be configured during ClickPipe creation, or at any other point under **Settings** -> **Advanced Settings** -> **Scaling**.
5858

5959
</details>
6060

@@ -142,4 +142,4 @@ The philosophy behind ClickPipes pricing is
142142
to cover the operating costs of the platform while offering an easy and reliable way to move data to ClickHouse Cloud.
143143
From that angle, our market analysis revealed that we are positioned competitively.
144144

145-
</details>
145+
</details>

docs/integrations/data-ingestion/clickpipes/kafka/04_best_practices.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,28 @@ ClickPipes does not provide any guarantees concerning latency. If you have speci
121121

122122
### Scaling {#scaling}
123123

124-
ClickPipes for Kafka is designed to scale horizontally. By default, we create a consumer group with one consumer.
125-
This can be changed with the scaling controls in the ClickPipe details view.
124+
ClickPipes for Kafka is designed to scale horizontally and vertically. By default, we create a consumer group with one consumer. This can be configured during ClickPipe creation, or at any other point under **Settings** -> **Advanced Settings** -> **Scaling**.
126125

127126
ClickPipes provides a high-availability with an availability zone distributed architecture.
128127
This requires scaling to at least two consumers.
129128

130129
Regardless number of running consumers, fault tolerance is available by design.
131130
If a consumer or its underlying infrastructure fails,
132131
the ClickPipe will automatically restart the consumer and continue processing messages.
132+
133+
### Benchmarks {#benchmarks}
134+
135+
Below are some informal benchmarks for ClickPipes for Kafka that can be used to get a general idea of the baseline performance. It's important to know that many factors can impact performance, including message size, data types, and data format. Your mileage may vary, and what we show here is not a guarantee of actual performance.
136+
137+
Benchmark details:
138+
139+
- We used production ClickHouse Cloud services with enough resources to ensure that throughput was not bottlenecked by the insert processing on the ClickHouse side.
140+
- The ClickHouse Cloud service, the Kafka cluster (Confluent Cloud), and the ClickPipe were all running in the same region (`us-east-2`).
141+
- The ClickPipe was configured with a single L-sized replica (4 GiB of RAM and 1 vCPU).
142+
- The sample data included nested data with a mix of `UUID`, `String`, and `Int` datatypes. Other datatypes, such as `Float`, `Decimal`, and `DateTime`, may be less performant.
143+
- There was no appreciable difference in performance using compressed and uncompressed data.
144+
145+
| Replica Size | Message Size | Data Format | Throughput |
146+
|---------------|--------------|-------------|------------|
147+
| Large (L) | 1.6kb | JSON | 63mb/s |
148+
| Large (L) | 1.6kb | Avro | 99mb/s |

docs/integrations/data-ingestion/clickpipes/kafka/05_faq.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,15 @@ No, the ClickPipes for Kafka is designed for reading data from Kafka topics, not
5454
Yes, if the brokers are part of the same quorum they can be configured together delimited with `,`.
5555
</details>
5656

57+
<details>
58+
59+
<summary>Can ClickPipes replicas be scaled?</summary>
60+
61+
Yes, ClickPipes for streaming can be scaled both horizontally and vertically.
62+
Horizontal scaling adds more replicas to increase throughput, while vertical scaling increases the resources (CPU and RAM) allocated to each replica to handle more intensive workloads.
63+
This can be configured during ClickPipe creation, or at any other point under **Settings** -> **Advanced Settings** -> **Scaling**.
64+
</details>
65+
5766
### Upstash {#upstash}
5867

5968
<details>

docs/integrations/data-ingestion/clickpipes/kinesis.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,9 @@ If you have specific low-latency requirements, please [contact us](https://click
159159

160160
### Scaling {#scaling}
161161

162-
ClickPipes for Kinesis is designed to scale horizontally. By default, we create a consumer group with one consumer.
163-
This can be changed with the scaling controls in the ClickPipe details view.
162+
ClickPipes for Kinesis is designed to scale both horizontally and vertically. By default, we create a consumer group with one consumer. This can be configured during ClickPipe creation, or at any other point under **Settings** -> **Advanced Settings** -> **Scaling**.
164163

165-
ClickPipes provides a high-availability with an availability zone distributed architecture.
164+
ClickPipes provides high-availability with an availability zone distributed architecture.
166165
This requires scaling to at least two consumers.
167166

168167
Regardless number of running consumers, fault tolerance is available by design.

0 commit comments

Comments
 (0)