ClickHouse Cloud アーキテクチャ
オブジェクトストアに基づくストレージ
- 実質的に無制限のストレージ
- データを手動で共有する必要なし
- 特にアクセス頻度の低いデータのストレージのために、大幅に低コスト
コンピュート
- 自動スケーリングとアイドル: 事前にサイズを決める必要なし、ピーク使用に対して過剰プロビジョニングする必要なし
- 自動アイドルと再開: 誰も使用していない間は未使用のコンピュートを実行する必要なし
- デフォルトでセキュアかつ HA
管理
- セットアップ、監視、バックアップ、請求は自動で行われます。
- コスト制御はデフォルトで有効になっており、Cloud コンソールを通じて調整可能です。
サービスの分離
ネットワーク分離
すべてのサービスはネットワーク層で隔離されています。
コンピュート分離
すべてのサービスはそれぞれの Kubernetes スペースの別々のポッドにデプロイされ、ネットワークレベルの分離が行われています。
ストレージ分離
すべてのサービスは共有バケット(AWS、GCP)またはストレージコンテナ(Azure)の別々のサブパスを使用します。
AWSの場合、ストレージへのアクセスは AWS IAM によって制御され、各 IAM ロールはサービスごとにユニークです。Enterprise サービスでは、CMEK を有効にして、静止データの高度な分離を提供できます。CMEK は現時点では AWS サービスのみがサポートされています。
GCP および Azure では、サービスはオブジェクトストレージの分離を持ち(すべてのサービスが独自のバケットまたはストレージコンテナを持ちます)、います。
コンピュート-コンピュート分離
コンピュート-コンピュート分離 により、ユーザーは複数のコンピュートノードグループを作成でき、それぞれが独自のサービス URL を持ち、同じ共有オブジェクトストレージを使用します。これにより、同じデータを共有する書き込みと読み取りなど、異なるユースケースのコンピュート分離が可能になります。また、必要に応じてコンピュートグループの独立したスケーリングを可能にすることで、リソースの効率的な利用が実現されます。
同時実行制限
ClickHouse Cloud サービスでの 1 秒あたりのクエリ数 (QPS) に制限はありません。ただし、各レプリカごとに 1000 の同時クエリの制限があります。QPS は最終的には平均クエリ実行時間とサービス内のレプリカ数の関数です。
ClickHouse Cloud の大きな利点は、セルフマネージドの ClickHouse インスタンスや他のデータベース/データウェアハウスに比べて、レプリカを追加することで簡単に同時実行性を増加できること(水平スケーリング)です。