रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) एसक्यूएल जैसा एक संबंधपरक डेटाबेस तालिकाओं में आयोजित डेटा आइटम का एक संग्रह है।
ACID संबंधपरक डेटाबेस लेनदेन के गुणों का एक समूह है।
एटोमिसिटी - प्रत्येक लेनदेन सभी या कुछ भी नहीं है संगति - कोई भी लेनदेन डेटाबेस को एक वैध स्थिति से दूसरे में लाएगा अलगाव - समवर्ती लेनदेन को निष्पादित करने के समान परिणाम होते हैं जैसे कि लेनदेन को क्रमिक रूप से निष्पादित किया गया था स्थायित्व - एक बार लेनदेन हो जाने के बाद, यह ऐसा ही रहेगा रिलेशनल डेटाबेस को स्केल करने के लिए कई तकनीकें हैं: मास्टर-स्लेव प्रतिकृति, मास्टर-मास्टर प्रतिकृति, फेडरेशन, शार्डिंग, डीमर्निलाइजेशन और एसक्यूएल ट्यूनिंग।
मास्टर-दास प्रतिकृति मास्टर पढ़ता है और लिखता है, एक या अधिक दासों को लिखता है, जो केवल पढ़ता है। दास भी एक पेड़ की तरह फैशन में अतिरिक्त दासों को दोहरा सकते हैं। यदि मास्टर ऑफ़लाइन हो जाता है, तो सिस्टम रीड-ओनली मोड में काम करना जारी रख सकता है जब तक कि एक दास को एक मास्टर को पदोन्नत नहीं किया जाता है या एक नए मास्टर का प्रावधान नहीं किया जाता है।
स्रोत: स्केलेबिलिटी, उपलब्धता, स्थिरता, पैटर्न
नुकसान (ओं): मास्टर-दास प्रतिकृति एक स्वामी को दास को बढ़ावा देने के लिए अतिरिक्त तर्क की आवश्यकता होती है। नुकसान देखें: मास्टर-स्लेव और मास्टर-मास्टर दोनों से संबंधित बिंदुओं के लिए प्रतिकृति। गुरु-गुरु की प्रतिकृति दोनों स्वामी पढ़ते हैं और लिखते हैं और लेखन पर एक दूसरे के साथ समन्वय करते हैं। यदि या तो मास्टर नीचे जाता है, तो सिस्टम रीड और राइट दोनों के साथ काम करना जारी रख सकता है।
स्रोत: स्केलेबिलिटी, उपलब्धता, स्थिरता, पैटर्न
नुकसान (ओं): मास्टर-मास्टर प्रतिकृति आपको एक लोड बैलेंसर की आवश्यकता होगी या आपको यह निर्धारित करने के लिए अपने एप्लिकेशन तर्क में परिवर्तन करने की आवश्यकता होगी कि कहां लिखना है। अधिकांश मास्टर-मास्टर सिस्टम या तो शिथिल सुसंगत हैं (ACID का उल्लंघन करते हैं) या सिंक्रनाइज़ेशन के कारण लेखन विलंबता बढ़ गई है। संघर्ष रिज़ॉल्यूशन खेलने में अधिक आता है क्योंकि अधिक लिखने के नोड जोड़े जाते हैं और जैसे ही विलंबता बढ़ती है। नुकसान देखें: मास्टर-स्लेव और मास्टर-मास्टर दोनों से संबंधित बिंदुओं के लिए प्रतिकृति। नुकसान (ओं): प्रतिकृति यदि किसी नए लिखित डेटा को अन्य नोड्स में दोहराया जा सकता है, तो मास्टर विफल होने पर डेटा के नुकसान की संभावना है। पढ़ी गई प्रतिकृतियों को फिर से लिखा जाता है। यदि बहुत सारे लिखते हैं, तो पढ़ा हुआ प्रतिकृतियां फिर से लिखने के साथ छेड़छाड़ कर सकती हैं और बहुत से पढ़ नहीं सकते हैं। जितना अधिक पढ़ा जाता है दास, उतने अधिक आपको दोहराए जाते हैं, जिससे अधिक से अधिक प्रतिकृति अंतराल होता है। कुछ प्रणालियों पर, मास्टर को लिखने के लिए समानांतर में लिखने के लिए कई धागे हो सकते हैं, जबकि प्रतिकृतियां केवल एक ही धागे के साथ क्रमिक रूप से लिखने का समर्थन करती हैं। प्रतिकृति अधिक हार्डवेयर और अतिरिक्त जटिलता जोड़ता है। स्रोत (ओं) और आगे पढ़ने: प्रतिकृति स्केलेबिलिटी, उपलब्धता, स्थिरता, पैटर्न मल्टी-मास्टर प्रतिकृति फेडरेशन
स्रोत: अपने पहले 10 मिलियन उपयोगकर्ताओं के लिए स्केलिंग
फेडरेशन (या कार्यात्मक विभाजन) फ़ंक्शन द्वारा डेटाबेस को विभाजित करता है। उदाहरण के लिए, एकल, अखंड डेटाबेस के बजाय, आपके पास तीन डेटाबेस हो सकते हैं: फ़ोरम, उपयोगकर्ता, और उत्पाद, जिसके परिणामस्वरूप प्रत्येक डेटाबेस में ट्रैफ़िक कम पढ़ा और लिखा जाता है और इसलिए कम प्रतिकृति अंतराल होता है। छोटे डेटाबेस में अधिक डेटा होता है जो मेमोरी में फिट हो सकता है, जिसके परिणामस्वरूप कैश कैश में सुधार के कारण अधिक कैश हिट होता है। एक भी केंद्रीय मास्टर क्रमबद्ध लेखन के साथ आप समानांतर, बढ़ते हुए थ्रूपुट में लिख सकते हैं।
नुकसान (ओं): महासंघ यदि आपके स्कीमा को भारी कार्यों या तालिकाओं की आवश्यकता है, तो फेडरेशन प्रभावी नहीं है। किस डेटाबेस को पढ़ना और लिखना है, यह निर्धारित करने के लिए आपको अपने एप्लिकेशन लॉजिक को अपडेट करना होगा। दो डेटाबेस से डेटा जुड़ना सर्वर लिंक के साथ अधिक जटिल है। फेडरेशन अधिक हार्डवेयर और अतिरिक्त जटिलता जोड़ता है। स्रोत (ओं) और आगे पढ़ने: महासंघ अपने पहले 10 मिलियन उपयोगकर्ताओं को स्केलिंग Sharding
स्रोत: स्केलेबिलिटी, उपलब्धता, स्थिरता, पैटर्न
साझाकरण विभिन्न डेटाबेस में डेटा वितरित करता है जैसे कि प्रत्येक डेटाबेस केवल डेटा के सबसेट को प्रबंधित कर सकता है। उपयोगकर्ताओं के डेटाबेस को एक उदाहरण के रूप में लेते हुए, जैसे ही उपयोगकर्ताओं की संख्या बढ़ती है, क्लस्टर में और अधिक धारें जोड़ी जाती हैं।
महासंघ के फायदों के समान, पैनापन कम पढ़ने और लिखने के लिए ट्रैफ़िक, कम प्रतिकृति, और अधिक कैश हिट होता है। इंडेक्स का आकार भी कम हो गया है, जो आम तौर पर तेज प्रश्नों के साथ प्रदर्शन में सुधार करता है। यदि एक शार्प नीचे जाता है, तो दूसरी शर्ड्स अभी भी चालू हैं, हालांकि आप डेटा हानि से बचने के लिए प्रतिकृति के कुछ रूप जोड़ना चाहते हैं। महासंघ की तरह, एक भी केंद्रीय मास्टर क्रमबद्ध लेखन नहीं है, जो आपको बढ़ी हुई थ्रूपुट के साथ समानांतर में लिखने की अनुमति देता है।
उपयोगकर्ताओं की तालिका को साझा करने के सामान्य तरीके उपयोगकर्ता के अंतिम नाम प्रारंभिक या उपयोगकर्ता की भौगोलिक स्थिति के माध्यम से होते हैं।
नुकसान: आपको शार्क के साथ काम करने के लिए अपने एप्लिकेशन लॉजिक को अपडेट करना होगा, जिसके परिणामस्वरूप जटिल SQL क्वेरी हो सकती हैं। डेटा वितरण एक शार्क में लोपेज बन सकता है। उदाहरण के लिए, एक शार्क पर बिजली उपयोगकर्ताओं का एक सेट दूसरों की तुलना में उस शार्क के लिए बढ़ा हुआ लोड हो सकता है। असंतुलन अतिरिक्त जटिलता जोड़ता है। एक शार्किंग फ़ंक्शन आधारित