2013-01-18 5 views
9

हमारे पास सत्र राज्य तालिकाओं को संभालने के लिए एक अलग आरडीएस इंस्टेंस है, हालांकि पाया गया कि सत्र डीबी लोड बहुत कम है। अगर हम मुख्य डीबी के रीड रेप्लिका के रूप में इंस्टेंस हैंडलिंग सत्र को कन्वर्ट कर सकते हैं, तो हम इसे केवल पढ़ने वाले कार्यों के लिए उपयोग कर सकते हैं जो कॉपी में बड़ी अंतराल के साथ भी सुरक्षित हैं।आरडीएस पर मैं एक रीड प्रतिकृति में टेबल्स बना सकता हूं जो मास्टर पर मौजूद नहीं हैं?

क्या किसी ने आरडीएस पर ऐसा कुछ किया है (क्या यह संभव और सुरक्षित है)? क्या मुझे किसी भी गंभीर साइड इफेक्ट्स के लिए देखना चाहिए? इससे बेहतर समझने में कोई लिंक या मदद मिलेगी।

http://aws.amazon.com/rds/faqs/#95 प्रश्न का उत्तर देने का प्रयास करता है लेकिन अधिक जानकारी की तलाश में हूं।

उत्तर

-1

जोड़ने के लिए बहुत कुछ नहीं है - एकमात्र सामान्य परिदृश्य जो शुद्ध पठन प्रतिकृति पर वास्तव में समझ में आता है, कुछ इंडेक्स जोड़ने जैसी चीजें हैं और जैसे कि यह मुख्य रूप से रिपोर्टिंग या कुछ और पढ़ने के लिए उपयोग की जाती है।

आप डेटा का एक बहुत पहले से गणना करने के लिए और नहीं तो क्या पढ़ा प्रतिकृति आप करने की आवश्यकता है पर है संशोधित प्रयास कर रहे हैं वास्तव में सावधान आप डेटा नहीं बदल रहे हैं - अगर पढ़ा नहीं रह गया है तो संगत है आप 'मुसीबत में] :)

यदि आप दास पर डेटा बदलते हैं और मास्टर इसे अपडेट करने का प्रयास करता है, तो आप उत्सुक हैं, तो आप पहले ही गलत पथ IMHO का नेतृत्व कर रहे हैं।

टीएल; डीआर इसे तब तक न करें जब तक कि आप वास्तव में जानते हैं कि आप क्या कर रहे हैं और आप सभी विधियों को समझते हैं।

  • और साफ, MySQL प्रतिकृति मेरे अनुभव में विचित्र हो सकता है, तो भी है क्या चाहिए होने के लिए और के रूप में मास्टर तुम भी है दास को अद्यतन डेटा लिखने की कोशिश करता है हो, तो क्या होता है यह जानकर अपडेट किया गया .... कौन जानता है।
3

हां, यह संभव है। मैं स्थानीय कैश के विशिष्ट मामले के लिए RDS का उपयोग करके सफलतापूर्वक इसका उपयोग कर रहा हूं।

आपको 0 पर अपनी प्रतिकृति पर read_only पैरामीटर सेट करने की आवश्यकता है। उस पैरामीटर को काम करने के लिए मुझे अपने सर्वर को रीबूट करना पड़ा है।

यदि विभिन्न तालिका नामों का उपयोग करते हैं तो यह अच्छी तरह से काम करने जा रहा है, क्योंकि आरडीएस आपको सेट करने की अनुमति नहीं देता है: replicate-ignore-table पैरामीटर।

याद रखें कि मास्टर <> गुलाम के बीच कोई डेटा टकराव नहीं है। यदि कोई कथन है जो MASTER पर ठीक काम करता है, लेकिन SLAVE पर विफल रहता है, तो आपने अपनी प्रतिकृति तोड़ दी है। ऐसा हो सकता है उदा। जब आपने SLAVE पर पहले टेबल बनाया है तो कुछ समय बाद आपने उस तालिका को MASTER पर जोड़ा है। CREATE कथन MASTER पर साफ काम करेगा, लेकिन SLAVE पर असफल रहा है, क्योंकि तालिका पहले से मौजूद है।

मान लीजिए, आपको वास्तव में सावधान रहना होगा, जिससे आपका आवेदन SLAVE पर लिखने की अनुमति हो। यदि आप भूल जाते हैं/या गलती करते हैं और अपने कुछ अन्य डेटा के लिए प्रतिकृति पढ़ने के लिए लिखना शुरू करते हैं, तो अंत में आप डेटा खो सकते हैं या समस्याओं को डीबग करने के लिए कड़ी मेहनत कर सकते हैं।

+0

मुझे डिलीट ऑपरेशन निष्पादित करते समय त्रुटि मिल रही है क्योंकि उपयोगकर्ता के पास केवल सभी तालिकाओं पर अनुमति है।जब मैं पढ़ने की प्रतिकृति में उपयोगकर्ता को हटाने की अनुमति दे रहा हूं तो मुझे त्रुटि मिल रही है: 'उपयोगकर्ता के लिए पहुंच अस्वीकृत ... ' रीड प्रतिकृति आरडीएस उदाहरण में कोई अनुमति कैसे दें? –

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