क्या Redis की ज़रूरत है? जब PostgreSQL queueing, locking और pub/sub सुविधाएँ देता है (2021)
(spin.atomicobject.com)-
उपयोग का मामला 1: कार्य queueing
- Redis का उपयोग वेब सेवाओं में background jobs को समन्वित करने के लिए अक्सर किया जाता है।
- PostgreSQL 9.5 के बाद
SKIP LOCKEDविकल्प का उपयोग करके कार्य queueing लागू की जा सकती है। - यह विकल्प lock का इंतज़ार किए बिना कार्य चुनने देता है, जिससे कई workers एक ही कार्य को एक साथ प्रोसेस न करें, यह सुनिश्चित होता है।
-
उपयोग का मामला 2: application locking
- Redis का उपयोग distributed locking के लिए अक्सर किया जाता है।
- PostgreSQL के advisory locks का उपयोग करके वही कार्यक्षमता लागू की जा सकती है।
- Advisory locks, PostgreSQL के internal lock engine को application-परिभाषित उद्देश्यों के लिए इस्तेमाल करने देते हैं।
-
उपयोग का मामला 3: Pub/Sub
- Redis का उपयोग active clients तक events push करने के लिए किया जाता है।
- PostgreSQL 9 के बाद
LISTENऔरNOTIFYस्टेटमेंट्स का उपयोग करके Pub/Sub सुविधा प्रदान करता है। - PostgreSQL clients किसी खास message channel को subscribe कर सकते हैं, और जब कोई दूसरा client उस channel पर message भेजता है, तो सभी subscribers को notification मिलती है।
-
PostgreSQL का पूर्ण उपयोग
- Redis का उपयोग PostgreSQL से अलग उद्देश्यों के लिए होता है, और यह TTL वाले data caching तथा अस्थायी data storage में बेहतरीन है।
- PostgreSQL केवल एक SQL database से अधिक सुविधाएँ देता है, और Redis से किए जाने वाले कुछ कार्यों को PostgreSQL से बदलने की संभावना है।
- यह कई data services इस्तेमाल करने की जटिलता घटाने और operational cost कम करने के लिए एक मूल्यवान विकल्प हो सकता है।
1 टिप्पणियां
Hacker News राय
Redis, जब एप्लिकेशन के साथ उसी मशीन पर चलता है, तो बहुत तेज़ response time देता है। इससे ऐसे काम संभव होते हैं जो Postgres से अलग हैं
PostgreSQL सिर्फ एक साधारण SQL database से कहीं अधिक सुविधाएँ देता है
PGQueuer, PostgreSQL का उपयोग करके job queue, locking और real-time notifications देने वाला एक न्यूनतम alternative है
Postgres एक शक्तिशाली database है
ज़्यादातर projects को सिर्फ एक simple job queue चाहिए होती है, और complex stack को सरल बनाना महत्वपूर्ण है
Postgres की कुछ सीमाएँ हैं
PostgreSQL से शुरुआत करना और ज़रूरत पड़ने पर Redis पर जाना बेहतर है
Postgres pub/sub की एक बड़ी कमी यह है कि message size 8000 bytes तक सीमित है
Redis का सबसे महत्वपूर्ण उपयोगों में से एक, caching, Postgres में अधिक जटिल है
Postgres में इन सुविधाओं का उपयोग करने पर updates और replication और कठिन हो जाते हैं