インフラ・DevOps
データベーストラフィックコントロールの紹介
Database Traffic Control (planetscale.com)
要約
Postgresにはクエリトラフィックの管理において根本的なギャップがあり、予期せぬ負荷スパイク時に対応する良い方法がありませんでした。今回、PlanetScaleは、Postgresに組み込まれたトラフィック管理システム「Database Traffic Control」を導入します。これにより、データベーストラフィックに柔軟な予算を適用し、リアルタイムで各ワークロードが消費できるリソース量を制御できるようになります。
全文翻訳
Database Traffic Controlの紹介
Sam Lambert [@samlambert] | 2026年3月23日
Postgresには、クエリトラフィックの管理に関して根本的なギャップがあります。予期せぬ大量の不良クエリや暴走するワークロードがデータベースを襲った場合、Postgresには対抗する良い方法がありません。パフォーマンスが低下するか、最悪の場合はサーバーが停止するまで、すべてのクエリを受け入れてしまいます。
本日、私たちはDatabase Traffic Control™を発表します。これは、Postgresに組み込まれたトラフィック管理システムで、データベーストラフィックに柔軟な予算を適用できます。Traffic Controlを使用すると、任意のワークロードがデータベースのリソースをどれだけ消費できるかをリアルタイムで決定し、Postgresがそれらの制限を適用します。
仕組み
Traffic Controlを使用すると、クエリトラフィックのサブセットをターゲットとする予算を作成できます。以下の異なる次元に一致するルールを使用して、どのクエリが予算に含まれるかを指定します。
Query pattern: Insightsで識別された特定のクエリフィンガープリント
Application name: クエリを送信したアプリケーション
Postgres user: クエリを実行するデータベースユーザー
Custom tags: SQLコメントを介してクエリにアタッチする任意のメタデータ(機能名、優先度レベル、リージョン、顧客ティアなど)
予算に含めるクエリを決定したら、予算が利用できるリソース制限を定義します。CPU使用率、CPUバースト制限、バックエンドプロセス同時実行数、クエリごとのタイミングなどの上限を設定できます。
予算は、何がスロットリングされるかを確認するための「警告モード」で実行することも、制限を超えたクエリを積極的にブロックする「強制モード」で実行することもできます。いつでもモードを切り替えることも可能です。
PlanetScale Insightsは、データベースに対して実行されているすべてのクエリの統計を追跡します。問題が発生した場合、Insightsで問題のあるクエリを見つけ、詳細な使用状況データを確認し、数クリックでそれを制限する予算を設定できます。
ユースケース
Traffic Controlは強力で柔軟です。データベース関連のインシデントを防止し、その影響を軽減するためのさまざまなシナリオで役立ちます。
インシデント対応
暴走したクエリがCPUを急上昇させ、アプリケーション全体のパフォーマンスを低下させています。Insightsでそれを見つけ、リソース使用量を予算化し、チームが調査して修正をリリースする間、データベースを安定させます。
優先度ベースのトラフィックシェーピング
クエリを優先度(高、中、低)でタグ付けし、各ティアに予算を作成します。認証や重要なユーザーフローなどのコア機能には高い制限を設け、優先度の低いバックグラウンドジョブがそれらを枯渇させないようにします。
人間とAIエージェントのトラフィックの分離
AI搭載機能がますます多くのクエリをデータベースに送るようになるにつれて、Traffic Controlを使用すると、自動化されたトラフィックが人間のユーザーエクスペリエンスを強化するクエリを圧倒しないようにガードレールを設定できます。
マルチテナントアプリでの有料ティアの優先順位付け
マルチテナントアプリケーションを実行している場合、タグを使用して顧客またはティアごとにトラフィックを識別し、それに応じて予算を立てることができます。エンタープライズ顧客は、トライアルユーザーによって引き起こされるロードスパイクの間も保護されます。
はじめに
Traffic Controlは、本日よりすべてのPlanetScale Postgresデータベースで利用可能です。使用を開始するには:
PlanetScaleダッシュボードでデータベースに移動します
Insightsを開き、Traffic controlタブに移動します
適用したいタグと制限を選択して、最初の予算を作成します(注:データベースの再起動が必要な場合があります)
強制モードに切り替える前に、警告モードで影響を観察します
Traffic Controlを最大限に活用するには、アプリケーションのクエリにsqlcommenterタグを追加します。これにより、トラフィックを分類するための豊富なディメンションが得られます。
Traffic ControlはPlanetScale APIおよびCLIからも利用できるため、デプロイパイプラインの一部として予算作成を自動化できます。
動作を見る
実際に試して動作を確認できるデモツールを構築しました。onrampをクローンし、onramp createを実行して、スキーマ、Traffic Control予算、およびルールを自動生成するだけです。
Traffic Controlのドキュメントで詳細を学ぶか、舞台裏の深堀りを読むか、詳細な機能ウォークスルーに従ってください。
Traffic Controlは、Postgresデータベースにこれまでなかったもの、つまり自己防衛能力を与えます。今日最初の予算を設定して、データベースをダウンさせようとする次のクエリについて心配するのをやめましょう。