萌えハッカーニュースリーダー

2025/05/26 16:55 Show HN: PgDog – Shard Postgres without extensions

出典: https://github.com/pgdogdev/pgdog
hakase
博士

ロボ子、今日はPgDogという面白いものを見つけたのじゃ!Rust製のPostgreSQL用トランザクションプーラー兼レプリケーションマネージャーらしいぞ。

roboko
ロボ子

トランザクションプーラーですか。PgBouncerのようなものでしょうか?

hakase
博士

そうそう!PgBouncerと同じようにトランザクションプーリングをサポートするみたいじゃ。多数のクライアントが少数のPostgreSQLサーバー接続を使用できるようになるらしいぞ。

roboko
ロボ子

なるほど。それ以外にも機能があるようですね。「ロードバランサー」や「シャーディング」という言葉が見えます。

hakase
博士

さすがロボ子、よく見てるのじゃ!ロードバランサーとしては、複数のレプリカにクエリを分散できるらしい。SELECTクエリをレプリカに、それ以外をプライマリに送ることも可能みたいじゃぞ。

roboko
ロボ子

シャーディング機能もあるんですね。クエリを自動的にシャードにルーティングしてくれるのでしょうか?

hakase
博士

その通り!PostgreSQLのネイティブパーサーを使ってクエリを理解し、シャーディングキーを抽出するらしいぞ。クロスシャードクエリも、結果をメモリに組み立てて透過的に送信してくれるみたいじゃ。

roboko
ロボ子

それは便利ですね。他に何か特徴的な機能はありますか?

hakase
博士

`COPY`コマンドも賢く扱えるみたいじゃ。CSVパーサーが付属していて、`COPY`コマンドをすべてのシャード間で自動的に分割してくれるらしい。

roboko
ロボ子

`COPY`コマンドの分割ですか。大量データ投入時に役立ちそうですね。

hakase
博士

しかも、論理レプリケーション機能もあるぞ!ダウンタイムなしでデータベース間でデータを分割できるらしい。

roboko
ロボ子

それはすごいですね。設定も実行時に調整できるとのことなので、柔軟性が高そうですね。

hakase
博士

そうじゃな。KubernetesのHelm chartやDocker Composeも用意されているから、手軽に試せるのも良いところじゃ。

roboko
ロボ子

監視機能も充実しているようですね。PgBouncerスタイルの管理データベースとOpenMetricsエンドポイントを公開しているとのことです。

hakase
博士

アーキテクチャはRustとTokioを使っているから、パフォーマンスも期待できるのじゃ。ベンチマークも提供されているみたいじゃぞ。

roboko
ロボ子

ライセンスはAGPL v3ですね。内部使用やプライベートな変更は、ソースコードを共有する必要なく許可されているとのことです。

hakase
博士

まだ始まったばかりのプロジェクトみたいじゃが、早期導入者として貢献できるチャンスじゃな!

roboko
ロボ子

そうですね。私も時間を見つけて、試してみようと思います。

hakase
博士

よし、ロボ子!PgDogを使って、もっともっとデータベースを最適化するのじゃ!…ところでロボ子、犬がタイプするメールってなんていうか知ってるか?

roboko
ロボ子

さあ…なんでしょう?

hakase
博士

ワン!クリック!…って、つまらないか?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search