2013-02-15 17 views
24

पोस्टग्रेज़ का उपयोग करके एक बहु किरायेदार के समाधान को लागू करते समय मुझे एक उत्तरदायी डेटाबेस में अधिकतम स्कीमा कितनी रह सकती है, इस पर एक जवाब की आवश्यकता थी।पोस्टग्रेज़ में कितने स्कीमा बनाए जा सकते हैं

+0

मैं इस प्रश्न को एक संभावित डिजाइन दोष का संकेत मानता हूं। निश्चित रूप से आप क्लाइंट को इंगित करने वाले कॉलम के साथ एक डेटाबेस का उपयोग कर सकते हैं। – Bohemian

+8

एक ही स्कीमा सेटअप में टेबल पर क्लाइंट कॉलम जोड़ने के साथ ही कई स्कीमा का उपयोग करने के लिए डिज़ाइन प्लस और माइनस हैं। AKA यह मेरी राय में इतना काला और सफेद नहीं है। – Kuberchaun

+3

मुझे निश्चित रूप से वह विकल्प था, लेकिन मैंने इसे अपनाया, पोस्टग्रेज़ में कई स्कीमा के लिए बहुत शक्तिशाली विशेषता है, हमें कोडिंग में प्रयास बढ़ाने और प्रत्येक क्वेरी से पहले विशिष्ट क्लाइंट की तलाश करने के बजाय निश्चित रूप से इसके लिए जाना चाहिए। –

उत्तर

29

हमने हजारों स्कीमा का परीक्षण किया - समस्या के बिना हजारों तालिकाओं के साथ। धीमी गति से होने के कारण प्रारंभ पर एक पूरी वस्तु पेड़ पढ़ शुरू, pg_dump साथ

  • समस्याओं - - बैकअप की धीमी शुरुआत - वस्तुओं लॉक करने के लिए समय की बहुत जरूरत है कुछ ज्ञात समस्याओं जीयूआई प्रशासन के साथ

    • समस्याएं हैं।
  • +0

    अपने अनुभव को साझा करने के लिए धन्यवाद! जब आप "हजारों" कहते हैं, तो लगभग मूल्य क्या है? –

    +4

    @MarcioSimao - लगभग दस हजार। अब दो साल बाद, असली सीमा प्रशासन और बैकअप के लिए बुनियादी उपकरण में है। pg_dump, pg_restore में समस्या हो सकती है जब एक लेनदेन में संसाधित वस्तुओं की संख्या 20000 से अधिक वस्तुओं से बड़ी होती है। एक और समस्या बहुत बड़ी स्कीमा में कैश फूली हुई है। Postgres प्रति डेटाबेस स्थानीय कैश में बहुत सारे डेटा रखती है। जब आप बड़े स्कीमा पर कनेक्शन का पुन: उपयोग करते हैं, तो यह कैश बहुत बड़ा और कभी-कभी धीमा हो सकता है - लेकिन यह पूलर sw पर निर्भर करता है। Pgbouncer या pgpool की तरह उपलब्ध sw बहुत स्मार्ट नहीं है :( –

    +1

    @PavelStehule आपने pg_dump समस्या को कैसे ठीक किया? कोई सुझाव? मुझे एक ही समस्या का सामना करना पड़ रहा है। –

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