ClickHouseは高速性と信頼性で知られていますが、最適なパフォーマンスを実現するには、 一定の運用パラメータ内で運用する必要があります。たとえば、テーブル、 データベース、パーツが多すぎると、パフォーマンスに悪影響を及ぼす可能性があります。これを防ぐため、ClickHouse Cloudでは複数の運用上の項目に制限を設けています。 これらのガードレールのデフォルト値を以下に示します。特に指定がない限り、 これらのガードレールはサービスレベルで適用されます。
| 次元 | 制限 |
|---|---|
| データベース | 1000 |
| テーブル | 5000 |
| ビュー | 15000 |
| 辞書 | 5000 |
| 名前付きコレクション (プライベートプレビュー) | 1000 |
| カラム | ~1000 (compactよりワイド形式を推奨) |
| パーティション | 50k |
| パーツ | 10k (max_parts_in_total設定を参照) |
| パーツサイズ | 150 GB |
| 組織あたりのサービス数 | 20 (ソフト) |
| サービスあたりのレプリカ数 | 20 (ソフト) |
| warehouseあたりのレプリカ数 | 50 (ソフト) |
| 低カーディナリティ | 10k以下 |
| テーブル内の主キー | データを十分に絞り込める4~5個 |
| クエリの同時実行数 | 1000 (レプリカあたり) |
| バッチ取り込み | 1M行を超えるものは1M行のブロックに分割されます |
warehouseのレプリカ数およびスケーリングの制限については、warehousesを参照してください。
上記の値はデフォルトのガードレールです。より大規模なサービスにはより多くのヘッドルームが設定されるため、特定のサービスに適用される制限は、ここに示した値より高い場合があります。サービスに実際に適用される制限は、その上限に近づいた際に受け取る警告に記載されています。すでに上記の使用量制限を超えているサービスでは、テーブルおよびデータベースの制限は、サービスの現在のテーブル数およびデータベース数に25%を加えた値に設定されます。
サービス固有の警告およびエラー制限は、system.server_settingsをクエリすることで確認できます。たとえば、
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', 'max_view_num_to_warn', 'max_view_num_to_throw', 'max_dictionary_num_to_warn', 'max_dictionary_num_to_throw', 'max_named_collection_num_to_warn', 'max_named_collection_num_to_throw')