मैं डेटाबेस को सिंक्रनाइज़ करने के लिए SymmetricDS का उपयोग कर रहा हूं। यह नोड्स (सर्वर/डेटाबेस) के बीच डेटा को सिंक्रनाइज़ या प्रतिलिपि बनाने में सक्षम है, केवल आपके द्वारा परिभाषित डेटा को धक्का या खींच रहा है। यह जावा पर आधारित एक सॉफ्टवेयर है, इसमें सीखने की तीव्र अवस्था है, लेकिन यह वास्तव में काम करता है।
एक नोड से दो अन्य नोड्स में परिवर्तन को पुश करने के लिए SymmetricDS को सेट किया जा सकता है, इस प्रकार यह सुनिश्चित करता है कि सभी तीन नोड्स में समान डेटा है। आपको यह सुनिश्चित करने की ज़रूरत है कि प्राथमिक कुंजियाँ अद्वितीय कुंजियाँ हैं, न कि डेटाबेस द्वारा असाइन किए गए स्वतः वृद्धिशील मान क्योंकि यह उन तीन अलग-अलग डेटाबेस में एक समस्या होगी, जिन्हें आप सिंक्रनाइज़ करना चाहते हैं।
सॉफ़्टवेयर डेटाबेस पर ट्रिगर स्थापित करता है, और जब INSERT, UPDATE या DELETE (और अन्य) ऑपरेशन किए जाते हैं तो परिवर्तन कैप्चर करता है। ये डेटा परिवर्तन तब अन्य नोड्स पर लागू होते हैं। सॉफ़्टवेयर को प्रत्येक स्थान पर चलाने की आवश्यकता होती है, लेकिन इसके लिए हर समय उपलब्ध इंटरनेट कनेक्शन की आवश्यकता नहीं होती है।
मैंने शुरुआत में चिंता की थी कि मेरी सभी टेबलों पर ट्रिगर्स प्रदर्शन को धीमा कर देंगे, लेकिन यह कोई समस्या नहीं है। मैं यह नहीं कह सकता कि ट्रिगर्स स्थापित होने के बाद हमें प्रदर्शन में कोई समस्या मिली है।
http://symmetricds.org/ पर एक नज़र डालें अधिक जानकारी के लिए।