2011-10-10 20 views
67

हम माइस्क्ल के रूप में बैक एंड के साथ विभिन्न दुकानों पर एक जावा पीओएस एप्लिकेशन चला रहे हैं, अब मैं सर्वर में डेटाबेस में डेटाबेस में सिंक में डेटाबेस रखना चाहता हूं और जब कुछ बदलाव होते हैं दुकान को सर्वर पर अपडेट किया जाना चाहिए। मुझे यह कैसे हासिल होगा ? कृपया मेरी मदद करेंदो डेटाबेस के बीच MySQL डेटाबेस सिंक

+7

mysql प्रतिकृति: http://dev.mysql.com/doc/refman/5.0/en/replication.html –

+0

क्या यह करना आसान है ?? आपको लगता है कि यह कब तक लगेगा ?? – peedee

+2

@peedee MySQL प्रतिकृति सेट अप करना बहुत आसान है। कुछ आदेश और प्रारंभिक सिंक। मुझे पहली बार लगभग 30 मिनट लग गए। – ceejayoz

उत्तर

56

प्रतिकृति बनाना बहुत कठिन नहीं है।

यहाँ कुछ अच्छी ट्यूटोरियल:

http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/

http://www.ghacks.net/2009/04/09/set-up-mysql-database-replication/

http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html

http://www.lassosoft.com/Beginners-Guide-to-MySQL-Replication

यहाँ कुछ सरल नियमों को ध्यान में रखना होगा (वहाँ निश्चित रूप से अधिक है, लेकिन यह मुख्य अवधारणा है):

  1. डेटा लिखने के लिए सेटअप 1 सर्वर (मास्टर)।
  2. डेटा पढ़ने के लिए 1 या अधिक सर्वर (दास) सेट अप करें।

इस तरह, आप त्रुटियों से बचेंगे।

उदाहरण के लिए: यदि आपकी स्क्रिप्ट मास्टर और दास दोनों पर एक ही सारणी में डाली जाती है, तो आपके पास डुप्लिकेट प्राथमिक कुंजी संघर्ष होगा।

आप "गुलाम" को "बैकअप" सर्वर के रूप में देख सकते हैं जो मास्टर के समान जानकारी रखता है लेकिन डेटा सीधे नहीं जोड़ सकता है, केवल मास्टर सर्वर निर्देशों का पालन करें।

नोट: बेशक आप मास्टर से पढ़ सकते हैं और आप दास को लिख सकते हैं लेकिन सुनिश्चित करें कि आप एक ही टेबल (दास के स्वामी और मास्टर के दास) को नहीं लिखते हैं।

मैं यह सुनिश्चित करने के लिए अपने सर्वर की निगरानी करने की अनुशंसा करता हूं कि सब कुछ ठीक है।

आप

+0

हां, दुकान = मास्टर, सर्वर = दास –

+0

मैंने अब मास्टर को कॉन्फ़िगर किया है और मैं एक गुलाम डेटाबेस से कनेक्ट करने जा रहा हूं .. जब मैं ऐसा करता हूं, तो मास्टर में कोई भी परिवर्तन दास में प्रतिबिंबित होगा और इसमें परिवर्तन होगा दास भी मास्टर को प्रतिबिंबित करता है ?? – peedee

+0

हाँ ठीक है अगर सेटअप अच्छा है! आप मास्टर में एक रिकॉर्ड डाल सकते हैं और परीक्षण करने के लिए दास में एक चयन कर सकते हैं। अगर वह पास हो जाता है, तो आप सेट हो जाते हैं! –

18

तीन अलग अलग दृष्टिकोण अतिरिक्त मदद की जरूरत है मुझे जानते हैं:

  1. क्लासिक क्लाइंट/सर्वर दृष्टिकोण: दुकानों में किसी भी डेटाबेस डाल नहीं है, बस एप्लिकेशन को आपके सर्वर तक पहुंचें। बेशक यह बेहतर है कि यदि आप वीपीएन सेट करते हैं, लेकिन बस एसएसएल या एसएसएच में कनेक्शन लपेटना उचित है। प्रो: इस तरह डेटाबेस को मूल रूप से सोचा गया था। कॉन: यदि आपके पास उच्च विलंबता है, तो जटिल संचालन धीमा हो सकता है, आपको गोल यात्राओं की संख्या को कम करने के लिए संग्रहीत प्रक्रियाओं का उपयोग करना पड़ सकता है।

  2. प्रतिकृति मास्टर/मास्टर: जैसा कि ज़ीउस के @Book ने सुझाव दिया था। विपक्ष: सेटअप के लिए कुछ और जटिल (विशेष रूप से यदि आपके पास कई दुकानें हैं), किसी भी दुकान मशीन में तोड़ने से पूरी प्रणाली समझौता हो सकती है। पेशेवर: पढ़ने के संचालन के रूप में बेहतर उत्तरदायित्व पूरी तरह से स्थानीय हैं और लिखने के संचालन को असंकालिक रूप से प्रचारित किया जाता है।

  3. ऑफलाइन ऑपरेशंस + सिंक चरण: सभी स्थानीय रूप से और समय-समय पर काम करते हैं (एक बार एक घंटे, दैनिक, साप्ताहिक, जो कुछ भी हो) अंतिम सिंक ऑपरेशन से सभी नए/संशोधित रिकॉर्ड के साथ सारांश लिखें और भेजें सर्वर। पेशेवर: नेटवर्क के बिना काम कर सकते हैं, तेजी से, जांचना आसान है (यदि सारांश पठनीय है)। विपक्ष: आपके पास वास्तविक समय की जानकारी नहीं है।

+6

मुझे तीसरे प्रकार के डीबी सिंक (ऑफलाइन ऑपरेशंस + सिंक) को सेट करने की आवश्यकता है, इस पर और अधिक पढ़ना अच्छा लगेगा। इसे बाहर करने में सक्षम नहीं है। क्या उनकी एक पुस्तक/आलेख मैं देख सकता हूं? – abhishek77in

1

MySQL के लिए dbForge स्टूडियो में Schema and Data Comparison tools पर एक नज़र डालें। ये टूल आपको अंतर देखने, एक सिंक्रनाइज़ेशन स्क्रिप्ट उत्पन्न करने और दो डेटाबेस सिंक्रनाइज़ करने में मदद करने में मदद करेंगे।

6

सममित शब्द उत्तर है। यह एक दिशा या द्वि-दिशात्मक एसिंक्रोनस डेटा प्रतिकृति के साथ कई ग्राहकों का समर्थन करता है। यह वांछित वास्तविक समय में रिलेशनल डेटाबेस के बीच तालिकाओं को दोहराने के लिए वेब और डेटाबेस तकनीकों का उपयोग करता है।

आपकी आवश्यकताओं के अनुरूप व्यापक और मजबूत जावा एपीआई।

+0

यदि उत्पाद विवरण जो भी कहते हैं उस पर निर्भर रहते हैं तो यह उत्पाद अद्भुत है ... – TheStoryCoder

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