2010-09-14 18 views
8

मैं जानना चाहता हूं कि विशाल डेटाबेस के साथ काम करते समय कौन सी विशिष्ट समस्याएं/समाधान/सलाह/सर्वोत्तम अभ्यास [शब्द के लिए मुझे दंडित नहीं करते] उत्पन्न हो रहे हैं।विशाल डेटाबेस के साथ काम करने के बारे में मुझे क्या जानने की ज़रूरत है?

विशाल के तहत मैं डेटाबेस को इंगित करता हूं, जिसमें डेटा के पेटबाइट्स के साथ लाखों पंक्तियों और/या डेटाबेस के साथ तालिकाओं हैं।

प्लेटफार्म उन्मुख उत्तरों भी बहुत अच्छे होंगे।

+2

क्या आप किसी भी डीबीएमएस के लिए सामान्य रूप से पूछ रहे हैं? आपको किसी विशेष –

+0

के बारे में पूछकर बेहतर प्रतिक्रिया मिल सकती है यह भी निर्भर करता है कि आपके डीबी के लिए इच्छित उपयोग क्या हैं? एक डोमेन विशेषज्ञ को भर्ती के लिए रिपोर्टिंग/डाटावायरहाउस/लेनदेन आदि .. – guigui42

उत्तर

10

कुछ विचार

  • विशिष्ट डेटाबेस इंजन का विस्तार से जानें, यह कैसे काम करता

  • प्रश्नों (संकेत, निष्पादन योजना)

  • अनुकूलन करने के लिए कैसे कैसे डेटाबेस धुन पर (न केवल इंडेक्स, बल्कि भौतिक भंडारण और प्रतिनिधित्व, ओएस एकीकरण)।

  • क्वेरी अस्थायी परिणाम है कि पुन: उपयोग किया जा सकता है स्टोर करने के लिए अस्थायी तालिकाओं की तरह "चाल",

  • कैसे प्रदर्शन में सुधार के लिए असमान्यीकरण की आवश्यकता का मूल्यांकन करने के

  • कैसे डेटाबेस के लिए उपकरणों की रूपरेखा का उपयोग करने, बाधाओं की पहचान करने के लिए।

0

कोई भी आरडीबीएमएस खराब प्रदर्शन से पीड़ित हो सकता है अगर यह बहुत बड़ा हो जाता है, खासकर जटिल जटिल स्थितियों का उपयोग करने पर। डेटाबेस स्कीमा को भी बड़ी मात्रा में यातायात के लिए स्केल करने के लिए डिज़ाइन किया जाना चाहिए। अधिकतर सिस्टम भार को संभालने में बहुत अच्छे होते हैं, लेकिन जब आप एक डेटाबेस रखते हैं तो आपको कई मशीनों में वितरित करने की आवश्यकता होती है।

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

नोएसक्यूएल प्रौद्योगिकियों के कुछ उदाहरण कैसंड्रा, कॉच डीबी, Google बिगटेबल, मोंगोडीबी हैं। कुछ लोग कसम खाता है कि ये सिस्टम "आने वाले डेटा विस्फोट" के प्रबंधन में महत्वपूर्ण हो जाएंगे।

4

मेरी पहली सलाह किसी को किराए पर लेना होगा जो जानता है कि वे क्या कर रहे हैं और एसओ पर भरोसा नहीं करते हैं, अन्यथा आप कुछ बेहद महंगी गलतियों के लिए हो सकते हैं। मेरा दूसरा सही मंच हार्डवेयर और सॉफ्टवेयर चुनना होगा। विवरण आवश्यकताओं पर बहुत निर्भर करेगा।

+2

+1। मैंने प्लंबर के ट्रक के पक्ष में एक बार एक उपयोगी कहानियां देखी: "अगर आपको लगता है कि एक पेशेवर को भर्ती करना महंगा है, तो शौकिया को भर्ती करने का प्रयास करें।" यह अभी भी एक दिलचस्प सवाल है, तकनीकी रूप से बोल रहा है। –

8

(मेरे अनुभव एमएस एसक्यूएल है, लेकिन इन अन्य प्लेटफार्मों पर लागू होना चाहिए) एक उत्पादन डीबीए से सलाह के टुकड़े की एक जोड़े:

  • रखरखाव एक महत्वपूर्ण समस्या (हर रात को बैकअप, DBCCs हो जाता है, साप्ताहिक रीइंडेक्स/अनुकूलन नौकरियां, आदि)। उचित रात या सप्ताहांत रखरखाव खिड़की से अधिक शुरू करना बहुत आसान है। यह सिर्फ तकनीकी समस्या नहीं है, यह भी व्यवसाय समस्या है ("आपका क्या मतलब है, अंतिम अच्छे बैकअप से डेटाबेस को पुनर्स्थापित करने में 4 घंटे लगेंगे?")

  • डेवलपर्स को यह समझने की आवश्यकता है कि उन्हें अलग-अलग काम करने की आवश्यकता हो सकती है।" आपका मतलब है कि मैं केवल नहीं कर सकता और इसे काम करने की उम्मीद कर सकता हूं?

मुझे यकीन है कि मैं और अधिक के बारे में सोच हूँ ...

2

अत्यधिक सुझाव है कि आप प्रस्तुति में मदद मिलेगी के बारे में एसक्यूएल Antipatterns http://www.slideshare.net/billkarwin/sql-antipatterns-strike-back

इस प्रस्तुति को पढ़ने के लिए (हाँ, यह मुझे मदद की बहुत कुछ) प्रतीत होता है कि घातक स्थिति का हल ढूंढें।

0

डेटाबेस के दो पहलू हैं जो आकार से अधिक महत्वपूर्ण हैं, जहां तक ​​डिज़ाइन और प्रबंधन चला जाता है।

पहला जटिलता है। वहां कितने उपयोगकर्ता टेबल हैं? उन तालिकाओं में कितने कॉलम? स्कीमा में कई सौ उपयोगकर्ता तालिकाओं वाले डेटाबेस और उन तालिकाओं में एक हजार से अधिक स्तंभ बहुत जटिल हैं। आधे दर्जन टेबल वाले डेटाबेस बहुत जटिल नहीं हैं, भले ही इसमें डेटा के पेटबाइट्स हों।

दूसरा डेटा साझा करने का दायरा है। यदि एक डेटाबेस को अलग प्रोग्रामिंग टीमों द्वारा विकसित छह या अधिक अनुप्रयोगों के बीच डेटा साझा करने के लिए बनाया गया है, तो आपको एक ही एप्लिकेशन में एम्बेड किए गए डेटाबेस की तुलना में इसे बहुत अलग तरीके से डिज़ाइन और प्रबंधित करना चाहिए।

एसओ में एक से अधिक डेटाबेस डेटाबेस से पूछे जाने वाले अधिकांश डेटाबेस प्रश्न।

यहां कुछ उल्लेख किए गए हैं, जो पहले से ही उल्लेख किया गया है इसके अलावा।

तालिका विभाजन और तालिका अपघटन के बीच अंतर जानें। कुछ लोग टेबल को एक ही कॉलम के साथ कई तालिकाओं में विघटित करते हैं, जब विभाजन उन्हें बेहतर सेवा प्रदान करेगा।

डेटा के ग्राफ़ मॉडल और डेटा के संबंधपरक मॉडल के बीच वास्तविक अंतर जानें। कुछ लोग डाटाबेस डिज़ाइन करते हैं जैसे कि विदेशी कुंजी अनिवार्य रूप से पॉइंटर्स के समान होती हैं। वे जो खत्म करते हैं वह एक ऐसी प्रणाली है जो एक संबंध प्रणाली की सभी धीमी गति और ग्राफ सिस्टम की सभी अप्रबंधनीयता को कैप्चर करती है।

(नोट: ग्राफ मॉडल को अक्सर हाइरेचैचिकल या नेटवर्क मॉडल कहा जाता है)।

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

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

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