2012-06-20 12 views
5

का उपयोग करके हेरोकू पर मल्टी-टेनेंट रेल 3 ऐप मेरे पास हेरोकू (एकाधिक खाते जो एक दूसरे के बारे में कुछ भी नहीं जानते) पर एक बहु-किरायेदार ऐप है, और मुझे यकीन है कि मेरे डेटाबेस को सर्वश्रेष्ठ आर्किटेक्ट कैसे करें। पोस्टग्रेस की स्कीमा look awesome, लेकिन उसकाोकू large numbers of them well संभाल नहीं करता है।पोस्टग्रेएसक्यूएल

अब, मेरा रेल ऐप मुख्य रूप से JSON की सेवा कर रहा है, क्योंकि अधिकांश टेम्पलेट क्लाइंट-साइड (बैकबोन.जेएस का उपयोग करके) प्रस्तुत कर रहे हैं। इसलिए मैं मोंगोडीबी में जाने पर विचार कर रहा हूं क्योंकि 1) प्रत्येक किरायेदार को एक शीर्ष स्तर का 'खाता' दस्तावेज मिल सकता है, और सबकुछ नीचे घोंसला लगाया जा सकता है और 2) इसका भंडारण प्रारूप जेएसओएन जैसा दिखता है। हम अभी भी बीटा में हैं, इसलिए इसे हटाया जा सकता है। क्या मोंगो का उपयोग करने के उन वैध कारण हैं? क्या मोंगो का उपयोग करने के लिए भी एक बुद्धिमान तरीका है?

अगर मुझे पोस्टग्रेज़ के साथ रहना था, तो क्या सब कुछ शीर्ष स्तर के खाता मॉडल (इंडेक्स के साथ) होना चाहिए? यदि हां, तो मैं जुड़ने को कैसे संभालेगा? क्या मल्टी-इंडेक्स जॉइन (कुल पोस्टग्रेस नोब) करना संभव है?

हमारे पास एक टेबल में लगभग 60k प्रविष्टियां हैं, फिर भी एक खाते में केवल 200-1000 हो सकते हैं, इसलिए मैं पूरी तालिका में शामिल होने के बारे में चिंतित हूं।

वास्तव में किसी भी मदद की सराहना करते हैं।

अद्यतन:

हम एक VPS (रैकस्पेस बादल) में जाने और postgres के स्कीमा को लागू करने समाप्त हो गया। इस कदम के साथ कोई पछतावा नहीं है क्योंकि यह अधिक हैरोकू पर तेज़ी से चलता है, और हमारे पास सर्वर का अधिक नियंत्रण होता है।

+2

जब बहु-टेनेंट कर ऐप्लिकेशन हर कोई हर किसी के बस एक खाता-तरह टेबल के नीचे सब कुछ, उस पर कोई नई बात नहीं scopes, इसे संभाल करने के लिए बहुत सरल है बहु-स्कीमा समाधान के बजाय जब आप इसे ऐसा करते हैं तो प्रतिकृति और यहां तक ​​कि sharding। जुड़ने के बारे में, यह करता है, लेकिन जुड़ाव हमेशा महंगा होता है, इससे कोई फर्क नहीं पड़ता। –

+1

इस जवाब में उत्तर देने के लिए पर्याप्त विवरण नहीं है। बस हमें बताएं कि आपके पास "बहु-किरायेदार ऐप है" यह तय करने में आपकी सहायता के लिए पर्याप्त जानकारी नहीं है कि किस प्रकार का डेटा स्टोर उपयोग करना है। या तो पूरी तरह से उपयुक्त हो सकता है। आपके पास कितने टेबल हैं? आपका डेटा कैसे "संबंधपरक" है? –

+0

@ मॉरीसिओलिंहर्स धन्यवाद। तो, बस प्रत्येक तालिका में एक खाता_आईडी जोड़ें और इंडेक्स जो आप कह रहे हैं? – kmurph79

उत्तर

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