वर्तमान में हम कुछ प्रदर्शन समस्याओं में चल रहे हैं क्योंकि हमारा डेटाबेस बहुत बड़ा हो रहा है। पिछले 10 वर्षों से संग्रहीत डेटा हैं और मुझे कोई कारण नहीं दिखता है कि 2 वर्ष से अधिक पुराने डेटा को नए डेटा के समान तालिकाओं में संग्रहीत किया जाना है।
अब चूंकि मेरे पास डेटाबेस को प्रबंधित करने का बहुत गहरा अनुभव नहीं है, इसलिए मैं पुराने डेटा को संग्रहीत करने के सर्वोत्तम तरीकों की तलाश कर रहा हूं।
जानकारी
डेटाबेस में कुल मिलाकर लगभग 310'000'000 रिकॉर्ड हैं।
हार्ड डिस्क पर डेटाबेस को 250 जीबी की आवश्यकता होती है।
- सर्वर संस्करण संगतता स्तर SQL Server 2005 (90) के साथ SQL Server 2008 है, लेकिन हम जल्द ही SQL Server 2012 में अपग्रेड करने की योजना बना रहे हैं
मैंने दो संभावनाओं के बारे में सोचा है:
नया डेटाबेस
उत्पादन सर्वर पर एक के समान डेटाबेस बनाएँ और नए डेटाबेस में सभी पुराने डेटा डालें।
- नुकसान: चूंकि लिंक किए गए सर्वरों को हमारे वातावरण में अनुमति नहीं है, इसलिए यदि आवश्यक हो तो पुराने डेटा से जुड़ना मुश्किल होगा
इतिहास स्कीमा
उत्पादन डेटाबेस में समान तालिकाओं के साथ एक नया स्कीमा fe [hist] बनाएं । नए स्कीमा में इन नए तालिकाओं में सभी पुराने डेटा डालें।
- फायदा: अगर भविष्य में पुराने डेटा की जरूरत होगी, तो इसमें आसानी होगी
- क्या आप एक के बाद एक समाधान निकालते हैं?
- क्यूं कर?
- क्या कोई बेहतर संभावनाएं हैं?
- क्या ऐसे मौजूदा उपकरण हैं जिनके साथ यह कार्य आसानी से संभव है?
- कोई और विचार?
अग्रिम में धन्यवाद
संपादित करें
अतिरिक्त प्रश्न:
क्या नव निर्मित संग्रह तालिका को भी प्राथमिक / विदेशी कुंजी की आवश्यकता होगी?
या वे सिर्फ कॉलम होना चाहिए, लेकिन बिना चाबी / बाधाओं के?