हमारे (वर्तमान में MySQL) डेटाबेस में 120 मिलियन से अधिक रिकॉर्ड हैं, और हम PHP में जटिल जॉइन प्रश्नों और एप्लिकेशन-स्तर तर्क का लगातार उपयोग करते हैं जो डेटाबेस को स्पर्श करते हैं। हम एक मार्केटिंग कंपनी हैं जो डेटा खनन को हमारे प्राथमिक फोकस के रूप में करती है, इसलिए हमारे पास कई बड़ी रिपोर्टें हैं जिन्हें दैनिक, साप्ताहिक या मासिक आधार पर चलाने की आवश्यकता होती है।क्या बड़े डेटासेट के लिए MySQL से MongoDB या Cassandra बेहतर है?
समवर्ती रूप से, ग्राहक सेवा उसी डेटाबेस के प्रतिकृति दास पर चलती है।
हम इन रिपोर्टों को मैन्युअल रूप से उनके लिए स्प्रेडशीट जेनरेट करने के बजाय वेब पर वास्तविक समय में होने में सक्षम होना पसंद करेंगे। हालांकि, हमारी कई रिपोर्टें डेटा खींचने के लिए काफी समय लेती हैं (कुछ मामलों में, एक घंटे से अधिक)।
हम क्लाउड में काम नहीं करते हैं, बजाय हमारे सर्वर रूम में दो भौतिक सर्वरों का उपयोग करके संचालित करने के लिए चुनते हैं।
यह सब देखते हुए, डेटाबेस के लिए हमारा सबसे अच्छा विकल्प क्या है?
डेटा में शामिल होने पर नोएसक्यूएल सिस्टम आमतौर पर बहुत कमजोर होते हैं। जब तक आप अपना डेटा अलग-अलग मॉडल नहीं करते हैं, तब तक मैं एक आरडीबीएमएस के साथ रहूंगा। यह शायद आपको सबसे अच्छा चलने वाले प्रश्न देगा। – Sam
उदाहरण के लिए आप शायद अधिक परेशानी का सामना कर सकते हैं उदाहरण के लिए कैसंद्रा क्योंकि आपके डेटा को रिलेशनल स्ट्रक्चर की पुष्टि करने के लिए मॉडलिंग किया गया था। अनिवार्य रूप से आपको सब कुछ फिर से तैयार करना होगा और फिर NOSQL समाधान को अनुकूलित करने का प्रयास करना होगा। ध्यान में रखते हुए कि आपके पास पहले से ही MySQL के साथ कुछ विशेषज्ञता है, आप शायद इसे आसान अनुकूलित करेंगे। MySQL की तुलना में कैसंड्रा थोड़ा छोटी गाड़ी है। तो अपने प्रश्नों को अनुकूलित करने के अन्य उत्तरों के रूप में अनुकूलित करने का प्रयास करें और निश्चित रूप से प्लेट ड्राइव के बजाय एसएसडी के लिए जाएं। रैम में डेटासेट का बड़ा हिस्सा रखने से भी बहुत मदद मिलेगी ताकि इनओडीबी इंजन को आपकी मदद करने के लिए विचार किया जा सके। – PSIXO
कुछ विचारों का परीक्षण करने के लिए, बस एक सामान्य मशीन को किसी अन्य मशीन पर रामडिस्क पर दोहराने के लिए एक साधारण बात हो सकती है (आप कुछ हाईएंड वर्कस्टेशन का उपयोग सर्वर पर भी नहीं कर सकते) और उसके बाद कुछ प्रश्न चला सकते हैं। आप कुछ ए/बी परीक्षण को भी सेट अप कर सकते हैं जिसका अर्थ कुछ रिपोर्ट पीढ़ी (क्योंकि वे सभी पढ़ते हैं) आपके सर्वर को लक्षित करेंगे और अन्य इस टेस्ट मशीन को लक्षित करेंगे। यदि आपको परीक्षण मशीन से पढ़ने पर बेहतर प्रदर्शन मिलता है तो यह आपको बताएगा कि यदि आप एचडीडी I/O में सुधार करते हैं तो आप कितना सुधार कर सकते हैं। – PSIXO