मेरे पास PostgreSQL डेटाबेस में बड़ी मात्रा में मौसम मॉडल डेटा है। मशीन में 8 कोर और 16 जीबी रैम है। मैं PostgreSQL 9.3 PostGIS 2.1 के साथ चला रहा हूं। प्रत्येक तालिका में मौसम डेटा (अस्थायी, ओस बिंदु, हवा, आदि) की एक अलग किस्म होगी। प्रत्येक तालिका में 6-7 कॉलम होंगे: अक्षांश, देशांतर, बिंदु ज्यामिति, ऊंचाई, मॉडल के लिए प्रासंगिक समय और ब्याज के 1-2 डेटा मूल्य। डेटा को मुख्य रूप से एक बाउंडिंग बॉक्स के लिए समय और ऊंचाई के आधार पर देखा जाएगा। प्रति तालिका में लगभग 145,757,360 पंक्तियाँ होंगी (अब से पुराना डेटा प्रासंगिक नहीं हटेगा)। मैं मोटे तौर पर टेबल्स के आकार का अनुमान लगाता हूं, जिनमें से प्रत्येक बिना इंडेक्स के लगभग 10 जीबी है। (यह डेटा के 52 बाइट्स हैं और प्रति पंक्ति ओवरहेड के 23 बाइट्स हैं)। नया मॉडल डेटा उपलब्ध होते ही डेटा नियमित रूप से अपडेट / डाला जाएगा। ध्यान दें:
इसलिए मैं इन दोनों योजनाओं को देख रहा हूं:
- पॉइंट ज्योमेट्री के लिए अतिरिक्त इंडेक्स के साथ बस इंडेक्स और क्लस्टर (डेटाइम, एलिवेशन)। एक नियमित क्रोन नौकरी चलाएं जो पुरानी पंक्तियों को हटा देती है, वैक्यूम / विश्लेषण करती है, और फिर से क्लस्टर बनाती है।
- रेखागणित पर एक सूचकांक के साथ प्रति तालिका के उन्नयन द्वारा डेटाटाइम और फिर क्लस्टर और सूचकांक द्वारा विभाजन। आगे जा रही नई तालिकाओं को जोड़ने के लिए एक नियमित क्रोन जॉब चलाएं और पुरानी तालिकाओं को गिरा दें।
आगे की,
- तो, मुझे पता है कि एक टेबल को छोड़ना बहुत अधिक कुशल और हटाने और वैक्यूमिंग है। लेकिन क्या मुझे एक प्रदर्शन को बढ़ावा मिलेगा अन्यथा?
- क्या विभाजन उपयुक्त हैं जब अप्रासंगिक के रूप में हटाए जाने तक सभी तालिकाओं को समान रूप से अपडेट और चयनित किया जाएगा (दस्तावेज़ ने संकेत दिया कि विभाजन ने सबसे अच्छा काम किया जब उनमें से केवल कुछ को चुना जाएगा)?
डेटा डिलीवर करते समय सेलेक्ट किए गए इंडेक्स की तुलना में चयन किसी भी तेजी से होगा? यदि एक ही बार में कई अनुरोध किए जा रहे हैं तो क्या उत्तर बदलता है?
धन्यवाद। मुझे आशा है कि मैंने सभी आवश्यक डेटा डाल दिए हैं। अगर मुझे पता नहीं है और मैं इसे जोड़ दूँगा।
xmin
याxmax
आदि। एक ऐसी सुविधा है जो इसे 9.4 में बना सकती है जो शायद आपको उत्साहित करेगी, जिसे माइनमैक्स इंडेक्स कहा जाता है, जो इस तरह की चीजों को बहुत सुविधाजनक बना देगा।