PgQue – बिना bloat के Postgres queue
(github.com/NikolayS)- सिर्फ एक SQL फ़ाइल से इंस्टॉल होता है, और केवल pg_cron से चलता है (tick)
- Skype युग की PgQ architecture को शुद्ध PL/pgSQL में दोबारा लागू किया गया Postgres-embedded message queue है, जिसे C extension या बाहरी daemon के बिना managed Postgres में सीधे इस्तेमाल किया जा सकता है
- पारंपरिक SKIP LOCKED queue की पुरानी समस्या dead tuple accumulation और VACUUM load को snapshot-based batch + TRUNCATE table rotation से जड़ से हटाता है, इसलिए कई महीनों तक चलाने पर भी performance degradation नहीं होता
- Kafka topic जैसी shared event log + consumer-specific independent cursor संरचना के साथ native fan-out सपोर्ट — data replication के बिना कई subscriber सभी events को स्वतंत्र रूप से प्राप्त कर सकते हैं
- end-to-end delivery latency default setting में ~1-2 सेकंड है (tick interval + poll interval), जबकि individual send/receive/ack calls microsecond स्तर पर हैं
- प्रारंभिक benchmark के अनुसार PL/pgSQL insert ~86k ev/s, consumer read ~2.4M ev/s, और 30 मिनट के sustained test में dead tuple वृद्धि शून्य रही
pgque.send(),pgque.receive(),pgque.ack()जैसी SQL API आधारित संरचना होने से यह Python, Go, TypeScript जैसी किसी भी भाषा के सभी Postgres drivers में काम करता है- RDS, Aurora, Cloud SQL, AlloyDB, Supabase, Neon सहित सभी प्रमुख managed Postgres providers के साथ compatible, और अलग build या provider approval की ज़रूरत नहीं
- 3 roles (pgque_reader, pgque_writer, pgque_admin) पर आधारित built-in permission separation देता है, इसलिए application user के लिए superuser आवश्यक नहीं
- PgQ स्वयं Skype के सैकड़ों मिलियन उपयोगकर्ता पैमाने पर 10 साल से अधिक production-validated रहा है, लेकिन PgQue एक product के रूप में अभी शुरुआती चरण (v0.1) में है
- Apache-2.0 license
1 टिप्पणियां
वाकई में एक all-in-one db