PgDog icon

PgDog

PgDogは、接続プーリング、負荷分散、シャーディングを1つで提供するオープンソースのPostgreSQLプロキシ。既存アプリの変更なしで水平スケールを実現します。

PgDog

概要

PgDogは、水平スケーリングのためのオープンソース PostgreSQL プロキシです。接続プーリング、負荷分散、シャーディングを1つの実行ファイルに統合しており、Helm や Docker でデプロイでき、既存の PostgreSQL アプリケーションの前段に配置できます。

この製品は、PostgreSQL の挙動を維持しながらスケールアウトするよう設計されています。ホームページでは、トランザクションプーリング、読み取り/書き込みルーティング、シャード対応クエリ実行、クロスシャードトランザクション、レプリケートテーブル、そして一般的な Postgres クライアントライブラリやマイグレーションワークフローのサポートが強調されています。

主な機能

実トランザクションモードの接続プーリング

PgDogは、PostgreSQLの前段にトランザクション対応プーラーとして配置できます。ホームページでは、セッション状態、advisory lock、LISTEN/NOTIFY、prepared statementを維持しながら、100,000人以上のクライアントで少数のPostgres接続を共有できると説明されています。

読み取り/書き込みの負荷分散

レプリカの健全性、レプリケーション遅延、フェイルオーバー検知を使って、1つのエンドポイントから読み取りと書き込みを振り分けられます。負荷分散の説明では、PostgreSQL の内部SQLパーサーを互換性のために使い、SELECTクエリはレプリカへ、それ以外のクエリはプライマリへ送るとされています。

クエリベースのシャーディングと scatter/gather 実行

PgDogはクエリからシャーディングキーを抽出し、適切なシャードへ送信できます。キーのないクエリはすべてのデータベースに並列実行でき、ホームページではこれを scatter/gather アプローチとして説明しています。

クロスシャードトランザクションとスキーマ調整

この製品は、PostgreSQL の prepared transaction と two-phase commit を使って、エラー時に自動ロールバックするクロスシャード書き込みをサポートします。ホームページでは、DDL もシャード間で伝播されるため、一般的なマイグレーションツールを引き続き使用できるとされています。

リレーショナルシャーディング機能

PgDogは、レプリケートテーブルやシャード内結合をサポートし、整数主キーを単調増加に保ちながらプロキシ側で生成できます。また、通常の UPDATE ステートメントによるシャーディングキーの更新にも対応しています。

一般的なユースケース

  • PostgreSQL への接続負荷を軽減する

    単一のデータベースで快適に処理できる数を超える PostgreSQL クライアントが必要な場合に PgDog を使います。トランザクションプーリングモードは、一般的なセッション機能を維持しながら高い接続数に対応するよう位置付けられています。

  • プライマリとレプリカ間でトラフィックを振り分ける

    1つの安定したエンドポイントを通じて、読み取りをレプリカへ送り、書き込みをプライマリに保持するために使います。アプリケーション設定を変更せずに、遅延チェックやフェイルオーバー処理を行いたいチーム向けです。

  • マルチテナントまたはキー आधारित データセットをシャーディングする

    テナント対応またはキー आधारित のデータを、アプリケーションを作り直さずにシャードへ分割する必要がある場合に PgDog を使います。プロキシは SQL からシャーディングキーを読み取り、各クエリを適切なデータベースへ振り分けられます。

  • 水平スケールしながらリレーショナルな挙動を維持する

    PostgreSQL の意味論を維持しながら、クロスシャード書き込み、レプリケートテーブル、またはシャード内結合が必要なワークロードに使用します。ホームページでは、ACID 挙動、two-phase commit、そして UPDATE ベースのキー移動など通常の SQL パターンが強調されています。

  • フリート規模で PgDog を運用する

    チームが中央集約型のフリート管理、ライブクエリメトリクス、または実践的なエンジニアリング支援を必要とする場合は、エンタープライズ提供を利用します。ロードマップとブログでは、より大規模なデプロイと本番運用向けのこれらの機能が説明されています。

Pros and Cons

Pros

  • プーリング、負荷分散、シャーディングを別々のツールではなく、1つの PostgreSQL プロキシに統合しています。
  • ホームページとブログによると、アプリケーション変更不要のドロップイン型プロキシとして動作するよう設計されています。
  • トランザクションプーリングモードで、SET コマンド、advisory lock、LISTEN/NOTIFY、prepared statement などの PostgreSQL セッション機能をサポートします。
  • 読み取りをレプリカへ振り分け、遅延やフェイルオーバーを検知し、設定変更なしでトラフィックを移動できます。
  • クロスシャードトランザクション、レプリケートテーブル、シャード間の DDL 伝播などのリレーショナルシャーディング機能を備えています。

Cons

  • 収集されたソースには、一般的なクライアントライブラリやデプロイ方法への言及を超える、対応インテグレーション、ドライバー、インフラに関する完全なドキュメントセットはありません。
  • コントロールプレーンやクエリインサイトなどのエンタープライズ機能は開発中として説明されているため、ソース資料ではまだ一般提供されていません。
  • 収集された料金ページのテキストには価格情報が表示されていないため、公開されているコスト構造はこれらのソースからは不明です。

FAQ

PgDogはアプリケーションの変更を必要としますか?

PgDogは、既存のアプリケーションの前段に PostgreSQL プロキシとして配置するよう設計されています。ホームページとブログでは、アプリの変更なしで導入できるドロップイン型プロキシとして説明されており、資金調達の発表ではクラウドアカウント、オンプレミス、コロケーションラック、またはノートパソコン上に展開できるとされています。

PgDogは何をしますか?

ソースでは、PgDog は3つの役割を担っています。接続プーラー、ロードバランサー、そして分散データベース/シャーディングプロキシです。ホームページと料金ページでは、接続プーリング、読み取り/書き込みルーティング、シャーディングロジックを処理する1つの実行ファイルとして位置付けられています。

PgDogは無料ですか、それとも有料ですか?

収集されたテキストでは、料金ページにプラン名や価格は表示されていません。オープンソースプロジェクトのインストール手順は示されており、エンタープライズページではコントロールプレーン、クエリインサイト、専用サポートなどの別個のエンタープライズ機能が説明されています。

PgDog Enterpriseには何が含まれますか?

エンタープライズのロードマップでは、中央集約型設定、フリート管理、ロールベースアクセス、クエリ統計、自動クエリプラン分析、問題のあるクエリのブロック機能を開発中としています。また、専用サポートは現在利用可能と記載されています。

PgDogはどのようにデプロイされますか?

ホームページには Helm と Docker のインストール例があり、資金調達の発表では PgDog はオンプレミスやクラウドアカウントを含むあらゆる場所に展開できるとされています。収集されたソースでは、対応データベース、ドライバー、クラウド統合の完全な一覧は提供されていません。

Quick Facts

カテゴリ
開発者ツール
製品タイプ
オープンソース PostgreSQL プロキシ
主な機能
接続プーラー、ロードバランサー、シャーディングプロキシ
デプロイ
Helm、Docker、クラウド、オンプレミス、ローカル環境
ウェブサイト
pgdog.dev
エンタープライズの状況
コントロールプレーンとクエリインサイトは開発中。専用サポートは現在利用可能

PgDogの代替品

MakerLoft icon

MakerLoft

MakerLoftは、GitHubリポジトリから静的サイトやフルスタックアプリを作れるチャット起点のAIアプリビルダーです。GitHub Pagesの無料公開と、サインイン・決済・管理画面に対応したDigitalOcean連携の構成を選べます。

ByteAsk icon

ByteAsk

ByteAskは、C/C++向けのターミナル起点AIコーディングエージェント。リポジトリを編集し、コンパイラやデバッガ、サニタイザ、テストで変更を検証してから差分を表示。無料枠あり。

hob icon

hob

hobは、エージェントのセッション、ターミナル、履歴、後続作業を、既存のツールやプロバイダーに合わせて整理できる独立したコーディングエージェント向けワークスペース。ローカルでの制御を重視する開発者に最適。

Ably Chat icon

Ably Chat

Ably Chatは、カスタムのリアルタイムチャットアプリを構築できるチャットAPIプラットフォームです。ルーム単位のメッセージ、入力中表示、プレゼンス、リアクション、メッセージ更新に対応し、利用量ベースの料金も選べます。

ClawTick icon

ClawTick

ClawTickは、CLI、ダッシュボード、REST APIからジョブをスケジュールできるAIエージェント自動化プラットフォームです。LangChain、CrewAI、webhook、カスタムワークフローの監視、アラート、ログ管理に対応。

Falconer icon

Falconer

Falconerは、GitHub、Slack、Linearなどと同期し、社内ドキュメントを正確に保ち、検索しやすく最新化するAI搭載の会社の頭脳。エンジニアや横断チームのナレッジを集約し、共通の情報源から質問に答えます。