क्या मुझे प्रत्येक कंपनी के लिए एक नया डेटाबेस बनाना चाहिए?
हां - डॉन डिकिंसन पैसे पर थे। हालांकि, नीचे एक परिशोधन देखें।
या मुझे उन डेटाबेस के साथ एक डेटाबेस का उपयोग करना चाहिए जिसमें कंपनी का नाम उपसर्ग है?
लॉर्ड नो! क्लाइंट के लिए अलग-अलग के लिए अपने डेटाबेस प्रश्नों को बदलना आपको पागल हो जाएगा! साथ ही, आप लगभग निश्चित रूप से गतिशील एसक्यूएल चलाते हैं (जहां क्वेरी चलाने से पहले कोड में तालिका का नाम बदल दिया जाता है), जो प्रदर्शन को नुकसान पहुंचाएगा क्योंकि अधिकांश सर्वर क्वेरी प्लान और अंतरिम परिणामों को कैश करना चाहते हैं - यह तालिका के नामों पर काम नहीं करता है बदलते रहें।
या मैं एक प्रत्येक तालिका के साथ एक डेटाबेस का उपयोग करना चाहिए और सिर्फ तालिकाओं के लिए एक कंपनी आईडी फ़ील्ड जोड़ सकता हूँ?
यदि आप अपने ग्राहकों के लिए कुछ प्रकार के स्केलेबल मॉडल चाहते हैं तो आप ऐसा करना चाहेंगे। जबकि प्रत्येक ग्राहक के लिए एक नया डेटाबेस प्रावधान आपको बहुत लचीलापन देता है, इसमें लागत और जटिलता भी शामिल होती है। आपको एक नया बैकअप शेड्यूल बनाना होगा, समय-समय पर समाप्त होने वाले ग्राहकों से निपटने के लिए लाइफसाइक्ल मॉडल होना चाहिए।
तो, आप कह सकते हैं कि "नि: शुल्क परीक्षण" और "कांस्य" ग्राहक सभी का उपयोग कर एक डेटाबेस में लुप्त हो गए हैं आईडी उन्हें अलग करने के लिए; "चांदी" उपयोगकर्ताओं को अपना स्वयं का डेटाबेस मिलता है (लेकिन आप अभी भी स्कीमा में ग्राहक_आईडी फ़ील्ड रखते हैं, इसलिए आपको ग्राहक के दो स्तरों के बीच प्रश्नों को बदलने की ज़रूरत नहीं है), और "सोना" ग्राहकों को अपना डेटाबेस सर्वर मिलता है।
मैंने सास कंपनी में कुछ साल पहले ऐसा कुछ किया - और ग्राहक आमतौर पर बुनियादी ढांचे (पढ़ना: प्रदर्शन और लचीलापन) के साथ-साथ सुविधाओं पर अपग्रेड पथ प्राप्त करने के लिए खुश हैं।
स्रोत
2011-03-18 15:57:51
एसएएस? एक सेवा के रूप में सॉफ्टवेयर? –
आपने जो कहा है वह बहुत अस्पष्ट है। आपके आवेदन में 'कंपनी' क्या दर्शाती है? –
हाँ सेवा के रूप में सॉफ्टवेयर –