PgDog - Pengelola pooling transaksi dan sharding supercepat untuk PostgreSQL
(github.com/levkk)- Alat pooling transaksi + sharding + load balancing PostgreSQL yang ditulis dengan Rust + Tokio, mampu mengelola ratusan database dan ratusan ribu koneksi secara efisien
- Bekerja mirip PgBouncer, tetapi merupakan proxy lapisan aplikasi (OSI L7) khusus PostgreSQL yang juga mendukung analisis kueri dan replikasi
- Dapat dideploy dengan mudah menggunakan Kubernetes dan Docker, serta menangani konfigurasi klaster, load balancing, replikasi, hingga pengelolaan multi-shard dalam satu konfigurasi
- Dengan kemampuan manajemen replikasi logis bawaan, dapat memperluas klaster PostgreSQL yang sudah ada menjadi sharding tanpa downtime
Fitur utama
-
Load balancing
- Mendistribusikan trafik berdasarkan kueri PostgreSQL di OSI Layer 7
SELECTdiarahkan otomatis ke replika, sedangkanINSERT/UPDATEdan sejenisnya ke node utama- Mendukung strategi: round robin, random, least active connections, dan lainnya
- Health check real-time dan failover otomatis saat terjadi gangguan
-
Pooling transaksi
- Seperti PgBouncer, mendukung pooling per sesi/transaksi
- Dapat melayani ratusan ribu klien dengan hanya beberapa koneksi PostgreSQL
-
Sharding dan replikasi
- Melalui analisis SQL, mengekstrak shard key dan otomatis meneruskan kueri ke shard yang sesuai
- Untuk kueri lintas shard, menggabungkan hasil di memori dan memberikan satu respons terpadu kepada pengguna
- Perintah
COPYjuga diproses dengan pemisahan per shard - Mendukung replikasi logis: memungkinkan perluasan sharding pada DB yang sudah ada tanpa downtime
-
Perubahan konfigurasi real-time
- Menggunakan konfigurasi
.tomlbergaya PgBouncer, konfigurasi dapat diubah tanpa restart - Dapat mengatur autentikasi per pengguna, koneksi per database, hingga informasi shard
- Menggunakan konfigurasi
-
Pemantauan
- Mendukung port administrasi standar PgBouncer + OpenMetrics
- Menyertakan contoh integrasi dan dashboard Datadog
1 komentar
Saya menggunakan patroni untuk konfigurasi multi-master,
kalau konfigurasinya punya banyak permintaan baca, sepertinya layak dicoba seperti maxscale.