> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage limits

> Describes the recommended usage limits in ClickHouse Cloud

While ClickHouse is known for its speed and reliability, optimal performance is
achieved within certain operating parameters. For example, having too many tables,
databases, or parts can negatively impact performance. To prevent this, ClickHouse
Cloud enforces limits across several operational dimensions.
The default values of these guardrails are listed below. Unless specified otherwise,
these guardrails are on the service level.

<Tip>
  If you've run up against one of these guardrails, it's possible that you're
  implementing your use case in an unoptimized way. Contact [support](https://clickhouse.com/support/program) and
  we will gladly help you refine your use case to avoid exceeding the guardrails
  or look together at how we can increase them in a controlled manner.
</Tip>

| Dimension                     | Limit                                                                                                         |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Databases**                 | 1000                                                                                                          |
| **Tables**                    | 5000                                                                                                          |
| **Columns**                   | \~1000 (wide format is preferred to compact)                                                                  |
| **Partitions**                | 50k                                                                                                           |
| **Parts**                     | 10k (see [`max_parts_in_total`](/products/cloud/guides/cloud-compatibility#max_parts_in_total-10000) setting) |
| **Part size**                 | 150 GB                                                                                                        |
| **Services per organization** | 20 (soft)                                                                                                     |
| **Replicas per service**      | 20 (soft)                                                                                                     |
| **Replicas per warehouse**    | 50 (soft)                                                                                                     |
| **Low cardinality**           | 10k or less                                                                                                   |
| **Primary keys in a table**   | 4–5 that sufficiently filter down the data                                                                    |
| **Query concurrency**         | 1000 (per replica)                                                                                            |
| **Batch ingest**              | Anything > 1M rows is split into 1M-row blocks                                                                |

For warehouse replica and scaling limits, see [warehouses](/products/cloud/features/infrastructure/warehouses#scaling).

The values above are default guardrails. The limit enforced for a specific service may be higher than the value shown here, as larger services are configured with more headroom. The actual limit that applies to your service is included in the warning you receive as you approach it. For services already exceeding the above usage limits, table/database limits are set at the service's current table/database count plus 25%.

<Note>
  For Single Replica Services, the maximum number of databases is restricted to
  100, and the maximum number of tables is restricted to 500. In addition, storage
  for Basic Tier Services is limited to 1 TB.
</Note>

Your service's specific warn and throw limits can be verified by querying system.server\_settings. For example,

```
SELECT * 
FROM system.server_settings 
WHERE name IN ('max_table_num_to_warn', 'max_table_num_to_throw', 'max_database_num_to_warn', 'max_database_num_to_throw')
```
