- Managed ClickStack
- ClickStack Open Source
本番環境へのデプロイには、Managed ClickStack を推奨します。デフォルトで、強化された暗号化、認証と接続、マネージドなアクセス制御を含む業界標準のセキュリティ対策が適用されるほか、次の利点があります。
以下の表は、1秒あたりメガバイト単位で増加するインジェストスループットに基づくサイジング例と、それに対応する月あたりテラバイト単位のデータ量を示しています。これは、すべてのクエリタイプ (検索、ダッシュボード、アラート) を通じて、ClickStack から平均1 QPSが継続的に発生することを前提としています。
環境に合わせてサイジングの前提条件をさらに調整する方法については、“環境に合わせたサイジング前提の調整”を参照してください。
- ストレージとは独立したコンピュートの自動スケーリング
- オブジェクトストレージを基盤とした、低コストで実質的に無制限のデータ保持
- Warehouses により、読み取りワークロードと書き込みワークロードを個別に分離可能
- 統合認証
- 自動化されたバックアップ
- シームレスなアップグレード
インジェストの保護
デフォルトでは、Open Source ディストリビューション以外でデプロイされた ClickStack OpenTelemetry Collector は保護されておらず、OTLP ポートでの認証も不要です。インジェストを保護するには、OTLP_AUTH_TOKEN 環境変数を使用して collector をデプロイする際に認証トークンを指定します。詳しくは、“collector の保護”を参照してください。インジェスト用ユーザーを作成する
Managed ClickHouse へのインジェスト用に、OTel collector 専用のユーザーを作成し、インジェストの送信先を特定のデータベース (例:otel) に固定することを推奨します。詳しくは、“インジェスト用ユーザーの作成”を参照してください。有効期限 (TTL) を設定する
Managed ClickStack デプロイ向けに、Time To Live (TTL) が適切に設定されていることを確認してください。これはデータの保持期間を制御するものであり、デフォルトの 3 日間は変更が必要になることがよくあります。リソースの見積もり
以下では、想定されるインジェスト量に基づいて、ClickStackのデプロイメントに必要なコンピュートリソースとストレージリソースを見積もるためのモデルを示します。ここで算出される値はあくまで推定値であり、初期ベースラインとして利用してください。これは一律の答えではありません。実際に必要となるリソースは、クエリの複雑さ、同時実行数、保持ポリシー、インジェストスループットの変動によって異なります。リソース使用量は常に監視し、必要に応じてスケールしてください。ClickStackをデプロイする際は、インジェストとクエリという2つの独立したワークロードをまかなえるようにコンピュートをプロビジョニングしてください。| Workload | Estimated resources |
|---|---|
| Ingest | 持続的なインジェストスループット10 MB/sごとに1 vCPU |
| Query | 1 QPSごとに1 vCPU、かつ持続的なインジェストスループット10 MB/sごとに1 vCPU |
クエリとインジェストの分離ほとんどのセルフマネージド環境のデプロイメントでは、インジェストとクエリは同じノードを共有します。この場合は、Total CPUsをベースラインとして使用してください。インジェスト用とクエリ用のコンピュートを個別にプロビジョニングする分離スケーリングは、ClickHouse Cloud では separate compute pools aka Warehouses を通じてサポートされています。
前提
前提
- ストレージには10倍の圧縮率を想定しています。これは通常、ログとトレースに対しては保守的な見積もりです。
- クエリSLAは、P50が1.5秒、P99が5秒です。
- ほとんどのクエリは直近のデータに対して実行され、約1時間付近でピークを迎え、約6時間まで裾を引く対数正規分布に従うと想定しています。より古いデータをクエリするために、専用のコンピュートをプロビジョニングしたい場合もあります。ClickHouse Cloud では、使用していないときはこれをアイドル状態にできるため、コストは発生しません。
- クエリ用コンピュートはインジェスト用コンピュートとは独立してスケールできますが、本質的にはインジェスト量と結び付いています。インジェストが増えるにつれてデータ密度が高まり、その結果クエリ時のスキャン量が増加し、それに伴ってクエリ用コンピュートの必要量も増えると想定しています。
| MB/s | TB/month | Ingest CPUs | Query CPUs | Total CPUs | Total Storage (per month) (GB) |
|---|---|---|---|---|---|
| 10 | 25.92 | 1 | 3 | 4 | 2,592 |
| 20 | 51.84 | 2 | 6 | 8 | 5,184 |
| 50 | 129.6 | 5 | 15 | 20 | 12,960 |
| 100 | 259.2 | 10 | 30 | 40 | 25,920 |
| 200 | 518.4 | 20 | 60 | 80 | 51,840 |
| 500 | 1,296 | 50 | 150 | 200 | 129,600 |
| 1000 | 2,592 | 100 | 300 | 400 | 259,200 |
オブザーバビリティ ワークロードの分離
リアルタイムのアプリケーション分析など、すでに他のワークロードをサポートしている既存の ClickHouse Cloud serviceに ClickStack を追加する場合は、オブザーバビリティ トラフィックを分離することを強く推奨します。Managed Warehouses を使用して、ClickStack 専用の 子サービス を作成してください。これにより、次のことが可能になります。- 既存のアプリケーションからインジェスト負荷とクエリ負荷を分離する
- オブザーバビリティ ワークロードを個別にスケールさせる
- オブザーバビリティ クエリが本番分析に影響するのを防ぐ
- 必要に応じて、同じ基盤データセットをサービス間で共有する