メッセージ圧縮
制限事項
DEFAULTはサポートされていません。- 個々のメッセージのサイズは、最小の (XS) レプリカサイズで実行する場合、デフォルトで 16MB (非圧縮) まで、より大きいレプリカでは 32MB (非圧縮) までに制限されます。この上限を超えるメッセージは、エラーとなり拒否されます。より大きなメッセージが必要な場合は、サポートにお問い合わせください。
配信セマンティクス
- High-water mark — パーティション内のすべてのレコードが ClickHouse に挿入されたことが確認されているオフセットです。再起動時、ClickPipes はこのマーク以下のレコードをすべて破棄するため、すでに到達済みのデータが再送されることはありません。
- Pending ranges — ClickHouse に送信済みだが、まだ確認されていない insert block のオフセット範囲です。障害発生後、ClickPipes はこれらの範囲のみを再生します。
topic:partition:firstOffset-lastOffset 形式の決定論的な重複排除トークンを持ちます。再生時、ClickPipes は同じオフセット範囲、したがって同じトークンを再現するため、ClickHouse は重複を拒否します。トークンはオフセット範囲のみに依存するため、再構築した block がバイト単位で同一でなくても、再生時には重複排除されます。
重複排除ウィンドウトークンによる重複排除は、ターゲットテーブルの
replicated_deduplication_window (デフォルトでは直近 10,000 個の insert block) および replicated_deduplication_window_seconds (デフォルトでは 1 時間) の範囲内でのみ行われます。高スループットのパイプでは block 数のウィンドウがすぐに消費される可能性があるため、最悪の場合の再生遅延をカバーできるよう、ターゲットテーブルでこれら両方の設定を確認し、必要に応じて増やすことを推奨します。トークンがウィンドウから外れた後に再生されたデータは再度挿入される可能性があるため、その場合は exactly-once を保証できません。認証
SASL/SCRAM-SHA-256 および SASL/SCRAM-SHA-512 もサポートしています。ストリーミングソース (Redpanda、MSK など) によっては、互換性に応じて、これらの認証メカニズムのすべて、または一部のみが利用可能です。必要な認証方式が異なる場合は、ぜひフィードバックをお寄せください。
Warpstream フェッチサイズ
max.fetch_bytes を使用します。一部の状況では、
Warpstream がこの設定に従わないことがあり、その結果、予期しないパイプ障害が発生する可能性があります。ClickPipes の障害を防ぐため、WarpStream エージェントを設定する際は、Warpstream 固有の設定 kafkaMaxFetchPartitionBytesUncompressedOverride
を 8MB (またはそれ以下) に設定することを強く推奨します。
IAM
信頼関係の設定
ロールベースのアクセスは、AWS にデプロイされた ClickHouse Cloud インスタンスでのみ機能します。
カスタム証明書
パフォーマンス
バッチ処理
- バッチサイズが上限に達した場合 (100,000行、またはポッドメモリ 1GB あたり 28MB)
- バッチの保持時間が上限に達した場合 (5秒)
レイテンシー
スケーリング
ベンチマーク
- ClickHouse 側の insert 処理がスループットのボトルネックにならないよう、十分なリソースを備えた本番用の ClickHouse Cloud サービスを使用しました。
- ClickHouse Cloud サービス、Kafka クラスター (Confluent Cloud) 、ClickPipe は、いずれも同じリージョン (
us-east-2) で稼働していました。 - ClickPipe は、L サイズの単一レプリカ (4 GiB の RAM と 1 vCPU) で構成しました。
- サンプルデータには、
UUID、String、Intのデータ型が混在するネストされたデータが含まれていました。Float、Decimal、DateTimeなどの他のデータ型では、パフォーマンスが低下する可能性があります。 - 圧縮データと非圧縮データで、顕著な性能差は見られませんでした。