हमारे पास एक MySQL ट्रैकिंग डेटाबेस है जिसमें ~ 100M पंक्तियां हैं। हम आम तौर पर कुछ कार्यवाही, अनन्य यात्राओं आदि के लिए क्वेरी समूह चलाते हैं। समस्या यह है कि इंडेक्स के इंटरप्ले की वजह से मासिक रिपोर्ट उत्पन्न करने के लिए प्रश्न धीमे हो रहे हैं (हमारे पास तिथि के लिए एक श्रेणी स्कैन है, फिर एकाधिक पर आधारित प्रश्न अन्य फ़ील्ड।)क्या तारीख तक ट्रैकिंग तालिका को सहेजने के नुकसान हैं?
प्रदर्शन में सुधार करने के लिए, हमने सीमा स्कैन से बचने के लिए तिथि के आधार पर यूनियनों को करने के लिए स्विच किया है और प्रदर्शन बहुत बेहतर है। तो विचार प्रस्तुत किया गया था कि शायद हमें दिन के लिए प्रत्येक दिन एक अलग मेज के साथ सुनाया जाना चाहिए। फायदे प्रतीत होते हैं:
- तेज़ आवेषण - प्रत्येक दिन तालिका नई/छोटी होती है, इसलिए यह हमेशा तेज़ होती है।
- पुराना डेटा हटाना सरल है (100 एम पंक्ति तालिका से 5 एम पंक्तियों को हटाने के बजाय, हम केवल एक टेबल छोड़ सकते हैं)
- हमारा वर्तमान दृष्टिकोण यूनियनों को वैसे भी कर रहा है - इसलिए हम अलग-अलग मूल्यों के बजाय अलग-अलग तालिकाओं को जोड़ रहे हैं एक टेबल से
क्या किसी ने इस दृष्टिकोण के बारे में सुना है या कोशिश की है? क्या कोई पूर्व समस्या है?
नोट: हम अन्य NoSQL दृष्टिकोण पर विचार कर रहे है - लेकिन हम अगर यह एक वैध तरीका है हम MySQL के साथ रहने का फैसला करता है, तो जानना चाहूंगा (ताकि सुझाव है कृपया नहीं "XYZ NoSQL डीबी कोशिश")। साथ ही, मैं समझता हूं कि हम केवल एक बेहतर मशीन प्राप्त कर सकते हैं और डेटा सेट के दायरे में, यह इतना बड़ा नहीं है - लेकिन अगर हम छोटे बिना अतिरिक्त काम करेंगे तो हम बड़ी मशीन पर पैसे बर्बाद नहीं करना चाहते हैं काम।
यदि संभव हो तो, आपको दैनिक परिणामों को एक अलग तालिका में स्टोर करने में उपयोगी हो सकता है, फिर उस पर रिपोर्टिंग क्वेरी चलाएं। साथ ही, यदि आप साप्ताहिक रिपोर्ट भी करते हैं (कभी-कभी यदि आप नहीं करते हैं), तो दैनिक समेकित मूल्यों पर साप्ताहिक प्रश्नों को चलाने और परिणामों को एक और, साप्ताहिक, तालिका में स्टोर करने के लिए सार्थक हो सकता है। थोड़ी सी झुकाव के साथ आप तुरंत * लगभग * किसी भी अवधि की जानकारी प्राप्त कर सकते हैं (मुझे AJAX गतिशील चार्ट के माध्यम से रिपोर्टिंग का समर्थन करने के लिए यह एक बार करना था)। स्टोरेज और आईएनएसईआरटी के लिए, क्षैतिज दिनांक-आधारित विभाजन आपका मित्र होगा। – LSerni