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

क्या NoSQL डेटाबेस के लिए स्कीमा माइग्रेशन के लिए कोई उपकरण हैं?

चूंकि एक nosql डेटाबेस में बड़ी मात्रा में डेटा हो सकता है, इसलिए आप इसे नियमित rdbms सेन्स में माइग्रेट नहीं कर सकते। वास्तव में आप इसे rdbms के लिए नहीं कर सकते हैं और साथ ही जैसे ही आपका डेटा कुछ आकार सीमा से गुजरता है। किसी मौजूदा तालिका में फ़ील्ड जोड़ने के लिए अपनी साइट को एक दिन के लिए नीचे लाना अव्यावहारिक है, और इसलिए rdbms के साथ आप केवल फ़ील्ड के लिए नई तालिकाएँ जोड़ने और डेटा प्राप्त करने के लिए जॉइन करने जैसे बदसूरत पैच कर रहे हैं। nosql दुनिया में आप कई काम कर सकते हैं।

  • जैसा कि अन्य ने सुझाव दिया है कि आप अपना कोड लिख सकते हैं ताकि यह संभावित स्कीमा के विभिन्न 'संस्करणों' को संभाल सके। यह आमतौर पर सरल होता है तो ऐसा लगता है। कई प्रकार के स्कीमा परिवर्तन कोड के लिए तुच्छ हैं। उदाहरण के लिए यदि आप स्कीमा में एक नया फ़ील्ड जोड़ना चाहते हैं, तो आप इसे सभी नए रिकॉर्ड्स में जोड़ दें और यह सभी पुराने रिकॉर्ड्स पर खाली हो जाएगा (आपको "फ़ील्ड मौजूद नहीं है" त्रुटियां या कुछ भी नहीं मिलेगा;)। यदि आपको पुराने रिकॉर्ड में फ़ील्ड के लिए 'डिफ़ॉल्ट' मान की आवश्यकता है तो यह कोड में बहुत ही मामूली रूप से किया जाता है।
  • एक अन्य विकल्प और वास्तव में गैर-तुच्छ स्कीमा परिवर्तनों के साथ आगे बढ़ने वाला एकमात्र समझदार विकल्प है जैसे फ़ील्ड नाम और संरचनात्मक परिवर्तन प्रत्येक रिकॉर्ड में schema_version को संग्रहीत करना है, और पर किसी भी संस्करण से अगले संस्करण में डेटा माइग्रेट करने के लिए कोड रखना है। पढ़ें . यानी यदि आपका वर्तमान स्कीमा संस्करण 10 है और आप 7 के संस्करण के साथ डेटाबेस से एक रिकॉर्ड पढ़ते हैं, तो आपकी डीबी परत को माइग्रेट_8, माइग्रेट_9, और माइग्रेट_10 को कॉल करना चाहिए। इस तरह जो डेटा एक्सेस किया जाता है वह धीरे-धीरे नए संस्करण में माइग्रेट हो जाएगा। और अगर इसे एक्सेस नहीं किया जाता है, तो कौन परवाह करता है कि कौन सा संस्करण है;)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैट-सेव डेटा से डेटाबेस MongoDB में सेव करें

  2. MongoDB:Mapreduce:कम करें-> कई अभी तक समर्थित नहीं हैं

  3. फ्लास्क-मोंगोइंजिन में एकत्रीकरण

  4. आप मोंगोडीबी सी # सीरिएलाइज़र के साथ मूल्य प्रकारों को कैसे क्रमबद्ध करते हैं?

  5. जावा मोंगोडीबी उप दस्तावेज़ के लिए मूल्य प्राप्त कर रहा है