MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

जावा ड्राइवर के साथ MongoDB में स्कीमा परिवर्तन को संभालने का उचित तरीका

मुझे लगता है कि आपने ईमानदारी से सबसे सरल उत्तर पर पहले ही संकेत कर दिया है।

सबसे पहले, नए और पुराने दोनों प्रकार के स्कीमा को संभालने के लिए अपनी डेटा एक्सेस लेयर को अपडेट करें:चीजों को सिंक में रखने के लिए इंसर्ट और अपडेट को नए और पुराने दोनों को अपडेट करना चाहिए। क्वेरीज़ को केवल पुराने स्कीमा को देखना चाहिए क्योंकि यह इस समय रिकॉर्ड का स्रोत है।

फिर सभी डेटा को पुराने से नए स्कीमा में कॉपी करें।

फिर नए डेटा को क्वेरी करने के लिए डेटा एक्सेस को अपडेट करें। यह पुराने डेटा को अपडेट रखेगा, लेकिन कोई भी बदलाव करने से पहले नए डेटा के पूर्ण परीक्षण की अनुमति देगा जिसके परिणामस्वरूप डेटा के दो सेट सिंक से बाहर हो जाएंगे। यह रोलिंग अपडेट को सुविधाजनक बनाने में भी मदद करेगा (यानी नए और पुराने डेटा एक्सेस कोड वाले एप्लिकेशन अभी भी एक ही समय में काम करेंगे।

अंत में, केवल नए स्कीमा तक पहुंचने के लिए डेटा एक्सेस लेयर को अपडेट करें और फिर पुराने डेटा को हटा दें।

इस अंतिम चरण को छोड़कर, यदि आपको कोई समस्या आती है तो आप हमेशा पिछले संस्करण में वापस आ सकते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग मोंगोडब कंपास बनाया गया डेटा/संग्रह गायब है

  2. उप-दस्तावेजों के आधार पर मोंगोडब क्वेरी परिणामों को कैसे क्रमबद्ध करें

  3. क्या मैं एक मोंगो शैल जावास्क्रिप्ट फ़ाइल के अंदर एक सीएसवी फ़ाइल पढ़ सकता हूं?

  4. MongoDB शेल में ISODate में दिन जोड़ना/घटाना

  5. किसी दस्तावेज़ फ़ील्ड में संग्रहीत सरणी पर पृष्ठ पर अंक लगाना