কম্পিউটার

ডাটাবেস যুদ্ধ:MSSQL সার্ভার, Oracle PL/SQL এবং MySQL


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

রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেমগুলি 1980 এর দশকে চালু হয়েছিল। এই নিবন্ধটি শিল্পে তিনটি জনপ্রিয় RDBMS-এর ইতিহাস এবং বৈশিষ্ট্যগুলি অন্বেষণের উপর ফোকাস করছে:Microsoft SQL সার্ভার, Oracle এবং MySQL। Microsoft SQL সার্ভার এবং Oracle হচ্ছে বাণিজ্যিক সফ্টওয়্যার, MySQL হল ওপেন সোর্স RDBMS৷

ডাটাবেস যুদ্ধ:MSSQL সার্ভার, Oracle PL/SQL এবং MySQL

ওরাকল প্রথম কোম্পানি যারা 1980 এর দশকে বাণিজ্যিক ব্যবহারের জন্য RDBMS বের করে। 1990-এর দশকের মাঝামাঝি, মাইক্রোসফ্ট ওরাকলের জন্য একটি গুরুতর প্রতিদ্বন্দ্বী হিসাবে SQL সার্ভারের সাথে বাজারে প্রবেশ করে। অন্যদিকে, MySQL মূলত একটি ওপেন সোর্স সফটওয়্যার হিসেবে তৈরি এবং বিতরণ করা হয়েছিল। MySQL প্রথম প্রকাশিত হয়েছিল 1995 সালে, এবং উইন্ডোজ সংস্করণটি 1998 সালে প্রকাশিত হয়েছিল৷ 2008 সালে, এটি SUN এবং তারপরে ওরাকল দ্বারা অধিগ্রহণ করা হয়েছিল৷

ভাষা - যোগাযোগের হৃদয়

যেকোন RDBMS-এর মেরুদণ্ড হল প্রশ্নগুলি চালানোর জন্য ব্যবহৃত ভাষা এবং এভাবেই তাদের কর্মক্ষমতা এবং বাস্তবায়ন প্রভাবিত হয়। যদিও তিনটি ডাটাবেস ম্যানেজমেন্ট সিস্টেমই স্ট্রাকচার্ড কোয়েরি ল্যাঙ্গুয়েজ বা SQL এর একটি সংস্করণ ব্যবহার করে। মাইক্রোসফ্ট এসকিউএল সার্ভার ট্রানজ্যাক্ট-এসকিউএল, বা টি-এসকিউএল ব্যবহার করে, যা মূলত সাইবেস দ্বারা বিকাশিত এবং মাইক্রোসফ্ট দ্বারা ব্যবহৃত SQL এর একটি এক্সটেনশন। অন্যদিকে, ওরাকল, ইতিমধ্যে, PL/SQL, বা পদ্ধতিগত ভাষা/SQL ব্যবহার করে৷

উভয়ই SQL-এর ভিন্ন "স্বাদ" বা উপভাষা এবং উভয় ভাষারই সিনট্যাক্স এবং ক্ষমতা কিছুটা আলাদা। দুটি ভাষার মধ্যে প্রধান পার্থক্য হল তারা কীভাবে ভেরিয়েবল, সঞ্চিত পদ্ধতি এবং বিল্ট-ইন ফাংশন পরিচালনা করে। ওরাকলের PL/SQL পদ্ধতিগুলিকে একসাথে প্যাকেজে গোষ্ঠীবদ্ধ করতে পারে, যা MS SQL সার্ভারে করা যায় না। PL/SQL একটু বেশি জটিল এবং সম্ভাব্য আরও শক্তিশালী হতে পারে, যখন T-SQL অনেক বেশি সহজ এবং কার্যকর করা সহজ৷

ডাটাবেস যুদ্ধ:MSSQL সার্ভার, Oracle PL/SQL এবং MySQL

অন্যদিকে, MySQL, T-SQL-এর হালকা সংস্করণ ব্যবহার করে এবং পদ্ধতিগত ভাষাও একত্রিত করে যা SQL/PSM-এর সাথে ঘনিষ্ঠভাবে সম্পর্কিত। যদিও MySQL-এর সঞ্চিত কোড-অবজেক্টগুলি ANSI মানের কাছাকাছি, কিন্তু আবার, তাদের T-SQL, Microsoft এবং Sybase-এর মালিকানা এক্সটেনশনের SQL-এর প্রস্থ ও গভীরতা নেই৷

লেনদেন নিয়ন্ত্রণ

একটি লেনদেনকে একক ইউনিট হিসাবে সম্পাদিত অপারেশনগুলির একটি গ্রুপ বলা যেতে পারে। উদাহরণস্বরূপ, যদি ব্যবহারকারী কিছু এসকিউএল কোয়েরি চালানোর চেষ্টা করে, তাহলে হয় সবই কার্যকর করা হয় বা কোনোটিই হয় না। লেনদেন নিয়ন্ত্রণের ক্ষেত্রে এটি ওরাকল এবং এমএস এসকিউএল সার্ভারের মধ্যে অন্যতম প্রধান পার্থক্য।

ডিফল্টরূপে, MS SQL সার্ভার প্রতিটি কমান্ড/টাস্ককে স্বতন্ত্রভাবে নির্বাহ করবে এবং প্রতিশ্রুতিবদ্ধ করবে, এবং পথে কোনো ত্রুটি দেখা দিলে পরিবর্তনগুলি ফিরিয়ে আনা কঠিন বা অসম্ভব হবে। "BEGIN TRANSACTION" কমান্ডটি সঠিকভাবে বিবৃতিগুলিকে গোষ্ঠীবদ্ধ করতে এবং একটি লেনদেনের শুরুর ঘোষণা করতে ব্যবহৃত হয় এবং শেষে একটি কমিট বিবৃতি ব্যবহার করা যেতে পারে। এই COMMIT বিবৃতিটি পরিবর্তিত ডেটা ডিস্কে লিখবে এবং লেনদেন শেষ করবে। একটি লেনদেনের মধ্যে, ROLLBACK লেনদেন ব্লকের মধ্যে করা যেকোনো পরিবর্তন বাতিল করবে। একটি COMMIT ইস্যু করার পরে, COMMIT কমান্ড ছাড়া আর কোনোভাবেই ফিরে আসা সম্ভব নয়৷

ডাটাবেস যুদ্ধ:MSSQL সার্ভার, Oracle PL/SQL এবং MySQL

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

MySQL-এর ক্ষেত্রে, লেনদেনের সমর্থন সহজেই InnoDB-এর সাথে সামঞ্জস্যপূর্ণ। InnoDB হল MySQL এর জন্য একটি স্টোরেজ ইঞ্জিন এবং ডিফল্টরূপে MySQL এর সাথে উপলব্ধ। এটি বিদেশী কী সমর্থন সহ স্ট্যান্ডার্ড এসিআইডি-সম্মত লেনদেনের বৈশিষ্ট্যগুলি প্রদান করে৷

ডাটাবেস অবজেক্টের সংগঠন

ডাটাবেস অবজেক্টের সংগঠনও এই 3টি ডাটাবেসের মধ্যে একটি বড় পার্থক্যকারী। MS SQL সার্ভার ডাটাবেসের নাম অনুসারে সমস্ত বস্তু যেমন টেবিল, ভিউ এবং পদ্ধতি সংগঠিত করে। এমএস এসকিউএল ব্যবহারকারীদের একটি লগইনের জন্য বরাদ্দ করা হয়, যা নির্দিষ্ট ডেটাবেস এবং এর বস্তুগুলিতে অ্যাক্সেস মঞ্জুর করা হয়। Microsoft SQL সার্ভারে, প্রতিটি ডাটাবেসের সার্ভারে একটি ব্যক্তিগত, শেয়ার না করা ডিস্ক ফাইল থাকে।

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

সংক্ষেপে, তিনটিই, MySQL, Oracle এবং SQL সার্ভার শক্তিশালী RDBMS বিকল্প। যদিও তারা কীভাবে "হুডের নীচে" কাজ করে এবং বাস্তবায়িত করে তার মধ্যে বেশ কিছু পার্থক্য রয়েছে, সেগুলি প্রায় সমতুল্য পদ্ধতিতে ব্যবহার করা যেতে পারে। প্রতিটি ভিন্ন পরিবেশে ভিন্ন উদ্দেশ্যের সাথে ব্যবহার করা যেতে পারে। উদ্দেশ্য একই হতে পারে, কিন্তু বাস্তবায়ন ভিন্ন হয়।


  1. MS SQL সার্ভারে ডাটাবেস মনিটরিং

  2. কিভাবে MS SQL সার্ভারে একটি ডাটাবেস তৈরি করবেন

  3. MS SQL সার্ভারে ডাটাবেস লগ ইন করার উপায়

  4. Microsoft SQL সার্ভার উন্নত দুর্নীতি এবং পুনরুদ্ধার