Important
Azure Cosmos DB for PostgreSQL は、新しいプロジェクトではサポートされなくなりました。 このサービスは、新しいプロジェクトには使用しないでください。 代わりに、次の 2 つのサービスのいずれかを使用します。
Azure Cosmos DB for NoSQL は、99.999% 可用性サービス レベル アグリーメント (SLA)、インスタント 自動スケール、および複数のリージョン間の自動フェールオーバーを使用する 大規模 なシナリオ向けに設計された分散データベース ソリューションに使用します。
オープンソースの Citus 拡張機能を使用して、シャード化された PostgreSQL 用の Azure Database For PostgreSQL のエラスティック クラスター機能 を使用します。
新しい接続の確立には時間がかかります。 これは、短時間の接続を多数要求するほとんどのアプリケーションの妨げになります。 アイドル状態のトランザクションを減らす一方で、既存の接続を再利用するために、接続プーラーを使用することをお勧めします。 詳細については、ブログ投稿を参照してください。
独自の接続プーラーを実行することも、Azure で管理される PgBouncer を使用することもできます。
マネージド PgBouncer
PgBouncer などの接続プーラーを使用すると、より多くのクライアントが同時にコーディネーター ノードに接続できます。 アプリケーションではプーラーに接続し、プーラーでは宛先データベースにコマンドを中継します。
クライアントで PgBouncer を介して接続する場合、データベースでアクティブに実行できる接続の数は変わりません。 代わりに、PgBouncer では余分な接続をキューに登録して、データベースの準備が整ったときに実行します。
Azure Cosmos DB for PostgreSQL では、クラスター用の PgBouncer のマネージド インスタンスが提供されるようになりました。 最大 2,000 の同時クライアント接続がサポートされます。 さらに、クラスターで高可用性 (HA) が有効になっている場合は、そのマネージド PgBouncer でも有効になります。
PgBouncer 経由で接続するには、次の手順に従います。
- Azure portal でクラスターの [接続文字列] ページに移動します。
- [PgBouncer connection strings] (PgBouncer の接続文字列) の横にあるチェックボックスをオンにします。 一覧表示される接続文字列が変わります。
- 新しい文字列を使用して接続するようにクライアント アプリケーションを更新します。
Azure Cosmos DB for PostgreSQL を使用すると、マネージド PgBouncer パラメーターをコーディネーター ノード パラメーターとして構成できます。
次のステップ
Azure Cosmos DB for PostgreSQL の制限と制約に関する詳細を確認する。