2009-04-04 13 views
7

ऐसे अनुप्रयोगों के निर्माण में सर्वोत्तम प्रथाएं क्या हैं जो सॉफ़्टवेयर जैसे सेवा के रूप में कई किरायेदारों का समर्थन करती हैं?बहु-किरायेदारी अनुप्रयोगों के निर्माण में सर्वोत्तम प्रथाएं क्या हैं?

इस विषय पर विस्तारित सफेद कागजात के लिंक की बहुत सराहना की जाती है।

उत्तर

4

आपको ओरेन ईनी द्वारा ब्लॉग पोस्ट की एक श्रृंखला में कुछ मूल्यवान सलाह मिल सकती है।

यह शृंखला के अंतिम पदों में से एक है पिछले पोस्ट के लिंक के साथ: http://ayende.com/Blog/archive/2008/08/16/Multi-Tenancy--Approaches-and-Applicability.aspx

7

डेटाबेस के लिए:

ए एक ही डाटाबेस पर सब कुछ रखो, अपने टेबल पर एक tenant_id स्तंभ डाल

सकारात्मक: कीड़े को बहुत होने का खतरा:

विपक्ष करने के लिए आसान: एक किरायेदार से दूसरे डेटा में डेटा रिसाव करना आसान है।

बी एक ही डाटाबेस पर सब कुछ रखो, लेकिन अपने स्वयं के नाम स्थान में प्रत्येक किरायेदार डाल

पेशेवरों (PostgreSQL उन्हें स्कीमा कॉल): प्रदान करता है बेहतर डेटा विकल्प की तुलना में सुरक्षा रिसाव एक

विपक्ष: नहीं सभी डेटाबेस द्वारा समर्थित है। AFAIK PostgreSQL और ओरेकल इसका समर्थन करता है।

सी सेटअप किरायेदार

प्रति एक डेटाबेस पेशेवरों: बिल्कुल एक किरायेदार से दूसरे

विपक्ष को लीक डेटा की कोई संभावना नहीं: नई किरायेदारों की स्थापना अधिक जटिल है। डेटाबेस कनेक्शन महंगा हैं।

मैंने केवल गाय नाओर के उपरोक्त विचारों को सीखा। यहां उनकी प्रस्तुति का एक लिंक दिया गया है: http://aac2009.confreaks.com/06-feb-2009-14-30-writing-multi-tenant-applications-in-rails-guy-naor.html

+0

#B में, सभी डेटाबेस समर्थन स्कीमा, लेकिन अलग शब्दावली के साथ। MySQL में, स्कीमा और डेटाबेस समानार्थी हैं। एमएसएसक्यूएल में अब स्कीमा समर्थन भी है। उत्पादन में हमारा बहुतायत ऐप ~ 4000 (अब तक) डाटाबेस/स्कीमा के साथ MySQL पर चलता है। –

संबंधित मुद्दे

 संबंधित मुद्दे