2015-12-08 8 views
5

मेरे पास वर्तमान में मोंगो में एक ईसी 2 उदाहरण चल रहा है और डेटा को डायनेमो डीबी में माइग्रेट करना चाहते हैं। क्या यह संभव है और इसे प्राप्त करने का सबसे महंगा तरीका क्या है?मोंगो डीबी से डायनेमो डीबी

+1

क्या यह संभव है? हाँ। यह करने के लिए सबसे अच्छा तरीका क्या है? इस साइट के लिए बहुत व्यापक है। –

+0

मुझे लगता है, आपको एक प्रोग्राम लिखना होगा जो आपके डेटा को डेटा डेटा प्रारूप में ले जाने के साथ, mongodb से डायनेमोडब में माइग्रेट करेगा। – Askar

उत्तर

4

जब आप डेटा माइग्रेट करने के लिए "लागत प्रभावी तरीका" मांगते हैं, तो मुझे लगता है कि आप मौजूदा तकनीकों की तलाश में हैं जो आपके जीवन को कम कर सकते हैं। यदि हां, तो आप निम्न कर सकता है: किसी पाठ फ़ाइल में

  • निर्यात अपने MongoDB डेटा, mongoexport का उपयोग कर TSV स्वरूप में कहते हैं,।
  • उस फ़ाइल को S3 में कहीं भी अपलोड करें।
  • AWS Data Pipeline का उपयोग कर S3 में, DynamoDB को इस डेटा को आयात करें।

बेशक, आपको & को यह सब करने से पहले अपनी डायनेमोडीबी तालिका स्कीमा को अंतिम रूप देना चाहिए।

3

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

फिर ऐसे डेटा प्रारूप हैं जो आपकी स्कीमा को संभाल नहीं सकते हैं। उदाहरण के लिए, सीएसवी डेटा को संभालने में बहुत अच्छा है जब यह प्रति पंक्ति एक पंक्ति है, लेकिन आप CSV में एम्बेडेड सरणी कैसे प्रस्तुत करते हैं? यह वास्तव में संभव नहीं है, जेएसओएन इस पर अच्छा है, लेकिन जेएसओएन की अपनी समस्याएं हैं।

इसका सबसे आसान उदाहरण जेएसओएन और डेटटाइम है। जेएसओएन के पास डेटटाइम मानों को संग्रहीत करने के लिए कोई विनिर्देश नहीं है, वे ISO8601 तिथियों, या शायद यूनिक्स एपोक टाइमस्टैम्प के रूप में समाप्त हो सकते हैं, या वास्तव में कोई भी डेवलपर सपना देख सकता है। लोंग्स, डबल्स, इट्स के बारे में क्या? जेएसओएन भेदभाव नहीं करता है, यह उन्हें सभी तार बनाता है, जो सटीक रूप से निराशाजनक नहीं होने पर परिशुद्धता के नुकसान का कारण बन सकता है।

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

यह आपके लिए क्या मतलब है? इसका मतलब है कि आपके लिए बहुत सारे पैर काम करते हैं। यह संभव है कि किसी ने पहले से ही कुछ ऐसा किया है जो आपके मामले के लिए पर्याप्त है, लेकिन मुझे अतीत में पता चला है कि यह आपके लिए सबसे अच्छा है।

0

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

एक अमेज़न DynamoDB डेटाबेस का उपयोग करना:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html 

कुछ प्रासंगिक भागों डाटाबेस माइग्रेशन सर्विस

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

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/1835574 9) – thewaywewere

+0

और इसमें गंभीर प्रारूपण समस्याएं भी हैं। – Stefan

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