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