मैंने वर्डप्रेस के लिए होस्टिंग सेवा, wordpress.com के डेटाबेस आर्किटेक्ट से बात की। उन्होंने कहा कि उन्होंने सभी ग्राहकों को एक साथ होस्ट करते हुए एक डेटाबेस के साथ शुरुआत की। आखिरकार, किसी एक ब्लॉग साइट की सामग्री वास्तव में उतनी नहीं होती है। इसका कारण यह है कि एक एकल डेटाबेस अधिक प्रबंधनीय है।
इसने उनके लिए तब तक अच्छा काम किया जब तक उन्हें सैकड़ों और हजारों ग्राहक नहीं मिल गए, उन्होंने महसूस किया कि उन्हें स्केल आउट करने की आवश्यकता है , कई भौतिक सर्वर चला रहे हैं और प्रत्येक सर्वर पर अपने ग्राहकों के सबसेट को होस्ट कर रहे हैं। जब वे एक सर्वर जोड़ते हैं, तो अलग-अलग ग्राहकों को नए सर्वर पर माइग्रेट करना आसान होगा, लेकिन एक डेटाबेस में डेटा को अलग करना कठिन होगा जो एक व्यक्तिगत ग्राहक के ब्लॉग से संबंधित है।
जैसे-जैसे ग्राहक आते हैं और जाते हैं, और कुछ ग्राहकों के ब्लॉग में उच्च-मात्रा वाली गतिविधि होती है जबकि अन्य बासी हो जाते हैं, कई सर्वरों पर पुनर्संतुलन एक और भी जटिल रखरखाव कार्य बन जाता है। प्रति व्यक्तिगत डेटाबेस के आकार और गतिविधि की निगरानी करना भी आसान है।
इसी तरह एक डेटाबेस बैकअप या पुनर्स्थापना . करना डेटा के टेराबाइट्स वाले एकल डेटाबेस का, बनाम अलग-अलग डेटाबेस बैकअप और प्रत्येक में कुछ मेगाबाइट्स की पुनर्स्थापना, एक महत्वपूर्ण कारक है। विचार करें:एक ग्राहक कॉल करता है और कहता है कि कुछ खराब डेटा प्रविष्टि के कारण उनका डेटा SNAFU'd हो गया है, और क्या आप कृपया कल के बैकअप से डेटा को पुनर्स्थापित कर सकते हैं? आप एक . को कैसे पुनर्स्थापित करेंगे ग्राहक का डेटा यदि आपके सभी ग्राहक एक ही डेटाबेस साझा करते हैं?
अंततः उन्होंने निर्णय लिया कि एक प्रति ग्राहक अलग डेटाबेस . में विभाजित किया जाए , हालांकि प्रबंधन के लिए जटिल, उन्हें अधिक लचीलेपन की पेशकश की और उन्होंने इस मॉडल के लिए अपनी होस्टिंग सेवा को फिर से तैयार किया।
इसलिए, डेटा मॉडलिंग . से करते समय परिप्रेक्ष्य में ऐसा लगता है कि सब कुछ एक डेटाबेस में रखना सही है, कुछ डेटाबेस व्यवस्थापन जैसे ही आप डेटा वॉल्यूम का एक निश्चित ब्रेकपॉइंट पास करते हैं, कार्य आसान हो जाते हैं।