本稿では、TDSQL-C for MySQLのデータベースプロキシサービスの特徴・適用シーンについてご紹介します。
データベースプロキシは、クラウドデータベースサービスとアプリケーションサービスの間に位置するネットワークプロキシサービスであり、アプリケーションサービスがデータベースにアクセスする際のすべてのリクエストを代理します。
データベースプロキシのアクセスアドレスは元のデータベースアクセスアドレスとは独立しており、データベースプロキシアドレスへのリクエストはすべてプロキシクラスタを介して中継され、データベースのマスター/スレーブノードにアクセスします。これにより読み書き分離が実現され、読み取りリクエストは読み取り専用インスタンスに転送されるため、マスターデータベースの負荷を軽減できます。
説明:
データベースプロキシは現在パブリックベータ段階にあり、サポートリージョンは順次開放中です。お客様のクラスタが所在するリージョンにデータベースプロキシオプションが表示されない場合、まだ開放されていないことを意味します。何卒ご了承ください。
データベースプロキシの特性
高安定性
クラスタアーキテクチャを採用したデプロイにより、複数ノードが障害時のシームレスな移行を保証します。
強固な隔離性
データベースプロキシは、専用リソースを使用して現在のインスタンスにプロキシサービスを提供します(各プロキシリソースは独立しており、リソースを共有しません)。
超高性能
各プロキシは毎秒最大約10万件のリクエストを処理できます。
拡張が簡単かつ迅速
1〜60個のプロキシノードの動的拡張をサポートします(パブリックベータ期間は6ノードのみサポートされます)。
包括的なパフォーマンス監視
読み取り/書き込みリクエスト数、CPU、メモリなどのパフォーマンス指標の秒単位の監視を提供し、監視データおよびビジネスプランに基づいてプロキシ数を調整できます。 ホットロード
マスターインスタンスの切り替え、構成変更、読み取り専用インスタンスの増減などが発生した場合、データベースプロキシは設定を動的にホットロードでき、ネットワーク中断や再起動が発生しません。
サポート 自動読み書き分離
データベースプロキシの読み書き分離機能を有効にすることで、プライマリインスタンスの読み取り負荷を効果的に軽減できます。読み取り専用インスタンスを追加することでデータベースクラスタの水平拡張能力を提供し、ユーザーが自律的に読み書き分離を実現するのを支援します。これにより、ユーザーが自ら業務の読み書きリクエストを分割する複雑さを低減し、特に大量の読み取り負荷がかかる状況に適しています。
データベースプロキシの読み書き分離機能を有効にすると、アプリケーションでは単一のプロキシ接続アドレスを設定するだけで、このアドレスが自動的に読み書き分離を実現します。読み取りリクエストは読み取り専用インスタンスに送信され、書き込みリクエストはプライマリインスタンスに送信されます。読み取り専用インスタンスを追加または削除する場合でも、アプリケーションの設定を変更する必要はありません。 適用シーン
大量のショートコネクションが中心となる業務では、性能不足が発生します。
業務で複数の読み取り専用インスタンスを使用し、アプリケーション側で手動の読み書き分離を実装する場合、メンテナンスコストとリスクが高くなります。
コネクション数が多すぎるため、インスタンスの負荷が高くなります。