Skip to main content
On-Demand Compute はプライベートプレビュー段階です。ClickHouse Cloud の SLO や SLA の対象ではなく、既知および未知の制限が適用される場合があります。制限事項を参照してください。ウェイトリストに登録する。
On-Demand Compute は、サービスのリサイズや別サービスのプロビジョニングを行わずに、サポート対象のワークロード向けの追加キャパシティを即座にクラウドサービス (テナント) に提供する ClickHouse Cloud の機能です。この処理は、サービス自身のコンピュートの外にある ClickHouse のワーカー上で実行されます。ワーカーは同一リージョン内のテナント間で共有されるマネージドプールから供給されますが、各ワーカーが同時に割り当てられるテナントは 1 つだけです。 プライベートプレビュー期間中、On-Demand Compute は SELECT クエリのみをサポートします。クエリ/セッション/ユーザーレベルの設定を使用してクエリをオプトインすると、ClickHouse がプールからワーカーを割り当て、既存のサービスおよびエンドポイントを通じてそのクエリを実行します。 これはコンピュート・コンピュート分離とは異なります。warehouse は、データを共有する複数のサービスを通じて、専用かつ長期間存続するコンピュートを提供します。一方 On-Demand Compute は、既存のサービスを通じて共有プールから一時的なワーカーを提供します。 On-Demand Compute は、まったく新しい機能群を活用しています。
  • オンデマンドコンピュートによるステートレスなクエリ実行
  • 新しい CBO (オプティマイザ)
  • 新しい分散クエリ実行

On-Demand Compute を使用するタイミング

プライベートプレビュー期間中は、プライマリサービスのコンピュート外で実行したい、対象となるコンピュート負荷の高い SELECT クエリに On-Demand Compute を使用してください。
  • アドホッククエリおよび分析クエリ: コンピュート負荷の高い SELECT クエリを追加の worker で実行します。
  • 重要度の低い読み取りワークロード: 一部の読み取り処理をプライマリサービスからオフロードします。
  • データレイクへのクエリ: サポートされている Apache Iceberg、Delta Lake、または SharedMergeTree のデータに対して、追加の worker でクエリを実行します。
  • 一時的な追加コンピュート: プライマリサービスのサイズを変更することなく、対象となるクエリ向けに worker をリクエストします。
プライベートプレビューでサポートされるのは SELECT クエリのみです。worker は INSERT クエリ、DDL、mutation、バックグラウンド処理を実行しません。

仕組み

  1. 対象となる SELECT クエリを、指定した数の worker を要求しつつ ClickHouse Cloud サービスに送信します。エンドポイント、認証、RBAC の設定を変更する必要はありません
  2. 次に、クラスターがプールに接続し、指定された数の worker を要求します
  3. worker は最低 60 秒間リースされ、クエリがそれより長く続く場合はリースが自動的に更新されます
  4. worker はクエリを受け取り、実行します
  5. その後、レスポンスがクライアントに返されます
  6. worker は消去されます。
プライベートプレビュー期間中、各 worker は 8 vCPUs と 32 GiB のメモリを備えています。クエリが要求する worker の数は、distributed_plan_workers_num で指定します。

オンデマンドコンピュートの使用

Settings

on-demand compute の利用を開始するには、これらの設定を使用します:
プレビュー期間中は、設定をクエリレベルで指定するか、別の設定を持つユーザーを作成してください。そうすれば、どのステートメントが On-Demand Compute を使用しているかが一目で分かります。

例

クエリによっては、workerに分散できないものがあります:
クエリを確実にローカル実行へフォールバックさせるには、distributed_plan_fallback_to_local_execution 設定を使用します:
このクエリは5つのworkerをリクエストします。ClickHouseが実際に提供するworker数は、プライベートプレビューの上限と利用可能なプール容量によって決まります。

同時実行クエリ

同一の ClickHouse Cloud サービスから実行される同時実行クエリは、割り当て済みの worker を共有できます。ClickHouse が追加の worker をリクエストするのは、あるクエリがサービスに既に割り当てられている数を超える worker を要求した場合のみです。 たとえば、2 つの同時実行クエリがそれぞれ 3 つの worker を要求する場合、これらは同じ 3 つの worker を共有できます。さらに別のクエリが 5 つの worker を要求した場合、ClickHouse は割り当て済みの 3 つの worker を利用しつつ、不足する 2 つを pool からリクエストします。 以下の例を参照してください:
これらは同じ3つのworkerを共有します。 3つ目の同時実行クエリが5つのworkerを要求した場合:
そのクエリは、既存の3つのworkerと、新たにリースされた2つのworkerの上で実行されます。

プールがリクエストを満たせない場合

プライベートプレビュー期間中、worker の可用性はベストエフォートです。リクエストした数より少ない worker しか利用できない場合、クエリは ClickHouse が割り当てられるだけの worker で実行されます。たとえば、5 つの worker をリクエストしても 3 つで実行されることがあります。 worker を 1 つもリースできない場合、クエリは失敗します。 クエリを再試行してください。それでも解消しない場合は、ClickHouse のアカウントチームにお問い合わせください。プレビュー用の pool が枯渇しているか、スケール設定が適切でない可能性があります。

監視

サービスの system.query_log を使用すると、クエリにいくつの worker が割り当てられたかを確認できます。

割り当てられたworker数

オンデマンドクエリには log_comment = 'on-demand' (またはワークロード名) を設定しておくと、Settings をパースしなくてもフィルタリングできます。

利用可能なリージョン

On-Demand Compute はリージョン単位で提供され、worker はお使いの service と同じリージョンで実行されます。 お使いのリージョンが一覧にない場合は、waitlist からリクエストしてください。需要に応じて対応リージョンを追加していきます。

料金

プライベートプレビュー期間中は On-Demand Compute を無料で利用できますが、使用量に上限が設けられています (制限事項を参照) 。上限の引き上げが必要な場合は、ClickHouse のアカウントチームにお問い合わせください。 料金はプレビュー終了後に導入されます。プレビュー参加者には、この機能がベータに移行する前、および課金が開始される前に通知されます。 想定しているモデルは ClickHouse Cloud のコンピュートと同じで、スキャンしたデータ量や読み取り行数ではなく、使用したコンピュート (リースした worker の稼働時間) に対して課金されます。

制限事項

プライベートプレビュー期間中は、以下の制限が適用されます。これ以外の制限が適用される場合もあります。予期しない動作が発生した場合は、ClickHouse Support または担当のアカウントチームにご報告ください。
  • SELECT クエリのみ。 worker は INSERT クエリ、mutation、DDL、バックグラウンド処理を実行しません。
  • サポートされるフォーマット。 プライベートプレビューでは Apache Iceberg、Delta Lake、SharedMergeTree をサポートします。
  • 並列レプリカ。 並列レプリカは無効にする必要があります。
  • worker のサイズ。 各 worker は 8 vCPUs と 32 GiB のメモリを備えています。
  • worker の上限。 プライベートプレビュー期間中、1 クエリあたり最大 5 つの worker をリクエストできます。
  • プール容量。 worker の割り当てはベストエフォートです。リクエストした数より少ない worker しか割り当てられない場合があります。利用可能な worker がない場合、クエリは失敗します。
  • パフォーマンス。 パフォーマンスはクエリによって異なります。worker の割り当て、分散プランニング、plan ステージの転送によって latency が増加する可能性があります。クエリの形状によっては、プライマリ service で実行する場合よりも性能が低下することがあります (通常のサブ秒クエリは、おそらく自身のクラスターで実行したほうが高速です)
  • クエリの互換性。 distributed planner はすべてのクエリプランをリモートで実行できるわけではありません。サポートされていないクエリでは SUPPORT_IS_DISABLED 例外が返される場合があります。

ロードマップ

On-Demand Compute は基盤となる機能です。現在進行中、または次に予定している作業は以下のとおりです。
  • 既知の制限 (SUPPORT_IS_DISABLED のギャップ) の解消
  • サイズの異なる worker の pool
  • stateful 実行と同等のクエリパフォーマンスの安定化
  • background merge のサポート
  • 料金体系
  • worker pool の autoscaler のキャリブレーション
  • 組み込みのオブザーバビリティ
  • On-Demand Compute 専用の permission
  • データレイク workload の拡張 (書き込み、compaction など)

Security

worker は同一リージョン内の service 間で共有される事前ウォームアップ済みの pool から供給されますが、ここには譲れないルールが 1 つあります。1 つの worker が同時に扱う service は 1 つだけであり、ある service から別の service へ引き渡されることは決してありません。 ClickHouse への接続方法は一切変わりません。クライアントはこれまでどおり既存の authentication を使って service endpoint に接続し、ユーザーに代わって worker とやり取りするのは service だけです。worker に顧客向けの endpoint はありません。
  • worker ごとに 1 つの service: worker は lease の期間中、単一の service に貸し出されます。2 つの service が同時に共有することはありません。
  • service 間での再利用なし: lease が終了すると、その worker は破棄され、新しい worker に置き換えられます。worker が別の service に再割り当てされることはありません。
  • 永続データなし: worker は永続ストレージを持たず、lease の終了後に存続することもありません。
  • service と同一リージョン: worker は、それを lease する service と同じリージョンで実行され、厳格なデータ所在地ルールに従います。
  • 既存のアクセス制御がそのまま適用: IP アクセスリストとプライベート エンドポイントは、これまでとまったく同じように service endpoint を制御します。On-Demand Compute によって、設定や保護が必要な endpoint が新たに増えることはありません。
  • 既存の authentication と RBAC: クエリは、その service 上の他のクエリと同じ USER および privileges の下で実行されます。worker が独自の identity や permission モデルを持つことはありません。

ネットワーク分離

worker が service に lease されている間、プラットフォームはその worker と service 間のネットワークトラフィックのみを許可し、それ以外はすべて遮断します。この制限は query engine ではなくネットワーク layer で適用されるため、クエリやその設定、optimizer が生成する plan に左右されることはありません。
  • worker に到達できるのは自分の service のみです。 path は、その worker の現在の lease と、その 1 つの service に対してのみ存在します。
  • 未割り当ての worker には到達できません。 pool で待機中の worker は、lease されるまで、いずれの service との間にもネットワーク path を持ちません。
  • 異なる service に lease された worker は相互に到達できません。 同一 lease 内の worker どうしは plan stages や中間結果を exchange しますが、異なる lease の worker は同じ pool を共有していても互いに分離されたままです。
  • path は worker とともに削除されます。 lease を終了すると worker は破棄され、トラフィックの到達が許可されていた唯一の対象がなくなります。
  • リクエストの path は最小限に保たれます。 service は、worker を lease および更新するために worker assignment service へ到達します。この path はクエリデータを一切運ばず、assignment API に限定されています。

内部の authentication と authorization

ネットワーク分離は、何が worker に到達できるかを制御します。一方 authentication は、到達した caller がそこで何を行えるかを制御します。この 2 つは互いに独立して適用されるため、caller は両方の条件を満たす必要があります。 お客様の service、worker 割り当て service、および worker の間のすべての connection は authenticated されます。何も信頼せず、すべての credentials はプラットフォームが発行し、lease ごとに払い出されます。
  • worker ごとに 1 つの credential: worker がお客様の service に lease されると、プラットフォームは worker ごとに unique な signed token を発行します。各 token は、その 1 つの worker に対してのみ、かつお客様の service に対してのみ有効です。
  • 短命で lease に紐づく: token は、それを生成した lease とともに失効します。lease を更新すると新しい token が発行され、lease が終了すると、その token では何も authentication できなくなります。
  • プラットフォームに対して検証される: worker は、リクエストで渡された内容を信頼するのではなく、提示された token をプラットフォームの identity service に対して validate します。
これらの credentials は、ClickHouse Cloud がお客様の クエリ を実行する仕組みの内部で使われるものです。お客様の clients に公開されることは一切なく、ClickHouse への authentication の方法とも無関係です。clients は従来どおり既存の credentials で接続でき、クエリ の privileges も引き続きお客様の service の RBAC によって制御されます。

よくある質問

いいえ。これは ClickHouse Cloud のアーキテクチャであり、ClickHouse server (distributed plan) 、data plane (worker プールとリース) 、control plane で構成されます。experimental な make_distributed_plan 設定と CBO は ClickHouse OSS にも存在しますが、共有 worker プールと stateless な実行は Cloud 限定です。
はい。プライベートプレビュー中に使用するバージョンはカスタムビルドとなります。プレビュー期間中に追加の upgrade が必要になる場合があります。
現時点で公開できる pricing はありません。ただし、プライベートプレビュー中はこの feature を無償で利用できます。なお、pricing の考え方は ClickHouse Cloud と同様で、スキャンしたデータ量や読み取り行数ではなく、使用した compute に対して課金します。正確な料率は pricing の提供開始前に公開します。
実際の workload を実行することは可能ですが、これはプライベートプレビューです。既知および未知の制限があり、worker プールの availability に関する SLO/SLA はありません。
オートスケーリングは、プライマリ service に割り当てられた compute を変更します。プライベートプレビュー中、On-Demand Compute は、対象となる SELECT queries に対して、プライマリ service のサイズを変更することなくマネージドプールの worker への一時的なアクセスを提供します。オートスケーリングが継続的な service の容量を管理するのに対し、On-Demand Compute は特定の workloads に一時的な compute を提供します。
account team にお問い合わせください。On-Demand Compute のプロダクトマネージャーをご紹介します。
サポートチケット (severity 3) を作成するか、プロダクトマネージャーに報告してください。その際、query_id、サービス ID、および Exception の全文を含めてください。
いいえ。worker が自分の service にリースされている間、プラットフォームはその worker と自分の service との間の通信のみを許可し、他のすべての service に対しては遮断します。未割り当ての worker や、他の service にリースされている worker から自分の service へのネットワーク経路はありません。ネットワーク分離を参照してください。
いいえ。リースが終了すると、その worker は破棄され、新しい worker に置き換えられます。次の service に引き継がれることはありません。
いいえ。プライベートプレビューは ClickHouse BYOC および ClickHouse Private では利用できません。
最終更新日 2026年9月26日