2012-03-13 13 views
6

मुझे एक सांख्यिकी प्रणाली बनाने की जरूरत है, लेकिन मुझे नहीं पता कि मोंगोडीबी सबसे अच्छा समाधान होगा या नहीं। सिस्टम को कुछ चीजों को ट्रैक करने और जानकारी प्रदर्शित करने की आवश्यकता है। एक समान चीज़ के उदाहरण के लिए - एक साइट, और प्रत्येक उपयोगकर्ता जो पहली बार साइट पर जाता है, उसके बारे में जानकारी के साथ एक पंक्ति जोड़ता है। सिस्टम को यथासंभव तेज़ी से डेटा स्टोर करने की आवश्यकता है, और, उदाहरण के लिए, यह Google क्रोम का उपयोग करके पेज देखने वाले उपयोगकर्ताओं के विकास का एक चार्ट बनाता है। साथ ही, यदि कोई उपयोगकर्ता फिर से विज़िट करता है, तो उपयोगकर्ता की पहले से ही पंक्ति में एक फ़ील्ड अपडेट किया जाता है ("डेज़" नामक फ़ील्ड कहें)।एक सांख्यिकी प्रणाली के लिए सर्वश्रेष्ठ डेटाबेस

सिस्टम को 200,000 नई यात्राओं को एक दिन (नए रिकॉर्ड) को संभालने की आवश्यकता है, 20,000,000 उपयोगकर्ता एक दिन फिर से (अपडेट) और 800,000,000 डीबी रिकॉर्ड देख सकते हैं। इसे डेटा को तेजी से आउटपुट करने की भी आवश्यकता है - उदाहरण के लिए, Google Chrome का उपयोग करते हुए, इंग्लैंड से प्रत्येक दिन कितने उपयोगकर्ता विज़िट करते हैं, इसका एक चार्ट बनाना

तो इस डेटा को संभालने के लिए सबसे अच्छा डीबी क्या होगा? क्या मोंगो डीबी इस जुर्माना को संभालेगा?

धन्यवाद!

+1

वेब विश्लेषणात्मक सॉफ़्टवेयर का उपयोग करने के बजाय आप इसे स्वयं क्यों लिख रहे हैं? –

उत्तर

3

Mongodb परमाणु अद्यतन और तराजू बहुत अच्छी तरह से अनुमति देता है। यह वही है जो इसे डिजाइन किया गया है। लेकिन दो चीजों को ध्यान में रखें: डिस्क स्पेस से सावधान रहें, यह बहुत तेज़ हो सकता है और यदि आपको त्वरित आंकड़े (जैसे क्षेत्र कवरेज, यातायात स्रोत इत्यादि) की आवश्यकता है, तो आपको उन्हें प्रीकंप्यूट करना होगा। सबसे तेज़ तरीका यह है कि इसके लिए एक साधारण डिमन तैयार करना है जो सभी संख्याओं को स्मृति में रखेगा और इसे प्रति घंटा/दैनिक बचाएगा।

3

रेडिस इसके लिए बहुत अच्छी पसंद है, बशर्ते आपके पास बहुत सी रैम हो या एकाधिक नोड्स पर डेटा को छाया करने की रणनीति हो। यह अच्छा है क्योंकि:

  1. यह स्मृति में है, इसलिए आप वास्तविक समय विश्लेषिकी कर सकते हैं (मुझे लगता है कि bit.ly के वास्तविक समय आँकड़े इसका इस्तेमाल)। वास्तव में, यह मूल रूप से इसके लिए बनाया गया था।

  2. यह बहुत तेज़ है, आसानी से सेकंड के हजारों अपडेट अपडेट कर सकता है।

  3. परमाणु संचालन है।

  4. इसने सेट श्रृंखला को क्रमबद्ध किया है जो समय श्रृंखला के लिए बहुत अच्छा है।

+0

मैं कम से कम तेजी से रिपोर्टिंग भाग के लिए रेडिस का उपयोग करने पर विचार करता हूं। सब कुछ स्मृति में रहता है, इसलिए यह सामान्य यातायात लॉगिंग के लिए एक अच्छा फिट नहीं है। –

0

RDM Workgroup डेस्कटॉप और सर्वर वातावरण के लिए डेटाबेस प्रबंधन प्रणाली है और मेमोरी की गति भी देता है।

आप इसकी दृढ़ता सुविधा का भी उपयोग कर सकते हैं; जहां आप डेटा मेमोरी प्रबंधित करते हैं और फिर उस डेटा को ऑन-डिस्क स्थानांतरित करते हैं जब एप्लिकेशन बंद हो जाता है तो कोई डेटा हानि नहीं होती है।

यह एक सहज ज्ञान युक्त इंटरफेस के साथ नेटवर्क मॉडल पर आधारित है, इसलिए इसकी स्केलेबिलिटी शीर्ष-स्तर पर है और आप जिन नए उम्मीदवारों की अपेक्षा करेंगे, उन्हें बड़े पैमाने पर संभालने में सक्षम होंगे।

संबंधित मुद्दे