हालाँकि कुछ कंपनियां ऐसी हैं जो डरती हैं कि उनके डेटा से समझौता हो सकता है, इसलिए हम अन्य समाधानों का मूल्यांकन कर रहे हैं।
यह दुर्भाग्यपूर्ण है, क्योंकि ग्राहक कभी-कभी एक गलत धारणा से पीड़ित होते हैं कि केवल शारीरिक अलगाव ही पर्याप्त सुरक्षा प्रदान कर सकता है।
एक दिलचस्प एमएसडीएन लेख है, जिसका शीर्षक मल्टी-टेनेंट डेटा आर्किटेक्चर है , जिसे आप जांचना चाहते हैं। इस तरह से लेखकों ने साझा दृष्टिकोण के प्रति गलत धारणा को संबोधित किया:
एक आम गलतफहमी यह है कि केवल भौतिक अलगाव सुरक्षा का एक उचित स्तर प्रदान कर सकता है। वास्तव में, एक साझा दृष्टिकोण का उपयोग करके संग्रहीत डेटा भी मजबूत डेटा सुरक्षा प्रदान कर सकता है, लेकिन अधिक परिष्कृत डिजाइन पैटर्न के उपयोग की आवश्यकता होती है।
तकनीकी और व्यावसायिक विचारों के लिए, लेख एक संक्षिप्त विश्लेषण करता है जहां एक निश्चित दृष्टिकोण दूसरे की तुलना में अधिक उपयुक्त हो सकता है:
किरायेदारों की संख्या, प्रकृति और आवश्यकताएं जो आप सभी की सेवा करने की अपेक्षा करते हैं, विभिन्न तरीकों से आपके डेटा आर्किटेक्चर के निर्णय को प्रभावित करते हैं। निम्नलिखित प्रश्नों में से कुछ आपको अधिक पृथक दृष्टिकोण की ओर पूर्वाग्रह कर सकते हैं, जबकि अन्य आपको अधिक साझा दृष्टिकोण की ओर पूर्वाग्रह कर सकते हैं।
आप कितने संभावित किरायेदारों को लक्षित करने की उम्मीद करते हैं? आप प्राधिकरण के साथ संभावित उपयोग का अनुमान लगाने में सक्षम नहीं हैं, लेकिन परिमाण के आदेशों के संदर्भ में सोचें: क्या आप सैकड़ों किरायेदारों के लिए एक आवेदन का निर्माण कर रहे हैं? हजारों? दसियों हजारों की? अधिक? जितना बड़ा आप अपने किरायेदार आधार की अपेक्षा करते हैं, उतनी ही अधिक संभावना है कि आप अधिक साझा दृष्टिकोण पर विचार करना चाहेंगे।
औसत किरायेदार के डेटा पर कब्ज़ा करने के लिए आप कितने संग्रहण स्थान की उम्मीद करते हैं? यदि आप कुछ या सभी किरायेदारों से बहुत बड़ी मात्रा में डेटा संग्रहीत करने की अपेक्षा करते हैं, तो अलग-अलग डेटाबेस दृष्टिकोण संभवतः सबसे अच्छा है। (वास्तव में, डेटा स्टोरेज आवश्यकताएं आपको किसी भी तरह से अलग-अलग डेटाबेस मॉडल को अपनाने के लिए मजबूर कर सकती हैं। यदि ऐसा है, तो आवेदन को शुरू करने के तरीके से डिजाइन करना बहुत आसान होगा, जो कि बाद में अलग-अलग डेटाबेस दृष्टिकोण पर जाने के लिए होता है।)
कितने समवर्ती अंत उपयोगकर्ताओं से आपको औसत किरायेदार के समर्थन की उम्मीद है? संख्या जितनी बड़ी होगी, अंत-उपयोगकर्ता की आवश्यकताओं को पूरा करने के लिए उतना अधिक उपयुक्त और अधिक पृथक दृष्टिकोण होगा।
क्या आप प्रति-किरायेदार बैकअप और पुनर्स्थापना क्षमता जैसी किसी भी प्रति-मूल्य-वर्धित सेवाओं की पेशकश करने की उम्मीद करते हैं? ऐसी सेवाओं को अधिक पृथक दृष्टिकोण के माध्यम से पेश करना आसान है।
अद्यतन: आगे किरायेदारों की अपेक्षित संख्या के बारे में अद्यतन करने के लिए।
किरायेदारों की अपेक्षित संख्या (10k) को बहु-डेटाबेस दृष्टिकोण को बाहर करना चाहिए, अधिकांश के लिए, यदि सभी परिदृश्य नहीं। मुझे नहीं लगता कि आप 10,000 डेटाबेस उदाहरणों को बनाए रखने और हर दिन सैकड़ों नए बनाने के विचार को कल्पना करेंगे।
अकेले उस पैरामीटर से, यह साझा-डेटाबेस की तरह दिखता है, एकल-स्कीमा दृष्टिकोण सबसे उपयुक्त है। तथ्य यह है कि आप प्रति किराएदार के बारे में केवल 50Mb का भंडारण करेंगे, और यह कि कोई प्रति-किरायेदार ऐड-ऑन नहीं होगा, इस दृष्टिकोण को और भी अधिक उपयुक्त बनाता है।
MSDN आलेख में उपरोक्त तीन सुरक्षा पैटर्न का उल्लेख किया गया है जो साझा-डेटाबेस दृष्टिकोण के लिए सुरक्षा विचारों से निपटते हैं:
जब आप अपने एप्लिकेशन के डेटा सुरक्षा उपायों के साथ आश्वस्त होते हैं, तो आप अपने ग्राहकों को एक सर्विस लेवल एग्रीमेंट प्रदान करने में सक्षम होंगे जो डेटा सुरक्षा गारंटी प्रदान करता है। अपने SLA में, गारंटियों के अलावा, आप उन उपायों का भी वर्णन कर सकते हैं जो आप यह सुनिश्चित करने के लिए कर रहे होंगे कि डेटा से समझौता न किया जाए।
अद्यतन 2: जाहिर है कि माइक्रोसॉफ्ट के लोगों ने इस विषय के बारे में एक नया लेख बनाया / बनाया है, मूल लिंक चला गया है और यह नया है: मल्टी-टेनेंट सास डेटाबेस टेनेंसी पैटर्न (यश से लेकर केर तक)