আজকে আমাদের আলোচনার বিষয় – সার্ভার, প্যারালাল এবং ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম আর্কিটেকচারের সুবিধা-অসুবিধা যা অধ্যায়-১০ এর ডাটাবেস ম্যানেজমেন্ট সিস্টেম এ অন্তর্ভুক্ত। এটি চার বছর মেয়াদি কোর্সের আলোকে লেখা হয়েছে। ডাটাবেস ম্যানেজমেন্ট সিস্টেমের বিভিন্ন ইংরেজি বই অনুসরণ করেই রচনা করা হয়েছে। ইঞ্জিনিয়ারিং বিষয়ের যে-কোন বই সম্পূর্ণরূপে বাংলা ভাষায় রচনা করা সম্ভব নয়। এজন্যে কিছু কিছু ইংরেজি শব্দকে বাংলায় অনুবাদ করা হয়নি। ফলে ছাত্রছাত্রীদের হয়ত কিছুটা অসুবিধা হতে পারে।
Table of Contents
সার্ভার, প্যারালাল এবং ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম আর্কিটেকচারের সুবিধা-অসুবিধা
ডাটাবেস সিস্টেম আর্কিটেকচারকে যে কয়টি ভাগে ভাগ করা হয়েছে, সে সব সিস্টেমের সুবিধা ও অসুবিধা নিম্নে আলোচনা করা হলঃ
১। সার্ভার ডাটাবেস সিস্টেম আর্কিটেকচার (Server database system architecture) :
নিম্নে সার্ভার ডাটাবেস সিস্টেম আর্কিটেকচারের সুবিধা-অসুবিধাগুলো দেয়া হলঃ
(i) সার্ভার ডাটাবেস সিস্টেমের সুবিধা (The advantage of server database system) :
১। এ ধরনের ডাটাবেস সিস্টেমে ক্লায়েন্ট-সার্ভার নেটওয়ার্কিং এর মাধ্যমে LAN, MAN কিংবা WAN এর সাথে সংযুক্ত করা যায়।
২। Client/ Server নেটওয়ার্কিং এনভায়রনমেন্টে ডাটাবেসকে কেন্দ্রীয়ভাবে সার্ভার কম্পিউটারের মেমোরিতে সংরক্ষিত থাকে। আর এতে সার্ভার Back-up করলেই পুরো ডাটাবেস রিসোর্স Back-up হয়ে যায়। ফলে Client কম্পিউটারগুলোকে ডাটাবেস রিসোর্স Back-up এর জন্য পৃথকভাবে Back-up করার প্রয়োজন হয় না।
৩। কেন্দ্রীয়ভাবে রক্ষিত ডাটাবেস রিসোর্সকে একই সময়ে একই সাথে দুই বা ততোধিক Client কম্পিউটারগুলো শেয়ার করার মাধ্যমে ব্যবহার করতে পারে।
৪। ডাটাবেস রিসোর্সকে কেন্দ্রীয়ভাবে সংরক্ষণ করা হয় বিধায় সার্ভার কম্পিউটার ব্যতীত অন্যান্য যেকোন Client কম্পিউটার নষ্ট বা অকেজো হয়ে গেলেও সিস্টেম পুরোপুরি সচল থাকবে।
৫। ডাটাবেস রিসোর্সকে কেন্দ্রীয়ভাবে সংরক্ষিত করার কারণে সার্ভার কম্পউটারের মাধ্যমে কেন্দ্রীয়, নিয়ন্ত্রণ (Control- Control) ব্যবস্থা গড়ে তোলা যায়।
৬। সার্ভারে সর্বাধিক নিরাপত্তা ব্যবস্থা থাকায় এ সিস্টেমে বৃহৎ ডাটাবেস সিস্টেম গড়ে তোলা যায়।
৭। এ প্রকার ডাটাবেস সিস্টেমে ডাটা ফাইলের সর্বাধিক ব্যবহার নিশ্চিত করা যায়।
৮। এ ধরনের ডাটাবেস সিস্টেম আর্কিটেকচারে নেটওয়ার্ক পরিচালনা করার ঝামেলা Client কম্পিউটারকে ব্যবহৃত user- দের উপর কোন প্রভাব বিস্তার করে না।
৯। এ ধরনের ডাটাবেস সিস্টেম আর্কিটেকচারে client সংখ্যার উপর ভিত্তি করে ক্ষুদ্র পরিসর থেকে শুরু করে বৃহৎ পরিসরের মধ্যে ডাটাবেস সিস্টেম বিস্তৃত হতে পারে।
(ii) সার্ভার ডাটাবেস সিস্টেমের অসুবিধা (Disadvantage of server database system) :
নিচে সার্ভার ডাটাবেস সিস্টেনের অসুবিধাসমূহ উল্লেখ করা হলঃ
১। এ ধরনের ডাটাবেস সিস্টেমে ডাটাবেস ও ডাটাবেসসংক্রান্ত সমস্ত রিসোর্স সার্ভার নামক কম্পিউটারে সংরক্ষণ করা হয়। ফলে কোন কারণে সার্ভার অকেজো বা Failure হয়ে গেলে পুরো সিস্টেমটি অচল হয়ে পড়বে।
২। এ ধরনের সিস্টেমে সার্ভারে রক্ষিত রিসোর্সকে অধিক সংখ্যক user-শেয়ার করে বিধায় সিস্টেমের নিরাপত্তা বিঘ্নিত হওয়ার সম্ভাবনা থাকে।
৩। এ ধরনের সিস্টেমে নেটওয়ার্ক প্রতিষ্ঠা করার জন্য নেটওয়ার্ক প্লানিং, ডিজাইন ও ম্যানেজমেন্ট সংক্রান্ত জটিলতার সম্মুখীন হতে হয়।
৪। এ ধরনের সিস্টেমে সার্ভার ও ক্লায়েন্ট কম্পিউটারের মধ্যে নেটওয়ার্ক প্রতিষ্ঠা করার জন্য অধিক অর্থ ব্যয় করতে হয় বা সংস্থাপন খরচ বেশি পড়ে ।
৫। এ ধরনের ডাটাবেস সিস্টেমের নিরাপত্তা বিধান করার জন্য সফটওয়্যারে প্রচুর পটেনশিয়াল ব্যবস্থা তৈরি করতে হয় এবং এটি প্রতিনিয়ত আপডেট করতে হয়। আর নিরাপত্তাজনিত ব্যবস্থা তৈরি করতে এবং এটি উন্নয়নের জন্য আর্থিক খরচ বৃদ্ধি পায়।
৬। এ ধরনের সিস্টেম পরিচালনা, নিয়ন্ত্রণ এবং উন্নয়নের জন্য একজন নেটওয়ার্ক অ্যাডমিনিস্ট্রেটর এবং একজন ডাটাবেস অ্যাডমিনিস্ট্রেটরের প্রয়োজন, যা অন্যান্য ডাটাবেস সিস্টেম আর্কিটেকচারে প্রয়োজন নাই।
৭। ওভারহেড কস্টিং (Overhead Costing) এর কারণে এ ধরনের সিস্টেমে প্রসেসিং খরচ বৃদ্ধি পায়।
২। প্যারালাল ডাটাবেস সিস্টেম আর্কিটেকচার (Parallel database system architecture) :
নিম্নে প্যারালাল ডাটাবেস সিস্টেম আর্কিটেকচারের সুবিধা-অসুবিধাগুলো দেয়া হলঃ
(i) প্যারালাল ডাটাবেস সিস্টেমের সুবিধা (Advantages of parallel database system architecture) :
১। প্যারালাল ডাটাবেস সিস্টেমে একাধিক CUP এবং disk কে একটি শক্তিশালী ও দ্রুতগতি সম্পন্ন ইন্টারকানেকশন, নেটওয়ার্কের মাধ্যমে পরস্পর প্যারালালি সংযুক্ত করা হয় বিধায় ডাটা প্রসেসিং এর গতি অত্যন্ত বেশি হয়।
২। এ সিস্টেমে বহুসংখ্যক CPU প্যারালালি সংযুক্ত করা হয় বিধায় একই সময়ে বহুসংখ্যক ডাটা প্রসেসিং সংক্রান্ত অপারেশন সম্পন্ন করা যায়।
৩। এ সিস্টেমে একই সঙ্গে বহুসংখ্যক সিপিইউ এবং ডিস্ক প্যারালালি ব্যবহৃত হয় বিধায় এতে গুপুট (throughput) সুবিধা বেশি পাওয়া যায়।
৪। এ ধরনের সিস্টেমে রিসোর্স অর্থাৎ সিপিইউ এবং ডিস্কের সংখ্যা প্যারালালি বৃদ্ধি করা হলে সিস্টেমের আউটপুটে স্পীডআপ ও স্কেলআপ সমানুপাতি হারে বৃদ্ধি করা যায়।
৫। এ ধরনের সিস্টেমে প্রসেসিং খরচ খুবই কম।
৬। এ ধরনের সিস্টেমে অধিক সংখ্যক ইনপুট/আউটপুট এবং মেমোরী ডিভাইস ব্যবহার করা যায়।
৭। প্যারালাল ডাটাবেস সিস্টেমে কুয়েরি প্রসেসিং এর জন্য অত্যন্ত কম সময়ের প্রয়োজন হয়।
৮। প্যারালাল ডাটাবেস সিস্টেমে সংরক্ষিত বিপুল পরিমাণ ডাটা থেকে প্রয়োজনীয় ডাটা রিট্রিভ করা খুবই সহজ এবং এর জন্য অত্যন্ত কম সময়ের প্রয়োজন হয়।
(ii) প্যারালাল ডাটাবেস সিস্টেমের অসুবিধা (Disadvantages of parallel database system architecture):
নিম্নে প্যারালাল ডাটাবেসের বিভিন্ন অসুবিধা দেয়া হলঃ
১। যেহেতু প্যারালাল ডাটাবেস সিস্টেমে বহুসংখ্যক প্রসেসর ব্যবহৃত হয়, সেহেতু তাতে স্টার্টআপ (startup) টাইম বেশি লাগে, যা এর স্পীড আপ (spreed up) এর উপর প্রতিক্রিয়া সৃষ্টি করে।
২। প্যারালাল সিস্টেমে প্রসেসসমূহ একই সাথে নির্বাহ করা হয়। এ প্রসেসসমূহ যখন একই রিসোর্সকে শেয়ার করে, তখন প্রসেসিং সংক্রান্ত প্রতিযোগিতায় একে অপরকে ইন্টারফেয়ার (Interfere) করে থাকে। ফলে প্রসেস নির্বাহের ফলাফল পেতে সময় বেশি লাগে।
৩। এ ধরনের ডাটাবেস সিস্টেমে ব্যবহৃত প্রসেসরে বা CPU এর সর্বোচ্চ ব্যবহারের জন্য অধিক ক্যাপাসিটি সম্পন্ন ক্যাশ মেমোরি প্রয়োজন হয়। ফলে সিস্টেমের দাম বেশি পড়ে।
৪। এ প্রকার ডাটাবেস সিস্টেমে একটি কাজকে কতকগুলো সমান্তরাল স্টেপ (step)-এ রূপান্তর করে তাদেরকে প্যারালালি প্রসেস করা হয়। স্টেপসমূহকে সাধারণত সমান আকারে তৈরি করা হয়। কিন্তু অনেক সময় কোন কাজের স্টেপসমূহকে সমান সমান অংশে বিভক্ত করা সম্ভব হয় না। এ জন্যে অনেক সময় প্যারালাল ডাটাবেস সিস্টেমের কাঙ্ক্ষিত স্পীড পাওয়া যায় না।
৩। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম আর্কিটেকচার (Distributed database system architecture) :
নিম্নে ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম আর্কিটেকচারের সুবিধা-অসুবিধাগুলো দেয়া হল-
(i) ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমের সুবিধা (Advantages of distributed database system)
১। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমে সবচয়ে বড় সুবিধা হল ডাটা শেয়ারীং অর্থাৎ যেকোন এক সাইটে একজন ইউজার অন যেকোন সাইটের ডাটাবেসে প্রবেশ করে তা অ্যাকসেস করার সুবিধা পেয়ে থাকে।
২। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমের একটি প্রাইমারি সুবিধা হল অটোনমি। এ সিস্টেমে এক সাইটের ডাটা বিভিন্ন সাইয়ে ডিস্ট্রিবিউটেড অবস্থায় থাকে। এতে সমস্ত সাইটগুলোর ডাটাবেসকে দেখাশুনা, ডিজাইন পরিবর্তন ও উন্নয়নের জনে একজন অ্যাডমিনিস্ট্রেটর থাকে। তাকে গ্লোবাল ডাটাবেস অ্যাডমিনিস্ট্রেটর বলে। কিন্তু প্রতিটি সাইটেও একজন করে অ্যাডমিনিস্ট্রেটর থাকে। তাকে লোকাল ডাটাবেস অ্যাডমিনিস্ট্রেটর বলা হয়। এ লোকাল ডাটাবেস অ্যাডমিনিস্ট্রেটরের লোকাল অটোনমি থাকে, যার ফলে সে লোকাল ডাটাবেসের ডিজাইন পরিবর্তন করতে পারে। এ জন্য অটোনমিকে এ পদ্ধতির প্রাথমিক সুবিধা বলে।
৩। যদি ডিস্ট্রিবিউটেড ডাটাবেসের কোন একটি সাইট কোন কারণে ফেইল (Fail) করে, তবে অন্যান্য সাইট অপারেশন চালিয়ে যেতে সক্ষম হয়। ফলে অকার্য ঐ সাইটের ডাটা অন্য সাইট হতে সংগ্রহ করা সম্ভব হয়। কারণ, এ সিস্টেমে ডাটা রিপ্লেকেটেড অবস্থায় প্রতিটি সাইটেই অবস্থান করে।
৪। এতে ডাটাবেস রিসোর্সের সর্বাধিক ব্যবহার নিশ্চিত করা যায়।
৫। এ ধরনের ডাটাবেস সিস্টেমে নেটওয়ার্ক তৈরি করতে তুলনামূলক খরচ কম পড়ে।
৬। এ ধরনের সিস্টেমে ডাটাবেসের রেপ্লিকেশন এর কারণে ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমের ট্র্যানজ্যাকশনকে Reliable transaction-ও বলা হয়।
(ii) ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমের অসুবিধা (Disadvantages of distributed database system) :
নিম্নে ডিস্ট্রিবিউটেড ডাটাবেসের অসুবিধাসমূহ দেয়া হলঃ
১। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম পরিচালনার জন্যে জটিল সফটওয়্যার প্রয়োজন হয়। এ সফ্টওয়্যার ডিজাইন ও উন্নয়ন করার খুবই কষ্টসাধ্য এবং সময়সাপেক্ষ ব্যাপার। ফলে এর জন্য খরচ খুবই বেশি পড়ে যায়।
২। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমে অনেকগুলো সাইট একই সাথে অর্থাৎ প্যারালালভাবে অপারেট হয়। সে জন্য অপারেশন চলাকালে এর কোন একটি অংশের ফেইলিউর নির্ণয় করা এবং পরবর্তীতে তাতে ডাটা রিকভার করা খুবই কঠিন।
৩। এ সিস্টেমে ব্যবহৃত কম্পিউটারসমূহের মধ্যে নেটওয়ার্কিং এর জন্য উচ্চগতিসম্পন্ন নেটওয়ার্ক কিংবা টেলিফোন লাইনের দরকার হয়।
৪। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমে বিভিন্ন সাইটের মধ্যে যোগাযোগের জন্য একটি যোগাযোগের মাধ্যম প্রয়োজন হয়। ফলে মেসেজ (Message) আদান-প্রদান থেকে শুরু করে ডাটা প্রসেসিং পর্যন্ত সকল কাজেই অতিরিক্ত খরচ দেখা দেয়, যা সেন্ট্রালাইজড সিস্টেমে দেখা দেয় না।
৫। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমে কোন কোন ক্ষেত্রে সঠিক নিরাপত্তার অভাব দেখা দেয়, যা সেন্ট্রালাইজড সিস্টেমে দেখা দেয় না। অর্থাৎ সেন্ট্রালাইজড সিস্টেমের তুলনায় এ সিস্টেমে ডাটার নিরাপত্তা কম।
৬। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেমের আরো একটি অসুবিধা হল অপারেটিং সিস্টেম। কেননা, এ ধরনের ডাটাবেস সিস্টেমে ঐ সমস্ত অপারেটিং সিস্টেম দরকার, যা ডিস্ট্রিবিউটেড environment সাপোর্ট করে থাকে।
৭। ডিস্ট্রিবিউটেড ডাটাবেস সিস্টেম আর্কিটেকচার তৈরি করতে তেমন কোন standard পদ্ধতি বা methodology নাই, যাতে সেন্ট্রালাইজড DBMS থেকে ডিস্ট্রিবিউটেড DBMS-এ রূপান্তরে user-দের সাহায্য করবে।
আরও দেখুনঃ