मैं एक कुंजी/मान बैकएंड, कुछ इस तरह विकसित करने की आवश्यकता:PostgreSQL hstore कुंजी/मान बनाम पारंपरिक एसक्यूएल प्रदर्शन
Table T1 id-PK, Key - string, Value - string
INSERT into T1('String1', 'Value1')
INSERT INTO T1('String1', 'Value2')
Table T2 id-PK2, id2->external key to id
some other data in T2, which references data in T1 (like users which have those K/V etc)
मैं जिन/GIST साथ PostgreSQL hstore के बारे में सुना। बेहतर क्या है (प्रदर्शन-वार)? ऐसा करने से SQL के साथ पारंपरिक तरीका जुड़ता है और अलग-अलग कॉलम (कुंजी/मान) होते हैं? क्या PostgreSQL hstore इस मामले में बेहतर प्रदर्शन करता है?
डेटा का प्रारूप कोई भी कुंजी => कोई मान होना चाहिए। मैं टेक्स्ट मिलान करना भी चाहता हूं उदा। आंशिक रूप से खोज करें (एसक्यूएल में% पसंद करें या हिस्टोर समकक्ष का उपयोग करें)। मैं इसमें लगभग 1 एम -2 एम प्रविष्टियां रखने की योजना बना रहा हूं और शायद किसी बिंदु पर स्केल कर सकता हूं।
आप क्या सलाह देते हैं? एसक्यूएल पारंपरिक तरीका/PostgreSQL hstore या दृढ़ता के साथ किसी अन्य वितरित कुंजी/मूल्य स्टोर जा रहे हैं?
यदि यह मदद करता है, तो मेरा सर्वर 1-2 जीबी रैम वाला वीपीएस है, इसलिए एक बहुत अच्छा हार्डवेयर नहीं है। मैं इसके ऊपर एक कैश परत भी सोच रहा था, लेकिन मुझे लगता है कि यह समस्या को जटिल बनाता है। मैं सिर्फ 2 एम प्रविष्टियों के लिए अच्छा प्रदर्शन चाहता हूँ। अपडेट अक्सर किया जाएगा लेकिन अधिक बार खोज करता है।
धन्यवाद।
मुझे लगता है कि आपको इसके बजाय serverfault.com पर यह प्रश्न पूछना चाहिए। – uvesten
पोस्टग्रेस मेलिंग सूची भी अच्छी है, और फिर आप यहां जवाब पोस्ट कर सकते हैं और अंक भी उठा सकते हैं ;-) http://archives.postgresql.org/pgsql-general/ या शायद http: // अभिलेखागार आज़माएं। postgresql.org/pgsql-performance/। – iain