Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

iOS - कोर डेटा और सर्वर डेटाबेस सिंक्रोनाइज़ेशन सर्वोत्तम अभ्यास

मैं फोन पर कोर डेटा रिकॉर्ड और सर्वर पर MySQL टेबल दोनों पर डेटाबेस में अंतिम संशोधित टाइमस्टैम्प संग्रहीत करता हूं।

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

प्रदर्शन एक मुद्दा है जब बहुत सारे रिकॉर्ड बदल गए हैं। मैं पृष्ठभूमि एनएसओपियरशन पर सिंक करता हूं जिसमें इसका स्वयं का प्रबंधित ऑब्जेक्ट संदर्भ होता है। जब बैकग्राउंड थ्रेड ने अपने प्रबंधित ऑब्जेक्ट संदर्भ में परिवर्तन करना समाप्त कर दिया है, तो सभी परिवर्तनों को मुख्य थ्रेड के प्रबंधित ऑब्जेक्ट संदर्भ में मर्ज करने के लिए एक एपीआई है - जिसे किसी भी संघर्ष के कारण होने पर सभी परिवर्तनों को आसानी से फेंकने के लिए कॉन्फ़िगर किया जा सकता है सिंक चालू होने पर उपयोगकर्ता डेटा बदल रहा है। उस स्थिति में, मैं बस कुछ सेकंड प्रतीक्षा करता हूं और फिर से समन्वयन करने का प्रयास करता हूं।

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

(वैसे, जब मैंने कहा "बहुत सारे रिकॉर्ड बदल गए हैं" मेरा मतलब 30,000 या तो पंक्तियों को अपडेट किया जा रहा है या फोन पर डाला जा रहा है)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं पायथन के साथ MySQL डेटाबेस में NULL डेटा कैसे सम्मिलित कर सकता हूँ?

  2. max_connections का वास्तव में क्या अर्थ है?

  3. ग्रुप बाय से पहले MySQL ऑर्डर

  4. CONV () - MySQL में विभिन्न आधारों के बीच संख्याओं को परिवर्तित करें

  5. mysql में टाइमस्टैम्प प्रारूप कैसे बदलें?