- PostgreSQLデータベース間でデータを移動・変換する最も簡単な方法を提供
- リアルタイムストリーミング:PostgreSQLの論理レプリケーションを使用して、データ変更をほぼリアルタイムでストリーミング
- バルクコピー:並列処理対応のバルクコピーにより、初期データ同期を高速に実行
- 強力な変換:正規表現ベースの変換を適用し、機密データをマスキングし、列の値に応じてフィルタリング
- 柔軟なルーティング:テーブル間でデータをシームレスにルーティングし、異なる名前のテーブルや同一テーブルへ、カスタム列マッピングを通じてルーティング
- 変換ルールの例
- メールアドレスのマスキング:メール列をマスク文字に変換。
- 電話番号のフォーマット:正規表現を使って電話番号の形式を変換。
- テーブルルーティングと列マッピング
- 柔軟なテーブルルーティング:ユーザーテーブルを顧客テーブルにルーティングし、IDとユーザー名を顧客IDと顧客名にマッピング。
- 複数テーブルのルーティング:注文テーブルを取引テーブルにルーティングし、IDと合計金額を取引IDと金額にマッピング。
- 一般的なユースケース
- PostgreSQL DB間でのリアルタイムデータレプリケーション
- データ変換を含むETLパイプラインの構築
- データの再ルーティング、マスキング、フィルタリング
- ダウンタイムなしでのデータベース移行の実行
- PostgreSQLでのイベントストリーミング
- 動作方式
- pg_floはPostgreSQLの論理レプリケーションシステムを活用して、データ変更をキャプチャしストリーミングする。
- メッセージブローカーとしてNATSを使用し、WALからの読み取りをレプリケーターおよびワーカープロセスから分離することで、柔軟性と拡張性を提供する。
- 変換とフィルタリングは、データが宛先に到達する前に適用される。
1件のコメント
Hacker Newsのコメント
pg_floプロジェクトは非常に興味深く見え、特にS3へのアーカイブと低価格なツール版が魅力的
PostgreSQLの論理レプリケーションを使って、メインデータベースからデータを整理し、S3へアーカイブするプロジェクトを進めている
Postgres CDCソリューションを調査中で、pg_floが役立つか気になっている
Debeziumの代替になってほしい
pglogicalはPostgres内部で実行できるが、pg_floは拡張ではなく外部サービスのように見える
このツールを試してみるのがとても楽しみ
Sequinと比べてどう違うのか気になっている
似たようなツールを探していたので、完璧なタイミング
S3にバックアップするよりレプリケーションを使うほうがよいのか気になっている
とてもクールなツール