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