ডাটাবেস ডেভেলপমেন্টের বেস মডেল

সুচিপত্র:

ডাটাবেস ডেভেলপমেন্টের বেস মডেল
ডাটাবেস ডেভেলপমেন্টের বেস মডেল
Anonim

রিলেশনাল ডেটাবেসগুলি তাদের মূলে নির্ভরযোগ্যতা এবং ধারাবাহিকতার সাথে ডিজাইন করা হয়েছে। যে প্রকৌশলীরা তাদের তৈরি করেছেন তারা একটি লেনদেনমূলক মডেলের উপর দৃষ্টি নিবদ্ধ করেছেন যা নিশ্চিত করে যে ACID মডেলের চারটি নীতি সর্বদা সংরক্ষিত থাকবে। যাইহোক, একটি নতুন অসংগঠিত ডাটাবেস মডেলের আবির্ভাব তার মাথায় ACID ঘুরিয়ে দিচ্ছে। NoSQL ডাটাবেস মডেল একটি নমনীয় কী/মূল্য স্টোর পদ্ধতির পক্ষে উচ্চ কাঠামোগত রিলেশনাল মডেলকে পরিহার করে। ডেটার এই অসংগঠিত পদ্ধতির জন্য ACID মডেলের বিকল্প প্রয়োজন: BASE মডেল৷

Image
Image

ACID মডেলের মৌলিক নীতি

ACID মডেলের চারটি মৌলিক নীতি রয়েছে:

  • Atomicity লেনদেন নিশ্চিত করে যে প্রতিটি ডাটাবেস লেনদেন একটি একক ইউনিট যা সম্পাদনের জন্য একটি "সমস্ত বা কিছুই" পদ্ধতি গ্রহণ করে। লেনদেনের কোনো বিবৃতি ব্যর্থ হলে, পুরো লেনদেন ফিরিয়ে দেওয়া হবে।
  • রিলেশনাল ডাটাবেসগুলি ডাটাবেসের ব্যবসায়িক নিয়মের সাথে প্রতিটি লেনদেনের সঙ্গতি নিশ্চিত করে। যদি একটি পারমাণবিক লেনদেনের কোনো উপাদান ডাটাবেসের সামঞ্জস্যকে ব্যাহত করে, তাহলে পুরো লেনদেন ব্যর্থ হয়৷
  • ডাটাবেস ইঞ্জিনটি একই সময়ে বা কাছাকাছি একাধিক লেনদেনের মধ্যে বিচ্ছিন্নতা প্রয়োগ করে। প্রতিটি লেনদেন হয় অন্য প্রতিটি লেনদেনের আগে বা পরে হয়, এবং একটি লেনদেনের শুরুতে যে ডাটাবেসের দৃশ্য দেখা যায় তা শুধুমাত্র লেনদেনের শেষ হওয়ার আগে নিজেই পরিবর্তিত হয়। কোনো লেনদেন কখনই অন্য লেনদেনের মধ্যবর্তী পণ্য দেখতে পাবে না।
  • চূড়ান্ত ACID নীতি, স্থায়িত্ব, নিশ্চিত করে যে একবার ডাটাবেসের সাথে লেনদেন করা হয়ে গেলে, এটি স্থায়ীভাবে ব্যাকআপ এবং লেনদেন লগ ব্যবহারের মাধ্যমে সংরক্ষণ করা হয়। ব্যর্থতার ক্ষেত্রে, প্রতিশ্রুতিবদ্ধ লেনদেনগুলি পুনরুদ্ধার করতে এই প্রক্রিয়াগুলি ব্যবহার করা যেতে পারে৷

বেস এর মূল নীতি

NoSQL ডাটাবেসগুলি, অন্যদিকে, এমন পরিস্থিতিগুলিকে আলিঙ্গন করে যেখানে ACID মডেল অতিমাত্রায় হয় বা প্রকৃতপক্ষে, ডাটাবেসের ক্রিয়াকলাপকে বাধা দেয়। পরিবর্তে, NoSQL একটি নরম মডেলের উপর নির্ভর করে যা উপযুক্তভাবে, BASE মডেল হিসাবে পরিচিত। এই মডেলটি NoSQL দ্বারা প্রদত্ত নমনীয়তা এবং অসংগঠিত ডেটা পরিচালনা এবং কিউরেশনের অনুরূপ পদ্ধতির সমন্বয় করে। BASE তিনটি নীতি নিয়ে গঠিত:

  • মৌলিক উপলব্ধতা NoSQL ডাটাবেস পদ্ধতি একাধিক ব্যর্থতার উপস্থিতিতেও ডেটার প্রাপ্যতার উপর ফোকাস করে। এটি ডাটাবেস পরিচালনার জন্য একটি উচ্চ বিতরণ পদ্ধতি ব্যবহার করে এটি অর্জন করে। একটি একক বৃহৎ ডেটা স্টোর বজায় রাখার এবং সেই স্টোরের ত্রুটি সহনশীলতার উপর ফোকাস করার পরিবর্তে, NoSQL ডাটাবেসগুলি উচ্চ মাত্রার প্রতিলিপি সহ অনেক স্টোরেজ সিস্টেমে ডেটা ছড়িয়ে দেয়। অসম্ভাব্য ইভেন্টে যে একটি ব্যর্থতা ডেটার একটি অংশে অ্যাক্সেস ব্যাহত করে, এটি অগত্যা একটি সম্পূর্ণ ডাটাবেস বিভ্রাটের ফলাফল দেয় না।
  • নরম অবস্থা. BASE ডাটাবেসগুলি ACID মডেলের সামঞ্জস্যের প্রয়োজনীয়তাগুলিকে সম্পূর্ণরূপে পরিত্যাগ করে৷ BASE-এর পিছনে একটি মৌলিক ধারণা হল যে ডেটা সামঞ্জস্যতা বিকাশকারীর সমস্যা এবং ডাটাবেস দ্বারা পরিচালনা করা উচিত নয়৷
  • Eventual Consistency NoSQL ডেটাবেসগুলির সামঞ্জস্যের জন্য একমাত্র প্রয়োজনীয়তা হল ভবিষ্যতে কোনও সময়ে, ডেটা একটি সামঞ্জস্যপূর্ণ অবস্থায় রূপান্তরিত হবে। এটি কখন ঘটবে সে সম্পর্কে কোনও নিশ্চয়তা দেওয়া হয়নি। এটি ACID-এর অবিলম্বে সামঞ্জস্যের প্রয়োজনীয়তা থেকে সম্পূর্ণ প্রস্থান যা পূর্ববর্তী লেনদেন সম্পূর্ণ না হওয়া পর্যন্ত এবং ডাটাবেস একটি সামঞ্জস্যপূর্ণ অবস্থায় রূপান্তরিত না হওয়া পর্যন্ত লেনদেন সম্পাদন করা নিষিদ্ধ করে৷

বেস-এ, মৌলিক প্রাপ্যতার অর্থ হতে পারে যে আপনি ডেটাসোর্সগুলিকেও নিয়ন্ত্রণ করেন না। উদাহরণস্বরূপ, আপনি আপনার প্রচেষ্টার অংশ হিসাবে সর্বজনীন ডেটাসেটের সাথে লিঙ্ক করতে পারেন৷

আপেক্ষিক ব্যবহারের ক্ষেত্রে

বেস মডেলটি প্রতিটি পরিস্থিতির জন্য উপযুক্ত নয়, তবে এটি অবশ্যই ডাটাবেসের জন্য এসিআইডি মডেলের একটি নমনীয় বিকল্প যার জন্য সম্পর্কীয় মডেলের কঠোর আনুগত্যের প্রয়োজন নেই৷

এসিআইডি ব্যবহার করে ডেটাবেসের জন্য সর্বোত্তম ব্যবহারের ক্ষেত্রে অনুমানযোগ্য ইনপুট এবং আউটপুট সহ উচ্চ কাঠামোগত ডেটার উপর নির্ভর করে। এইভাবে, মানব-সম্পদ ডাটাবেস, খুচরা ডাটাবেস এবং ইলেকট্রনিক মেডিকেল রেকর্ডগুলি ACID অফার করে এমন দৃঢ় অভ্যন্তরীণ সামঞ্জস্য পরীক্ষা থেকে উপকৃত হয়৷

তবে, বেস সমাধানগুলি অনুভূতি বিশ্লেষণের মতো অস্পষ্ট বিষয়গুলির জন্য আরও ভাল। উদাহরণস্বরূপ, একটি BASE-কাঠামোবদ্ধ প্রকল্প একটি নির্দিষ্ট হ্যাশট্যাগের উপর ভিত্তি করে আবেগ বোঝায় এমন শব্দের সন্ধানে একটি টুইটার ফিড স্ক্যান করতে পারে। টুইটার ফিডটি সুগঠিত নয় বা স্থানীয়ভাবে তাত্ক্ষণিক নয়, তবে ডেটা স্ট্রীম এমন তথ্য সরবরাহ করে যা প্রশ্নগুলির মধ্যে প্রোগ্রাম করা হয়েছে এমনকি যদি সেই ডেটার সুযোগ এবং প্রকৃতি পরিষ্কারভাবে আবদ্ধ না হয়৷

প্রস্তাবিত: