2008-10-10 11 views
13

मैं यह जानने की उम्मीद कर रहा हूं कि कौन से टूल्स लोग डेटाबेस के बीच डेटा सिंक्रनाइज़ करने के लिए उपयोग करते हैं। मैं एक जेडीबीसी समाधान की तलाश में हूं जिसे कमांड लाइन उपकरण के रूप में इस्तेमाल किया जा सकता है।डेटा स्रोतों के सिंक्रनाइज़ेशन के लिए आप किस जेडीबीसी उपकरण का उपयोग करते हैं?

सिंक 4 जे नामक एक उपकरण होता था जो सिंकएमएल ढांचे का उपयोग करता था लेकिन ऐसा लगता है कि यह रास्ते के किनारे गिर गया है।

उत्तर

7

मैंने सुना है कि डीबी 4 ओ द्वारा प्रदान की गई डेटा प्रतिकृति सेवा वास्तव में अच्छी है। यह आपको एक RDBMS पर वापस करने के लिए हाइबरनेट उपयोग करने के लिए अनुमति देता है - मैं इसे यद्यपि (http://www.db4o.com/about/productinformation/drs/Default.aspx?AspxAutoDetectCookieSupport=1)

एक ओपन सोर्स प्रोजेक्ट हलका पीला रंग कहा जाता है JDBC का समर्थन करता है नहीं लगता है, लेकिन मैं यह बिल्कुल जांच नहीं की। (https://daffodilreplicator.dev.java.net/)

एक मैं वर्तमान में उपयोग कर पर विचार कर रहा हूँ कहा जाता है SymmetricDS (http://symmetricds.sourceforge.net/)

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

विकिपीडिया विभिन्न तकनीकों का एक अच्छा अवलोकन प्रदान करता है (http://en.wikipedia.org/wiki/Multi-master_replication) और यह एक और वैकल्पिक डीबीआरप्लिकेटर (http://dbreplicator.org/) का एक लिंक भी प्रदान करता है।

2

यदि आपके पास एक मॉडल और डीएओ परत है जो पहले से ही आपके कोडबेस के लिए मौजूद है, तो आप बस अपना स्वयं का सिंक फ्रेमवर्क बना सकते हैं, यह मुश्किल नहीं है।

कॉपी डेटा के रूप में सरल है के रूप में:

  1. एक
  2. निकालें डेटाबेस मेटाडाटा (UUID, आदि) डेटाबेस से एक वस्तु डेटाबेस बी में
  3. डालने

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

हालांकि शायद वहां कुछ उपकरण मौजूद हैं जो इस कार्यान्वयन के बिना किसी भी कार्यान्वयन के हैं, और प्रत्येक कार्यान्वयन वैसे भी व्यावसायिक आवश्यकताओं के आधार पर अलग होगा। डेटाबेस स्तर के अलावा प्रतिकृति उपकरण भी होंगे।

+0

विचारशील उत्तर के लिए धन्यवाद। इस समय मेरे पास एक रोल-आपकी स्वयं की सिंकिंग रणनीति है और मैं इसे और अधिक सामान्य के साथ बदलना चाहता हूं। –

2

सही सिंक्रनाइज़ेशन के लिए कुछ डेटा की आवश्यकता होती है जो मुझे आशा है कि आपकी डेटाबेस स्कीमा है (आप सिंकएमएल दस्तावेज़ को पढ़ सकते हैं कि वे कैसे आगे बढ़ते हैं)। सिंक 4 जे आपको बहुत मदद नहीं करेगा, यह वास्तव में उच्च स्तर और एक्सएमएल उन्मुख है। यदि आप किसी भी विवाद की पुष्टि नहीं करते हैं (जिसका अर्थ है: वास्तव में आसान सिंक्रनाइज़ेशन), तो आप Enhydra Octopus जैसे हल्के ईटीएल के साथ प्रयास कर सकते हैं।

0

मैं मुख्य रूप से इस समय ओरेकल उपयोग कर रहा हूँ, और सबसे पूर्ण विशेषताओं मार्ग मैं का सामना करना पड़ा लाल गेट की डेटा है की तुलना करें:

http://www.red-gate.com/products/oracle-development/data-compare-for-oracle/

यह पुराने ब्लॉग का एक अच्छा सारांश देता है उपलब्ध समाधान मार्गों:

http://www.novell.com/coolsolutions/feature/17995.html

JDBC विशेष प्रसाद मैं का सामना करना पड़ा बहुत ही बुनियादी किया गया है। समाधान Aidos ने उल्लेख किया सबसे सुविधा पूरा लगता है अगर आप प्रकाशित: सदस्य बनने के मार्ग नीचे जाना चाहता हूँ:

http://symmetricds.codehaus.org/

आशा इस मदद करता है।

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

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