2012-02-05 17 views
21

I read about पोस्टग्रेस में एचएसओटीआरएस कुछ भी जो रेडिस द्वारा पेश किया जाता है।पोस्टग्रेस हैस्टोर बनाम रेडिस - प्रदर्शन के अनुसार

हमारा आवेदन नोडजेएस में लिखा गया है। दो प्रश्न:

  • प्रदर्शन के अनुसार, पोस्टग्रेस एचस्टोर रेडिस के बराबर है?

  • सत्र भंडारण के लिए, आप क्या सलाह देंगे - रेडिस, या पोस्टग्रेस किसी अन्य प्रकार के डेटा प्रकार (जैसे एचस्टोर, या यहां तक ​​कि सामान्य संबंध तालिका) के साथ? और दूसरा विकल्प बनाम एक विकल्प कितना बुरा है?

एक और बाधा है कि हम डेटा PostgreSQL में है कि पहले से ही इस्तेमाल करते हैं और सक्रिय सत्र के साथ संयोजित (जिसे हम, जहां इस बिंदु पर स्टोर करने के लिए सुनिश्चित नहीं हैं Redis या PostgreSQL में यदि करने की आवश्यकता होगी है)।

हमने जो पढ़ा है, उससे हमें रेडिस का सत्र प्रबंधक के रूप में उपयोग करने की ओर इशारा किया गया है, लेकिन पोस्टग्रेएसक्यूएल बाधा के कारण, हम निश्चित नहीं हैं कि दोनों संभावित संयोजन मुद्दों को कैसे जोड़ सकते हैं।

धन्यवाद!

उत्तर

22

रेडिस पोस्टग्रेज़ से तेज़ होंगे क्योंकि पीजी आपके डेटा पर विश्वसनीयता गारंटी प्रदान करता है (जब लेनदेन किया जाता है, यह डिस्क पर होने की गारंटी है), जबकि रेडिस की डिस्क पर लिखने की अवधारणा होती है जब ऐसा लगता है, तो महत्वपूर्ण डेटा के लिए इस्तेमाल नहीं किया जाना चाहिए।

रेडिस आपके सत्र डेटा के लिए एक अच्छा विकल्प जैसा लगता है, या बिल्ली भी कुकी में या आपके क्लाइंट साइड जावास्क्रिप्ट में स्टोर करता है। लेकिन अगर आपको हर अनुरोध पर अपने डेटाबेस से डेटा चाहिए तो यह रेडिस को शामिल करने के लायक भी नहीं हो सकता है। यह आपके आवेदन पर बहुत निर्भर करता है।

+3

बस एक छोटी सी टिप्पणी: यदि आपको पोस्टग्रेज़ के साथ विश्वसनीयता गारंटी की आवश्यकता नहीं है (दुर्घटना के मामले में खोए गए लेनदेन का जोखिम लेकिन दुर्घटना के मामले में डेटा भ्रष्टाचार का कोई खतरा नहीं है) और गति आपके लिए अधिक महत्वपूर्ण है, तो आप चाहें पोस्टग्रेज़ के भीतर 'synchronous_commit' सेटिंग को बंद करने का परीक्षण करने के लिए। यह बहुत से छोटे लिखने में मदद कर सकता है लेकिन पढ़ने में मदद नहीं करेगा। – stereoscott

+3

रेडिस के लेनदेन हैं, लेकिन गारंटी यह है कि संचालन का पूरा लेनदेन सेट स्मृति के लिए प्रतिबद्ध है। डिस्क पर डेटा लिखने-थ्रू की आवृत्ति के लिए कॉन्फ़िगरेशन विकल्प भी हैं। – Evgeny

+0

मुझे अंततः समझ में आया कि रेडिस पूरी तरह डेटाबेस की पूरी तरह से नई अवधारणा है। इतना नया है कि कई लोग- मुझे पसंद करते हैं- यह पहले क्षणों को समझ में नहीं आता है। जब आप पोस्टग्रेज़ में उपयोग करते हैं, तो वास्तव में रेडिस को पकड़ने के लिए समय की आवश्यकता होती है। यह एक असली समकालीन डेटाबेस है। यह कहकर कि यह एक कुकी/सत्र स्टोर है, रेडिस को कम करके आंका जा रहा है। इतना नया है कि कई लोग वास्तव में बिना किसी जानकारी के इसके बारे में राय देते हैं। हम इसे गैर-वेब प्रोजेक्ट में लाखों डेटा के लिए डाटाबेस के रूप में उपयोग करते हैं और यह अच्छी तरह से काम करता है! जब विश्वसनीयता की बात आती है, तो दुनिया में कोई भी सॉफ्टवेयर 100% विश्वसनीय नहीं है, पोस्टग्रेस भी नहीं। – 1111161171159459134

3

सत्र प्रबंधक के रूप में PostgreSQL का उपयोग करना आमतौर पर बुरा विचार है।

9.1 से अधिक पुराने के लिए लगातार मीडिया पैरामीटर के आधार पर प्रति सेकंड लेनदेन की भौतिक सीमा थी। सत्र प्रबंधन के लिए आपको आम तौर पर एमजीए की आवश्यकता नहीं होती है (क्योंकि टक्कर नहीं होती है) और इसका मतलब है कि एमजीए बिना एमजीए और डेटाबेस के बिना ओवरहेड और डेटाबेस है और एसीआईडी ​​काफी तेज (10 या 100) होना चाहिए।

मुझे एक उपयोग केस पता है, जहां पोस्टग्रेएसक्यूएल सत्र प्रबंधन और प्रदर्शन के लिए उपयोग किया गया था वास्तव में भयानक और अस्थिर था - यह लगभग 10000 जीवित सत्रों के साथ eshop था। जब सत्र प्रबंधन को memcached में ले जाया गया था, तो प्रदर्शन और स्थिरता में काफी वृद्धि हुई थी। PostgreSQL का उपयोग संभवतः बिना किसी समस्या के 100 जीवित सत्र के लिए किया जा सकता है। उच्च संख्या के लिए बेहतर उपकरण हैं।

+0

धन्यवाद! हम वास्तव में रेडिस की तरफ झुका रहे थे, लेकिन जैसा कि ऊपर बताया गया है, हम अनिश्चित हैं कि पोस्टर्स को रेडिस में सक्रिय उपयोगकर्ताओं से जानकारी वापस करने के लिए कैसे पूछना है ... कोई सुझाव? – jribeiro

+2

आप सत्र हैंडलिंग के लिए रेडिस के बजाय memcache का उपयोग कर सकते हैं। यह बहुत अच्छी तरह से काम कर रहा है https://github.com/elbart/node-memcache –

+0

@MarekTuchalski हाय! देरी के लिए खेद है और आपके उत्तर के लिए धन्यवाद। मेरा सवाल बनी हुई है ... मैं डेटा से जुड़े मेमकैड से डेटा कैसे कनेक्ट करूं? मुझे सभी परिणामों के माध्यम से पुन: प्रयास करना होगा और उन्हें पोस्टग्रेस सही करने के लिए पास करना होगा? यह दर्द की तरह लगता है ... – jribeiro

संबंधित मुद्दे