मुझे स्टैकओवरफ़्लो पॉडकास्ट से याद आया कि फॉग क्रीक फोगबुगज़ के लिए प्रति ग्राहक एक डेटाबेस का उपयोग करता है । मेरा मानना है कि फोगबुग ऑन डिमांड सर्वर के 10s हजारों डेटाबेस हैं।
हम बस एक वेब ऐप विकसित करना शुरू कर रहे हैं और इसे हल करने के लिए एक समान समस्या है (बहुत से ग्राहक अपने स्वयं के पृथक डेटा के साथ)।
प्रति ग्राहक एक डेटाबेस का उपयोग करने के साथ मुझे क्या समस्याएं चाहिए? मैं उन्हें कैसे हल कर सकता हूं?
मेरा प्रारंभिक विचार
प्रति ग्राहक डेटाबेस का लाभ
- सरल डेटाबेस स्कीमा
- सरल बैकअप - आप वास्तव में अन्य ग्राहकों पर प्रभाव डाले बिना बदले में प्रत्येक ग्राहक का बैकअप ले सकते हैं।
- किसी दिए गए ग्राहकों का डेटा निर्यात करना आसान बनाता है।
- बेहतर कैश प्रदर्शन - अधिक सक्रिय तालिकाओं में से एक को केवल उस ग्राहक को प्रभावित करता है जिसने लेखन किया था।
- हार्डवेयर में बड़े पैमाने पर आसान। उदाहरण के लिए, जब हमें 1 से 2 सर्वरों पर जाने की आवश्यकता होती है, तो हम अपने आधे ग्राहकों को नए सर्वर पर ले जाते हैं।
नुकसान
- क्या MySQL 5,000 डेटाबेस से सामना कर सकता है? प्रदर्शन चूसना होगा?
- स्कीमा में परिवर्तन सभी डेटाबेस में दोहराए जाने के लिए कठिन हो सकता है। हमें वास्तव में इसके लिए एक स्वचालित योजना बनानी होगी, जैसे स्कीमा और एक स्क्रिप्ट को समझना जो एक डेटाबेस को दूसरे संस्करण से लेने के तरीके को समझती है।
- ऐसा कुछ भी करना जो हमारे सभी ग्राहकों के लिए सामान्य है, अजीब या असंभव हो सकता है
- ऊपर भी ऐसा ही है, लेकिन हम अपने सभी ग्राहकों के लिए जो भी विश्लेषण करना चाहते हैं, वह असंभव हो सकता है। हमें उदाहरण के लिए सभी ग्राहकों के उपयोग को कैसे ट्रैक करना चाहिए?
USE CompanyData;