7

में समांतर/रिडंडेंट प्रतिकृति मेरे पास एकाधिक कॉच डीबी सर्वर हैं जो मैं एक-दूसरे के साथ समन्वयित रखना चाहता हूं, और मैं इन फ़ाइलों का उपयोग बड़ी फ़ाइलों (उदा।> 100 एमबी) साझा करने के लिए करता हूं। उन्हें सिंक्रनाइज़ करने के लिए, मेरे पास प्रत्येक कॉच डीबी उदाहरण एक दूसरे से उदाहरण के लिए लगातार खींच प्रतिकृति करता है।कॉच डीबी

यहाँ एक उदाहरण है:

------- <------------- ------- 
| A | -------------> | B | 
-------    ------- 
^|     |^
    | |     | | 
    | V     | | 
------- <---------------- | 
| C | ------------------- 
------- 

किसी व्यक्ति ने एक दस्तावेज़ सर्वर एक करने के लिए एक साथ अपलोड करता है: मैं तीन CouchDB सर्वर ए, बी, & सी है, जो सभी एक दूसरे से निरंतर पुल अनुकरण है, तो के रूप में है 500 एमबी लगाव बी और सी दोनों एक से दस्तावेज़ नकल शुरू करते हैं, और बी प्रतिकृति खत्म होने से पहले सी करता है:

------- doc   ------- 
| A |--------------->| B | 
-------    ------- 
    | 
    | doc 
    V 
------- 
| C | 
------- 

मेरे सवाल है, सी तो (बी से एक ही दस्तावेज़ नकल के बाद से सी भी एक सतत है शुरू कर देंगे बी से प्रतिकृति खींचें), जबकि यह अभी भी ए से दस्तावेज़ स्थानांतरित कर रहा है?

-------    ------- 
| A |    | B | 
-------    ------- 
    |   doc   | 
doc| |------------------ 
    | | 
    V V 
    ------- 
    | C | 
    -------       

मुझे लगता है कि इस, क्या होगा AFAIK के बाद से, CouchDB प्रतिकृति वास्तव में दोहराया दस्तावेजों लक्षित करने के लिए दस्तावेजों (अनुलग्नक सहित) जब तक (_bulk_docs एपीआई का उपयोग कर) की दुकान नहीं है से पूरी तरह से प्राप्त किया गया किया गया है स्रोत [1]। मैं इस बारे में चिंतित हूं क्योंकि यह अनावश्यक और बैंडविड्थ का एक बड़ा अपशिष्ट होगा।

[1] https://github.com/couchbaselabs/TouchDB-iOS/wiki/Replication-Algorithm

+0

क्या आपने अभी तक प्रतिकृति के लिए बिगकच देखा है? इसे मैन्युअल रूप से करने की ज़रूरत नहीं है। – ryan1234

+0

मैंने बिगकच को देखा है, हालांकि मैं उन मोबाइल उपकरणों के साथ मोबाइल एड-हाॉक नेटवर्क बना रहा हूं जो आते हैं और जाते हैं। बिगकॉच के लिए AFAIK, आपको क्लस्टरिंग और प्रतिकृति के लिए सबकुछ स्थिर रूप से सेट करना होगा। लेकिन सुझाव के लिए धन्यवाद! –

+0

मैं बिगकच और मोबाइल डिवाइस के साथ एक प्रोजेक्ट पर काम कर रहा हूं जो क्लस्टर से कनेक्ट हो सकता है और यह बहुत अच्छा काम करता है। विचार यह है कि आप मोबाइल डिवाइस पर कॉचबेस मोबाइल (या टचडीबी) डालते हैं और फिर आपके पास लोड बैलेंसर के पीछे बिगकच मशीनों का समूह होता है। डिवाइस कनेक्ट और संदर्भ डेटाबेस और डेटा को दोहराया जाता है। लेकिन शायद आपका उपयोग मामला थोड़ा अलग है। – ryan1234

उत्तर

1

एक recent discussion on the CouchDB [email protected] list करने और प्रतिकृति this document describing the replication algorithm के अनुसार जानता है जो लगाव पहले से ही लक्ष्य पर मौजूद है। यदि, हालांकि, अनुलग्नक बहुत बड़े हैं और दोनों समाप्त होने से पहले दोनों सिरों को दोहराने लगते हैं, तो संलग्नक कई बार स्थानांतरित हो जाएगा।