मुझे समय-समय पर mysql 5.1 में टेबलों में बदलाव करने की आवश्यकता होती है, ज्यादातर कॉलम जोड़ते हैं। परिवर्तन तालिका आदेश के साथ बहुत सरल है। लेकिन मेरी टेबल में अभी 40 मिलियन पंक्तियां हैं और वे तेजी से बढ़ रहे हैं ... इसलिए उन परिवर्तन तालिका आदेशों में कई घंटे लगते हैं। एक दो महीने में वे दिन लगेंगे जिसका मैं अनुमान लगा रहा हूँ।
जब से मैं अमेजन आरडीएस का उपयोग कर रहा हूं, मेरे पास दास सर्वर के साथ खेलने और फिर मास्टर को बढ़ावा देने के लिए नहीं हो सकता है। तो मेरा सवाल यह है कि क्या न्यूनतम डाउनटाइम के साथ ऐसा करने का कोई तरीका है? मुझे यह मानने में कोई दिक्कत नहीं है कि घंटों या दिनों तक भी अगर उपयोगकर्ता अभी भी db का उपयोग कर सकते हैं ... क्या वे कम से कम पढ़ सकते हैं जबकि कॉलम जोड़े जा रहे हैं? यदि मेरा ऐप लिखने की कोशिश करता है तो क्या होगा? डालें या अपडेट करें? अगर यह तुरंत विफल हो जाता है कि वास्तव में इतना बुरा नहीं है, अगर यह सिर्फ लटका और डीबी सर्वर के लिए समस्या है कि एक बड़ी समस्या है ..
यह एक काफी सामान्य स्केलिंग मुद्दा होना चाहिए, सभी को कॉलम जोड़ने की आवश्यकता है .. आमतौर पर उत्पादन डीबी के लिए क्या किया जाता है? दास -> मास्टर प्रवास?
अपडेट - मैं उल्लेख करना भूल गया कि मैं इनोडब भंडारण इंजन का उपयोग कर रहा हूं