Google Cloud、AlloyDB for PostgreSQLでコネクションプーリングのマネージドサービスを提供開始、データベースがより高速に
Google Cloudは、データベースサービスとして提供している「AlloyDB for PostgreSQL」の新機能として、コネクションプーリングをマネージドサービスとして提供すると発表しました。
データベースの接続には負荷がかかる
データベースを利用する場合には、クライアントとなるアプリケーションからデータベースサーバに対して接続が行われます。
この接続時には、ネットワークハンドシェイク、トランスポート層セキュリティ(TLS)のネゴシエーション、認証、セッションの初期化、サーバリソースの割り当てなどの処理が行われるため、データベースサバーに対して一定の負荷が発生します。
そのため、大量のアプリケーションからの接続が行われる場合には、データベースサーバに大量の負荷がかかることになります。これはデータベース処理の遅延や低速化を引き起こしかねません。
コネクションプーリングとは?
そこでよく使われる手法がコネクションプーリングです。この手法はデータベースを効率的に稼働させる手法として広く知られています。
コネクションプーリングは、あらかじめデータベースサーバに接続済みのコネクションを複数用意しておきます。そしてクライアントはそのコネクションに対して接続をし、あるクライアントが使い終わると、別のクライアントがそのコネクションを再利用します。
このように接続済みのコネクションをプールしておき、それを使い回すことによって、クライアントからデータベースサーバに接続するときに、いちいち接続処理が発生することがなくなり、結果としてデータベースサーバの負荷を抑制できるのです。
マネージドサービスで運用の手間は不要
今回、Google Cloudのデータベースサービス「AlloyDB for PostgreSQL」で、コネクションプーリングをマネージドサービスで提供することが発表されました。
この機能はAlloyDB for PostgreSQLとGoogle Cloudのネットワークの両方に対して緊密なメカニズムとして組み込まれ、マネージドサービスとしてコネクションプールのセットアップ、設定、パッチ適用、および保守はクラウド上で自動的に実行されるため、ユーザーは運用の負担なく利用できます。
その上でコネクションプールとバックエンドデータベースプロセス間の通信が高度に最適化されるため、接続などにかかる遅延を最小限に抑えることができます。
こうした最適化と効率的なマシンパワーの利用により、コネクションプーリングを利用した場合と利用しない場合を比較すると、利用した場合の方が最大3倍以上のクライアント数を処理でき、最大5倍のトランザクション処理効率を実現すると説明されています。
そしてトラフィックの急増時にもデータベースサーバの過負荷を防ぐことでピーク負荷時の安定性を維持し、接続エラーを防止します。
もしも多数のクライアントからのリクエストによってコネクションプールが一時的に使い果たされた場合でも、接続リクエストを順番に並べて処理できるため、アプリケーションの回復力が向上するとのことです。
コネクションプーリングの2つのモード
AlloyDB for PostgreSQLのコネクションプーリング機能には、以下の2つのモードがあると説明されています。
トランザクションモード(デフォルト)
トランザクションごとに接続を割り当て、再利用とスケーラビリティを最大化します。大量の小さなトランザクション処理に最適です。
セッションモード
クライアントのセッション全体に対して接続を割り当て、PostgreSQLのすべての機能との完全な互換性を確保します。長時間のセッションやセッション状態の永続性を必要とするアプリケーションに適しています。
あわせて読みたい
Apple、Swift言語でWindowsアプリケーションの開発を推進する「Windows Workgroup」発足を発表
≪前の記事
米国におけるTikTokのデータの保存やコンテンツレコメンドなどは米国内のオラクルのクラウドで実行されると発表。中国ByteDanceから分離へ

