আজকে আমাদের আলোচনার বিষয় – ডাটাবেস ম্যানেজম্যান্ট সিস্টেমের ফাংশনাল কম্পোনেন্টস যা অধ্যায়-২ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
Table of Contents
ডাটাবেস ম্যানেজম্যান্ট সিস্টেমের ফাংশনাল কম্পোনেন্টস
ডাটাবেস ম্যানেজম্যান্ট সিস্টেমের ফাংশনাল কম্পোনেন্টস
একটি ডাটাবেস সিস্টেম (database system)-কে কতকগুলো মডিউল (module)-এ বিভক্ত করা যায়, যারা সামগ্রিক সিস্টেঃ (overall system)-এর মধ্যে তাদের দায়িত্ব পালন করে। কম্পিউটার (computer)-এ মূলতঃ কোন অপারেটিং সিস্টেম (operating system) ডাটাবেস সিস্টেম এর মৌলিক সেবা (basic service) প্রদান করে। কিন্তু এ মৌলিক সেবা (basic service)-এর উপর ভিত্তি করেই ডাটাবেস সিস্টেমটি নির্মিত (buildup) হয়।
এজন্য অবশ্যই ডাটবেজ সিস্টেমকে অপারেটিং সিস্টেম (operating system)-এর সাথে ইন্টারফেস (interface) করতে হবে। নিম্নে একটি ডাটাবেস সিস্টেমের ফাংশনাল উপাদান (functional component)-গুলোর নাম ও পরস্পরের সাথে সংযোগ একটি চিত্রের সাহায্যে দেখানো হলঃ
ডিবিএমএস (DBMS) এর সামগ্রিক গঠনের ক্ষেত্রে ব্যবহৃত ফাংশনাল কম্পোনেন্ট (functional component)-গুলোকে প্রধান তিনটি
ভাগে বিভক্ত করা যায়, যথাঃ
(ক) কুয়েরি প্রসেসর কম্পোনেন্টস (Query proccessor components),
(খ) স্টোরেজ ম্যানেজার কম্পোনেন্টস (storage manager components) এবং
(গ) ডিস্ক স্টোরেজ (Disk storage)।
নিম্নে এদের প্রধান প্রধান কম্পোনেন্টগুলোর বর্ণনা দেয়া হলঃ
(ক) কুয়েরি প্রসেসর কম্পোনেন্টস (Query proccessor components)
১। ডিএমএল কম্পাইলার (DML compiler) : এটি কুয়েরি ল্যাংগুয়েজ (Query language) এর DML স্টেটমেন্ট (statement)-গুলোকে নিচুস্তরের ইনস্ট্রাকশন (Low level instruction)-এ অনুবাদ (transulate) করে। ফলে কুয়েরি ইভ্যালুয়েশন ইঞ্জিন ইনস্ট্রাকশন (Query evaluation engine instruction)-গুলোকে বুঝতে পারে।
২। ইমবেডেড ডি এম এল প্রিকম্পাইলার (Embedded DML Precompiler) : এটি হোস্ট ল্যাংগুয়েজ (host language) দ্বারা রচিত অ্যাপ্লিকেশন প্রোগ্রাম (Application program)-এ ইমবিডেড ডিএমএল স্টেটমেন্ট (embedded DML statement)- গুলোকে স্বাভাবিক প্রসিডিউর কলস (normal procedure calls)-এ রূপান্তর (convert) করে। এজন্য প্রিকম্পাইলার (precompiler) কে অবশ্যই ডিএমএল কম্পাইলার (DML compiler) এর সাথে ইন্টারয়্যাক্ট (interact) করতে হবে।
৩। ডি ডি এল ইন্টারপ্রিটার (DDL interpreter) : এটি ডিডিএল স্টেটমেন্ট (DDL statement)-গুলোকে ইন্টারপ্রিরেট (interpret) করে এবং তাদেরকে মেটা ডাটা (meta data) দ্বারা গঠিত একসেট টেবিল (set table) জমা রাখে।
৪। কুয়েরি ইভ্যালুয়েশন ইঞ্জিন (Query evalation engine) : এটি DML কম্পাইলার (compiler) দ্বারা জেনারেটেড লো- লেভেল ইনস্ট্রাকশন (generated low level instruction)-গুলোকে এক্সিকিউট (execute) করে থাকে।
(খ) স্টোরেজ ম্যানেজার কম্পোনেন্টস (Storage manager components)
১। ট্রানজ্যাকশন ম্যানেজার (Transaction manager) : সিস্টেম অকৃতকার্য (system failure) হওয়া সত্ত্বেও ডাটা যাতে সঠিক থাকে, ট্র্যানজ্যাকশন ম্যানেজার (Transaction manager) সেই নিশ্চয়তা দেয়। এটি কোন প্রকার দ্বন্দু (conflict) ছাড়াই কনকারেন্ট ট্র্যানজ্যাকশন (Concurent Transaction) এর ব্যবস্থা করে।
২। ফাইল ম্যানেজার (File manager) : এটি ডিস্ক স্টোরেজ (disk storage) এর জায়গা বণ্টন (space allocation) এবং তাতে ডাটা গঠন ম্যানেজ (data structure manage) করে।
৩। বাফার ম্যানেজার (Buffer manager) : এটি ডিস্ক স্টোরেজ (disk storage), প্রধান মেমোরি (Main memory) এবং ক্যাশ মেমোরি (Cache memory) এর মধ্যে সুষ্ঠুভাবে ডাটা যাতায়াত করানোর ব্যাপারে দায়িত্ব পালন করে।
(গ) ডিস্ক স্টোরেজ (Disk storage)
১। ডাটা ফাইল (Data file) : ইহা নিজেই ডাটাবেস স্টোর (database store) করে।
২। ডাটা ডিকশনারী (Data dictionary) : ডি.ডি.এল স্টেটমেন্ট (DDL statement) গুলোকে কম্পাইল (compile) করলে একটি সেট টেবিল (set of tables) পাওয়া যায়, যাহাদেরকে একটি বিশেষ ফাইলে (special file) জমা (store) করা হয়। এই ফাইলকে ডাটা ডিকশনারী (data dictionary) বলে। ইহা মেটাডাটা (metadata) অর্থাৎ ডাটা সম্পর্কিত ডাটা (data about data) দ্বারা গঠিত।
৩। ইনডিকস (Indices) : ইহা ডাটাবেসের ডাটা আইটেম (data Item) এর কোন একটি নির্দিষ্ট ভ্যালু (particular value) কে হোল্ড (hold) করে ডাটাতে ফাস্ট এ্যাকসেস (fast access) নিশ্চিত করে।
৪। স্ট্যাটিসটিক্যাল ডাটা (Statistical data) : ইহা ডাটাবেসের ডাটা সম্বন্ধে স্ট্যাটিসটিক্যাল তথ্য (statistical information) ধারণ করে। কুয়েরি প্রসেসর (Query processor) এই তথ্য (information) ব্যবহার করে দ্রুত কুয়েরি নির্বাহ (Query execute) করে থাকে।
আরও দেখুনঃ