トランザクションにはPostgres、分析にはClickHouse
注文の作成、在庫の更新、ユーザーアカウントの管理といったトランザクション型のアプリケーションワークロード (OLTP) にはPostgresを使用します。Postgresはシステム・オブ・レコード (信頼できる記録元) であり、関連する変更をトランザクション内でまとめてコミットまたはロールバックできます。 アプリケーションで大規模なデータセットに対する分析も必要になった場合は、ClickHouseサービスを追加し、ClickPipesで両者を接続します。- アプリケーションは Postgres で運用データの読み書きを行い、関連する変更をトランザクションでまとめます。
- ClickPipes を設定して、選択したテーブルを ClickHouse にコピーし、コミット済みの挿入・更新・削除をCDC (変更データキャプチャ) で継続的にレプリケーションします。
- 分析クエリは ClickHouse で実行します。ClickHouse に直接接続することも、
pg_clickhouse拡張機能を使って Postgres から ClickHouse のテーブルをクエリすることもできます。
pg_clickhouse も Postgres と ClickHouse にまたがる共通のトランザクションは提供しません。最新のコミット済みアプリケーション状態を必要とする読み取りには、Postgres を使用してください。
まずは Postgres だけで始め、必要になった時点で ClickHouse を追加するという進め方も可能です。両方のサービスを試すには ClickHouse Managed Postgres のクイックスタートに従ってください。すでに Postgres サービス をお持ちの場合は、分析機能の追加から始めてください。
NVMe による高性能
多くのマネージド Postgres サービスでは、Amazon EBS のようなネットワーク接続型ストレージを使用しているため、ディスクアクセスのたびにネットワーク往復が発生します。これによりミリ秒単位のレイテンシが生じ、IOPS も制限されるため、書き込み負荷の高いワークロードや I/O 集約型のワークロードではボトルネックになります。 ClickHouse Managed Postgres では、データベースと同じサーバーに物理的に接続された NVMe ストレージを使用します。このアーキテクチャ上の違いにより、次の利点が得られます。- ミリ秒ではなく、マイクロ秒レベルのディスクレイテンシ
- ネットワークのボトルネックなしで、持続 IOPS 上限が 10 倍*
- 同じコストで、ディスク I/O が律速となるワークロードで最大 10 倍高速なパフォーマンス
NVMe ディスク上での Postgres の速度については、パフォーマンスベンチマークをご覧ください。
サポートされているクラウドプロバイダー
ClickHouse Managed Postgres は、以下のクラウドプロバイダーで利用できます。ネイティブな ClickHouse 連携
ClickHouse Managed Postgres は ClickHouse とネイティブに連携しており、複雑な ETL パイプラインを使わずに、トランザクション処理と分析を一体化できます。Postgres から ClickHouse へのレプリケーション
ClickPipes の Postgres CDC (変更データキャプチャ) コネクタを使用すると、Postgres のデータを ClickHouse にレプリケートできます。このコネクタは、初期ロードと継続的な増分同期の両方に対応しており、毎月数百テラバイト規模の移行を行う数百社のエンタープライズ顧客の実運用で実証されています。pg_clickhouse: 統合クエリレイヤー
すべてのClickHouse Managed Postgresインスタンスにはpg_clickhouse 拡張機能が付属しており、PostgresからClickHouseに直接クエリを実行できます。これにより、アプリケーションは複数のデータベースに接続することなく、トランザクション処理と分析の両方に対する統合クエリレイヤーとしてPostgresを利用できます。
この拡張機能は、効率的に実行できるよう、フィルター、JOIN、セミジョイン、集計、関数を含む幅広いクエリをClickHouseにプッシュダウンできます。現時点では、TPC-Hの22クエリ中14クエリが完全にプッシュダウンされており、同じクエリを標準のPostgresで実行した場合と比べて、60倍を超えるパフォーマンス向上を実現しています。
エンタープライズ向けの高い信頼性
ClickHouse Managed Postgres は、本番環境のワークロードに求められる信頼性とセキュリティ機能を備えています。高可用性
クォーラムベースのレプリケーションを使用して、異なるアベイラビリティゾーンに最大 2 つのスタンバイレプリカを構成できます。これらのスタンバイは高可用性と自動フェイルオーバー専用であり、障害発生時にもデータベースが迅速に復旧できるようにします。読み取りをスケーリングするには、別途 読み取りレプリカ をプロビジョニングできます。構成の詳細については、高可用性 ページを参照してください。バックアップとリカバリ
各インスタンスには自動バックアップが含まれており、フォークとポイントインタイム リカバリに対応しています。バックアップには、フルバックアップとオブジェクトストレージへの継続的な WAL アーカイブを処理する、広く使われているオープンソースツール WAL-G を採用しています。セキュリティとコンプライアンス
ClickHouse Managed Postgres は、ClickHouse Cloud と同等のセキュリティ基準を満たすよう設計されています。- 認証: SAML/SSO をサポート
- ネットワークセキュリティ: IP 許可リスト、保存時および転送時の暗号化 (TLS 1.3)
- アクセス制御: データベース管理のための superuser 権限へのフルアクセス
オープンソースの基盤
Postgres と ClickHouse はどちらも、大規模で活発なコミュニティに支えられたオープンソースのデータベースです。pg_clickhouse 拡張機能や、PeerDB を利用した CDC レプリケーションを含むインテグレーションの各コンポーネントも、同様にオープンソースです。この基盤により、ベンダーロックインを回避し、データスタックを全面的に管理しながら、長期的な柔軟性を確保できます。