ডাটাবেসের পরিপ্রেক্ষিতে, "লকিং" বলতে বোঝায় একটি প্রক্রিয়া যা ভাগ করা সম্পদগুলিতে সমসাময়িক অ্যাক্সেস নিয়ন্ত্রণ করার জন্য নিযুক্ত করা হয়, সাধারণত একাধিক লেনদেন বা ক্রিয়াকলাপের মধ্যে ধারাবাহিকতা, নির্ভরযোগ্যতা এবং বিচ্ছিন্নতা নিশ্চিত করার জন্য। লকিং একাধিক ব্যবহারকারীকে একই সাথে ডেটার একটি নির্দিষ্ট অংশে বিরোধপূর্ণ পরিবর্তন করতে বাধা দেয়, যার ফলে অসঙ্গতি বা অনিচ্ছাকৃত ডেটা দুর্নীতির সম্ভাবনা হ্রাস পায়। এটি ডাটাবেস ম্যানেজমেন্ট সিস্টেমের (DBMS) একটি মৌলিক ধারণা এবং আধুনিক অ্যাপ্লিকেশন এবং সিস্টেমে ডেটা অখণ্ডতা এবং লেনদেনের ধারাবাহিকতা বজায় রাখার জন্য গুরুত্বপূর্ণ।
লকিং একটি ডাটাবেস সিস্টেমে বিভিন্ন স্তরে ঘটতে পারে, যেমন সারি-স্তরের লকিং, পৃষ্ঠা-স্তরের লকিং, টেবিল-স্তরের লকিং, এমনকি ডাটাবেস-স্তরের লকিং। দানাদার নিয়ন্ত্রণ এবং সম্ভাব্য বিবাদ বা ওভারহেডের মধ্যে ট্রেড-অফ সহ প্রতিটি স্তরের তার সুবিধা এবং অসুবিধা রয়েছে। সারি-স্তরের লকিং সর্বোত্তম গ্র্যানুলারিটি অফার করে, একাধিক ব্যবহারকারীকে একই টেবিলে একই সাথে এবং স্বাধীনভাবে বিভিন্ন সারি অ্যাক্সেস করার অনুমতি দেয়, তবে এর জন্য আরও উল্লেখযোগ্য সংস্থান এবং ব্যবস্থাপনা ওভারহেডের প্রয়োজন হতে পারে। বিপরীতে, টেবিল-স্তরের লকিং একটি সম্পূর্ণ টেবিলে অ্যাক্সেস সীমাবদ্ধ করে, কম গ্রানুলারিটি প্রদান করে তবে সম্ভাব্য নিম্ন ওভারহেডগুলি প্রদান করে।
বিভিন্ন ধরনের লকিং মেকানিজম বিদ্যমান, যেমন শেয়ার্ড লক, এক্সক্লুসিভ লক এবং আপডেট লক। শেয়ার্ড লক (পঠিত লক নামেও পরিচিত) একাধিক লেনদেনকে একসাথে একটি শেয়ার্ড রিসোর্স পড়ার অনুমতি দেয় কিন্তু লক করা রিসোর্স পরিবর্তন করা থেকে কোনো লেনদেন প্রতিরোধ করে। এক্সক্লুসিভ লকগুলি (যেটি রাইট লক নামেও পরিচিত) নিশ্চিত করে যে শুধুমাত্র একটি লেনদেন একবারে লক করা সংস্থান অ্যাক্সেস এবং সংশোধন করতে পারে। আপডেট লকগুলি ব্যবহার করা হয় যখন একটি লেনদেন একটি সংস্থান পরিবর্তন করতে চায় কিন্তু এখনও পরিবর্তনটি সম্পাদন করেনি। এই লকটি অন্যান্য লেনদেনকে একই রিসোর্সে একটি এক্সক্লুসিভ লক অর্জন করা থেকে আটকায় যতক্ষণ না প্রাথমিক লেনদেনটি তার পরিবর্তন সম্পূর্ণ করে।
টু-ফেজ লকিং (2PL) হল একটি জনপ্রিয় লকিং প্রোটোকল যা লেনদেনের ধারাবাহিকতা নিশ্চিত করে, নিশ্চিত করে যে লেনদেন সম্পাদনের ফলাফল একটি সামঞ্জস্যপূর্ণ ডাটাবেস অবস্থায় থাকে। 2PL প্রোটোকল একটি লেনদেনের জীবনচক্রকে দুটি পর্যায়ে বিভক্ত করে: একটি ক্রমবর্ধমান পর্যায়, যার সময় লেনদেন লকগুলি অর্জন করে কিন্তু কোনটি প্রকাশ করে না এবং একটি সঙ্কুচিত পর্যায়, যার সময় লেনদেন লকগুলি প্রকাশ করে এবং নতুনগুলির অনুরোধ করতে পারে না। এই প্রোটোকলের কঠোর আনুগত্য অচলাবস্থার সম্ভাবনাকে উল্লেখযোগ্যভাবে হ্রাস করে, যেখানে দুই বা ততোধিক লেনদেন একে অপরের জন্য অপেক্ষায় আটকে থাকে যাতে তারা উভয়কেই সম্পূর্ণ করতে হবে।
তা সত্ত্বেও, লক-ভিত্তিক সমসাময়িক নিয়ন্ত্রণ কার্যক্ষমতার সমস্যাগুলির দিকে নিয়ে যেতে পারে যখন একাধিক লেনদেন একই সংস্থানগুলির জন্য প্রতিযোগিতা করে, যার ফলে বিবাদ এবং অচলাবস্থা দেখা দেয়। বিভিন্ন কৌশল, যেমন লক বৃদ্ধি, লক টাইমআউট, অচলাবস্থা সনাক্তকরণ, এবং অচলাবস্থা সমাধান, লকগুলির সংখ্যা এবং সময়কাল হ্রাস করে বা সক্রিয়ভাবে দ্বন্দ্বগুলি সনাক্ত এবং সমাধান করে এই সমস্যাগুলি উপশম করতে সহায়তা করতে পারে।
লক-ভিত্তিক স্কিমগুলির কিছু সীমাবদ্ধতা মোকাবেলার জন্য সঙ্গতি নিয়ন্ত্রণের বিকল্প পন্থা, যেমন আশাবাদী কনকারেন্সি কন্ট্রোল (OCC) বা মাল্টি-ভার্সন কনকারেন্সি কন্ট্রোল (MVCC) তৈরি করা হয়েছে। এই কৌশলগুলি দ্বন্দ্বের সম্ভাবনা এবং ফ্রিকোয়েন্সি সম্পর্কে অনুমানের উপর নির্ভর করে, লেনদেনগুলিকে সংস্থানগুলি লক না করে এবং শুধুমাত্র প্রতিশ্রুতিবদ্ধ সময়ে দ্বন্দ্বের জন্য পরীক্ষা না করে এগিয়ে যেতে দেয়। অ্যাপ্লিকেশন বৈশিষ্ট্য এবং কাজের চাপের ধরণগুলির উপর নির্ভর করে, এই বিকল্পগুলি নির্দিষ্ট পরিস্থিতিতে লক-ভিত্তিক প্রক্রিয়াগুলির চেয়ে ভাল কর্মক্ষমতা এবং মাপযোগ্যতা প্রদান করতে পারে।
অ্যাপমাস্টার প্ল্যাটফর্মের প্রেক্ষাপটে, উচ্চ-মানের এবং স্কেলযোগ্য ব্যাকএন্ড অ্যাপ্লিকেশনগুলি কার্যকরভাবে ডিজাইন এবং বাস্তবায়নের জন্য লকিং এবং এর বিভিন্ন দিক বোঝা অপরিহার্য। AppMaster তৈরি করা অ্যাপ্লিকেশনগুলি যেগুলি PostgreSQL-সামঞ্জস্যপূর্ণ ডাটাবেসের উপর নির্ভর করে তাদের প্রাথমিক ডেটা স্টোরগুলি PostgreSQL- এর অত্যাধুনিক লকিং এবং কনকারেন্সি কন্ট্রোল মেকানিজমের সুবিধা নিতে পারে, যা ডেভেলপারদের নিম্ন-স্তরের লকিং বিশদ সম্পর্কে চিন্তা না করে দক্ষ এবং উচ্চ সমসাময়িক অ্যাপ্লিকেশন তৈরি করতে সক্ষম করে।
AppMaster no-code পদ্ধতি অ্যাপ্লিকেশন ডেভেলপমেন্ট প্রক্রিয়া জুড়ে লেনদেনের ধারাবাহিকতা, বিচ্ছিন্নতা এবং ডেটা অখণ্ডতার গুরুত্বের উপর জোর দেয়। বিকাশকারীরা ভিজ্যুয়াল পরিবেশে ডেটা মডেল, ব্যবসায়িক প্রক্রিয়া, API endpoints এবং অন্যান্য অ্যাপ্লিকেশন উপাদানগুলি ডিজাইন করে, AppMaster নিশ্চিত করে যে ফলস্বরূপ অ্যাপ্লিকেশনগুলি লকিং এবং কনকারেন্সি নিয়ন্ত্রণ সম্পর্কিত সর্বোত্তম অনুশীলন এবং শিল্পের মানগুলি মেনে চলে। এটি সমস্ত দক্ষতার স্তরের বিকাশকারীদেরকে এমন অ্যাপ্লিকেশন তৈরি করার ক্ষমতা দেয় যা আকর্ষণীয়ভাবে স্কেল করতে পারে এবং উচ্চ লোড এবং সমবর্তী ব্যবহারকারী অ্যাক্সেসের অধীনে নির্ভরযোগ্যভাবে সম্পাদন করতে পারে।