2009-01-02 7 views
17

में पूरे postgreSQL डेटाबेस को लोड करने की आवश्यकता है, मैं अपने पूरे PostgreSql डेटाबेस को रैम में तेज़ एक्सेस के लिए कैसे डालूं ?? मेरे पास 8 जीबी मेमोरी है और मैं डीबी के लिए 2 जीबी समर्पित करना चाहता हूं। मैंने साझा बफर सेटिंग्स के बारे में पढ़ा है लेकिन यह डेटाबेस के सबसे अधिक एक्सेस किए गए खंड को कैश करता है। मुझे एक समाधान की आवश्यकता थी जहां पूरे डीबी को रैम में रखा गया हो और कोई भी पढ़ाई राम डीबी से होगी और किसी भी लेखन ऑपरेशन को पहले राम डीबी में लिखा जाएगा और फिर हार्ड ड्राइव पर डीबी लिखा जाएगा। (कुछ चीज डिफ़ॉल्ट fsync = postgresql विन्यास सेटिंग्स में साझा बफर के साथ)।रैम

+0

बीटीडब्ल्यू, यह ऐसी वेबसाइट के लिए है जिसके लिए मैं पाइथन और डीजेंगो फ्रेमवर्क का उपयोग कर रहा हूं। – Bharath

उत्तर

4

मैंने थोड़ी देर के लिए खुद से एक ही सवाल पूछा है। PostgreSQL के नुकसान में से एक यह है कि यह एक एमईएमरी स्टोरेज इंजन का समर्थन नहीं करता है क्योंकि MySQL करता है ...

वैसे भी मैं कुछ हफ्ते पहले article में भाग गया था यह वर्णन कर रहा था कि यह कैसे किया जा सकता है; हालांकि यह केवल लिनक्स पर काम करता प्रतीत होता है। मैं वास्तव में इसके लिए झुका नहीं सकता क्योंकि मैंने इसे स्वयं नहीं किया है, लेकिन ऐसा लगता है कि PostgreSQL टेबलस्पेस वास्तव में एक आरोहित भंडार असाइन किया गया है।

हालांकि, इस दृष्टिकोण के साथ भी, मुझे यकीन नहीं है कि आप अपनी अनुक्रमणिका को रैम में भी डाल सकते हैं; मुझे नहीं लगता कि माईएसक्यूएल बलों ने एचएसएच इंडेक्स को अपनी इन मेमरी टेबल के साथ कुछ भी नहीं उपयोग किया है ...

मैं भी प्रदर्शन में सुधार करने के लिए एक समान काम करना चाहता था क्योंकि मैं विशाल डेटा सेट के साथ भी काम कर रहा हूं। मैं अजगर का उपयोग कर रहा हूँ; उनके पास शब्दकोश डेटा प्रकार हैं जो मूल रूप से हैंश सारणी {key: value} जोड़े के रूप में हैं। इनका उपयोग करना बहुत ही कुशल और प्रभावी है। असल में, मेरी पोस्टग्रेएसक्यूएल तालिका को रैम में लाने के लिए, मैं इसे इस तरह के अजगर शब्दकोश में लोड करता हूं, इसके साथ काम करता हूं, और इसे थोड़ी देर में डीबी में बना रहता हूं; इसका उपयोग अगर यह अच्छी तरह से किया जाता है।

यदि आप अजगर का उपयोग नहीं कर रहे हैं, तो मुझे पूरा यकीन है कि आपकी भाषा में उनका एक समान शब्दकोश-मानचित्रण डेटा संरचना है।

आशा है कि इससे मदद मिलती है!

+0

आलेख अब उस लिंक पर उपलब्ध नहीं है। Archive.org यह है: https://web.archive.org/web/20080517112936/http://www.redhatmagazine.com/2007/12/12/tip-from-an-rhce-memory-storage-on- postgresql/ – Otheus

0
केवल एक 8GB डेटाबेस के साथ

, अगर आप पहले से ही सभी एसक्यूएल गतिविधि अनुकूलन किया है और आप तैयार हार्डवेयर के साथ क्वेरी की समस्याओं को हल कर रहे हैं, मैं सुझाव है कि आप मुसीबत में हैं। यह लंबी अवधि में एक स्केलेबल समाधान नहीं है। क्या आप निश्चित हैं कि सॉफ्टवेयर और डेटाबेस डिज़ाइन पक्ष पर पर्याप्त अंतर लाने के लिए आप कुछ भी नहीं कर सकते हैं?

2

यदि आप आईडी द्वारा डेटा खींच रहे हैं, तो memcached - http://www.danga.com/memcached/ + postgresql का उपयोग करें।

0

एक पुराने ढंग रैमडिस्क सेट करें और वहाँ अपने डाटा स्टोर करने स्नातकोत्तर बताओ।

सुनिश्चित करें कि आप इसे अच्छी तरह से वापस लें।

+5

क्या वह सर्वर पर अपने डेटा को पुनरारंभ नहीं करेगा? – SDReyes