আমি বর্তমানে ঠিক একই প্রয়োজনীয়তা এবং সমস্যাগুলি নিয়ে একটি মোবাইল / ডেস্কটপ / বিতরণ অ্যাপ্লিকেশনটিতে কাজ করছি।
প্রথমত, এই প্রয়োজনীয়তাগুলি প্রতি সেপ্টেম্বর মোবাইল অ্যাপসের অন্তর্নিহিত নয়, তবে কোনও সংযোগ বিচ্ছিন্ন / বিতরণ ক্লায়েন্ট-সার্ভার লেনদেনের জন্য (সমান্তরাল প্রোগ্রামিং, মাল্টিথ্রেডিং, আপনি পয়েন্টটি পান)। এগুলি অবশ্যই মোবাইল অ্যাপ্লিকেশনগুলিতে সম্বোধন করার জন্য সাধারণ সমস্যা।
সাধারণত, এগুলি কীভাবে ফুটে উঠেছে তা হ'ল আপনার একটি সম্ভাব্য ডেটা রেকর্ড রয়েছে যা এন ক্লায়েন্টগুলিতে বিতরণ করা হয়েছে, যারা একই সময়ে এটি সম্পাদনা করতে পারে। আপনার যা দরকার তা হ'ল
- একটি সঠিক সংস্করণ নিয়ন্ত্রণ / লকিং প্রক্রিয়া,
- একটি সঠিক অধিকার / অ্যাক্সেস পরিচালনা,
- একটি সঠিক সিঙ্ক্রোনাইজেশন / ক্যাশিং কৌশল
(1) এর জন্য আপনি কিছু নিদর্শন প্রয়োগ করতে পারেন: দুটি ঘন ঘন ব্যবহৃত লক কৌশল আছে: আশাবাদী অফলাইন লকিং , এবং নিরাশাবাদী অফলাইন লকিং । এর মধ্যে কিছুগুলি বিভিন্ন সংস্করণ নিয়ন্ত্রণ "নিদর্শনগুলিতে" প্রয়োগ করা হয় যেমন মাল্টি ভার্সন কনকুরન્સી নিয়ন্ত্রণ (এমভিসিসি), যা প্রতিটি ডেটা রেকর্ডের জন্য একটি কাউন্টার (একটি খুব সাধারণ "টাইম স্ট্যাম্পের ধরণের সাজানোর") ব্যবহার করে থাকে, যা রেকর্ড পরিবর্তিত হলে আপডেট হয় ।
(২) এবং (৩) এগুলি নিজেই খুব বিস্তৃত ইস্যু, যার (১) এর স্বাধীনভাবে মোকাবিলা করা দরকার। আমার অভিজ্ঞতা থেকে কিছু পরামর্শ:
একটি ক্লায়েন্ট-সার্ভার প্রযুক্তি ব্যবহার করুন যা আপনার জন্য বেশিরভাগ সমস্যার সমাধান করে। আমি কাউচডিবি এর মতো কয়েকটি ওয়েব প্রযুক্তির সুপারিশ করছি , যা অপটিমাস্টিক অফলাইন লকিং + এমভিসিসি, (2) ওয়েব এপিআইয়ের মাধ্যমে, এবং (3) এইচটিপি কেচিংয়ের মাধ্যমে খুব ভালভাবে পরিচালনা করে।
আপনি যদি প্রমাণিত প্রযুক্তি এবং পদ্ধতির উপর নির্ভর করতে পারেন তবে নিজেকে জিনিস আবিষ্কার না করার চেষ্টা করুন। আমি বিশ্বাস করি যে বিদ্যমান প্রযুক্তি / নিদর্শনগুলির গবেষণা এবং তুলনা করতে ব্যয় করা কোনও ঘন্টা আপনার নিজের সিস্টেম (গুলি) বাস্তবায়নের চেষ্টা করার চেয়ে অনেক ভাল ব্যয় হয়েছে।
সম্ভব হলে একজাতীয় প্রযুক্তি ব্যবহার করার চেষ্টা করুন। "সমজাতীয়" দ্বারা আমি বোঝাচ্ছি এমন প্রযুক্তিগুলি যা একই নীতিগুলি মাথায় রেখে তৈরি করা হয়েছে, যেমন ওয়েব ২.০ ব্যবহারের পরিস্থিতি scen একটি উদাহরণ: স্থানীয় অ্যাপ্লিকেশনগুলির জন্য এসকিউএল ব্যবহার করার চেয়ে একটি স্থানীয় কাউচিং কৌশল সহ একটি উপযুক্ত কাউচডিবি এবং আরএসটি ক্লায়েন্ট (ওয়েব এপিআই) ব্যবহার করা ভাল পছন্দ।
আমি মাইএসকিউএল ব্যবহারের বিরুদ্ধে দৃ strongly়ভাবে পরামর্শ দিচ্ছি কারণ এটি এমন একটি প্রযুক্তি যা স্পষ্টভাবে এই ধরনের ব্যবহারের পরিস্থিতিতে তৈরি করা হয়নি। এটি কাজ করে, তবে আপনি ইতিমধ্যে ওয়েব যোগাযোগ এবং সম্মতি শৈলীর (যেমন অনেক নুএসকিউএল ডেটাবেস) আলিঙ্গন করে এমন একটি ডাটাবেস সিস্টেমের চেয়ে অনেক ভাল।
যাইহোক, আমি কাউচডিবি এপিআইগুলির বিরুদ্ধে কাজ করে এমন একটি কাস্টম স্থানীয় ক্লায়েন্টের সাথে কাউচডিবিতে স্থির হয়েছি, যা সুন্দরভাবে কাজ করে এবং স্কেল করে। আমি এমএসকিউএল + (এন) হাইবারনেট ব্যবহার করা থেকে স্যুইচ করেছি এবং প্রথমদিকে সঠিক পছন্দ না করার অর্থ (যথেষ্ট গবেষণা না করা) এর জন্য একটি উচ্চ মূল্য প্রদান করেছি।