MariaDB হল একটি ওপেন-সোর্স রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যা মূলত MySQL এর একটি ফর্ক (Fork)। এটি মূলত MySQL ডেভেলপারদের দ্বারা তৈরি করা হয়েছিল, যখন Oracle MySQL কিনে নেয়। MariaDB সম্পূর্ণরূপে MySQL এর সাথে সামঞ্জস্যপূর্ণ এবং অধিকাংশ ক্ষেত্রে এর ফিচার এবং পারফরম্যান্স MySQL-এর সমতুল্য বা উন্নত।
MariaDB একটি অত্যন্ত জনপ্রিয় ডেটাবেস সিস্টেম, বিশেষত যারা ওপেন-সোর্স ভিত্তিক এবং উচ্চ কর্মক্ষমতাসম্পন্ন ডেটাবেস প্রয়োজন তাদের মধ্যে এটি ব্যাপকভাবে ব্যবহৃত হয়। MariaDB ব্যবহার করা সহজ এবং এটি ছোট থেকে বড় স্কেল অ্যাপ্লিকেশনের জন্য উপযুক্ত।
MariaDB বিভিন্ন অপারেটিং সিস্টেমে ইনস্টল করা যায়। নিচে Linux (Ubuntu), Windows, এবং Mac এ MariaDB ইনস্টল করার ধাপগুলো দেওয়া হল।
sudo apt update
sudo apt upgrade
sudo apt install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
MariaDB ইনস্টল করার পর, আপনি MariaDB সার্ভার সিকিউরিটি কনফিগার করার জন্য mysql_secure_installation স্ক্রিপ্ট চালাতে পারেন:
sudo mysql_secure_installation
এই স্ক্রিপ্টটি ডিফল্ট পাসওয়ার্ড পরিবর্তন, অপ্রয়োজনীয় ইউজার এবং টেস্ট ডেটাবেস মুছে ফেলার জন্য ব্যবহৃত হয়।
mysql কমান্ড দিয়ে সার্ভারে লগইন করতে পারেন।brew install mariadb
ইনস্টলেশন শেষ হলে, MariaDB সার্ভার চালানোর জন্য:
brew services start mariadb
MariaDB ইনস্টল করার পরে, আপনি mysql ক্লায়েন্ট ব্যবহার করে MariaDB ডাটাবেস ম্যানেজ করতে পারেন।
sudo mysql -u root -p
উপরের কমান্ড দিয়ে আপনি MariaDB এর root ইউজার হিসেবে লগইন করতে পারবেন।
CREATE DATABASE my_database;
USE my_database;
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
উপরের উদাহরণে, students নামে একটি টেবিল তৈরি করা হয়েছে, যেখানে id, name, এবং age নামের কলাম রয়েছে।
INSERT INTO students (name, age) VALUES ('John Doe', 25);
SELECT * FROM students;
উপরের কমান্ডটি students টেবিল থেকে সমস্ত রেকর্ড ফিরিয়ে দেবে।
MariaDB এর মধ্যে অনেক স্টোরেজ ইঞ্জিন রয়েছে, যা ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। কিছু উল্লেখযোগ্য স্টোরেজ ইঞ্জিন হল:
SHOW ENGINES;
CREATE TABLE example (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50)
) ENGINE=InnoDB;
MariaDB এর মাধ্যমে আপনি ডাটাবেস রেপ্লিকেশন করতে পারেন, যা ডেটার কপি একাধিক সার্ভারে বিতরণ করতে সহায়ক। MariaDB Master-Slave এবং Multi-Master রেপ্লিকেশন সাপোর্ট করে।
Master-Slave রেপ্লিকেশন এ, একটি সার্ভার মূল (Master) হিসেবে কাজ করে এবং অন্য একটি বা একাধিক সার্ভার সেই ডেটার কপি (Slave) রাখে।
my.cnf বা mariadb.cnf ফাইলটি খুলুন এবং নিচের লাইনগুলো যোগ করুন:
[mysqld]
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-format = row
Slave সার্ভারে my.cnf ফাইল খুলুন এবং নিচের লাইনগুলো যোগ করুন:
[mysqld]
server-id = 2
CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 107;
এর পরে, Slave সার্ভার চালু করুন:
START SLAVE;
| বৈশিষ্ট্য | MariaDB | MySQL |
|---|---|---|
| উৎপত্তি | MySQL ফর্ক (MySQL থেকে তৈরি) | মূল ডেভেলপমেন্ট (Oracle দ্বারা নিয়ন্ত্রিত) |
| স্টোরেজ ইঞ্জিন | XtraDB (InnoDB বিকল্প), Aria, ColumnStore | InnoDB, MyISAM |
| পারফরম্যান্স | উন্নত পারফরম্যান্স অপটিমাইজেশন | সাধারণ পারফরম্যান্স, বেসিক অপটিমাইজেশন |
| রেপ্লিকেশন | Multi-Source, Parallel Replication | স্ট্যান্ডার্ড রেপ্লিকেশন |
| ডেভেলপমেন্ট মডেল | ওপেন-সোর্স, কমিউনিটি ভিত্তিক | ওপেন-সোর্স, কিন্তু Oracle দ্বারা নিয়ন্ত্রিত |
| JSON সমর্থন | সমর্থন করে | সমর্থন করে |
| Virtual Column সমর্থন | সমর্থন করে | সমর্থন করে |
| এন্টারপ্রাইজ সাপোর্ট | এন্টারপ্রাইজ সমর্থন রয়েছে | Oracle এর মাধ্যমে এন্টারপ্রাইজ সমর্থন |
| সিকিউরিটি | উন্নত এনক্রিপশন এবং অডিটিং | স্ট্যান্ডার্ড সিকিউরিটি ফিচার |
| ক্লাউড সাপোর্ট | ক্লাউড ভিত্তিক ব্যবহারের জন্য উপযুক্ত | ক্লাউড সাপোর্ট আছে (AWS, Google Cloud) |
| কমিউনিটি সাপোর্ট | বৃহত্তর ওপেন-সোর্স কমিউনিটি | ছোট কমিউনিটি, Oracle দ্বারা নিয়ন্ত্রিত |
MariaDB হল একটি শক্তিশালী, উন্নত, এবং ওপেন-সোর্স রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম, যা MySQL এর ফর্ক হিসেবে তৈরি করা হয়েছে। এর উচ্চতর পারফরম্যান্স, স্টোরেজ ইঞ্জিন, এবং ক্লাস্টারিং ফিচারগুলো MariaDB কে বড় এবং জটিল অ্যাপ্লিকেশনগুলোর জন্য আদর্শ সমাধান করে তুলেছে। যাদের দ্রুত এবং নির্ভরযোগ্য ডেটাবেস সিস্টেম প্রয়োজন এবং ওপেন-সোর্স ডেটাবেসে আগ্রহী, তাদের জন্য MariaDB একটি দুর্দান্ত সমাধান।
MariaDB হল একটি ওপেন-সোর্স রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যা মূলত MySQL এর একটি ফর্ক (Fork)। এটি মূলত MySQL ডেভেলপারদের দ্বারা তৈরি করা হয়েছিল, যখন Oracle MySQL কিনে নেয়। MariaDB সম্পূর্ণরূপে MySQL এর সাথে সামঞ্জস্যপূর্ণ এবং অধিকাংশ ক্ষেত্রে এর ফিচার এবং পারফরম্যান্স MySQL-এর সমতুল্য বা উন্নত।
MariaDB একটি অত্যন্ত জনপ্রিয় ডেটাবেস সিস্টেম, বিশেষত যারা ওপেন-সোর্স ভিত্তিক এবং উচ্চ কর্মক্ষমতাসম্পন্ন ডেটাবেস প্রয়োজন তাদের মধ্যে এটি ব্যাপকভাবে ব্যবহৃত হয়। MariaDB ব্যবহার করা সহজ এবং এটি ছোট থেকে বড় স্কেল অ্যাপ্লিকেশনের জন্য উপযুক্ত।
MariaDB বিভিন্ন অপারেটিং সিস্টেমে ইনস্টল করা যায়। নিচে Linux (Ubuntu), Windows, এবং Mac এ MariaDB ইনস্টল করার ধাপগুলো দেওয়া হল।
sudo apt update
sudo apt upgrade
sudo apt install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable mariadb
MariaDB ইনস্টল করার পর, আপনি MariaDB সার্ভার সিকিউরিটি কনফিগার করার জন্য mysql_secure_installation স্ক্রিপ্ট চালাতে পারেন:
sudo mysql_secure_installation
এই স্ক্রিপ্টটি ডিফল্ট পাসওয়ার্ড পরিবর্তন, অপ্রয়োজনীয় ইউজার এবং টেস্ট ডেটাবেস মুছে ফেলার জন্য ব্যবহৃত হয়।
mysql কমান্ড দিয়ে সার্ভারে লগইন করতে পারেন।brew install mariadb
ইনস্টলেশন শেষ হলে, MariaDB সার্ভার চালানোর জন্য:
brew services start mariadb
MariaDB ইনস্টল করার পরে, আপনি mysql ক্লায়েন্ট ব্যবহার করে MariaDB ডাটাবেস ম্যানেজ করতে পারেন।
sudo mysql -u root -p
উপরের কমান্ড দিয়ে আপনি MariaDB এর root ইউজার হিসেবে লগইন করতে পারবেন।
CREATE DATABASE my_database;
USE my_database;
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
উপরের উদাহরণে, students নামে একটি টেবিল তৈরি করা হয়েছে, যেখানে id, name, এবং age নামের কলাম রয়েছে।
INSERT INTO students (name, age) VALUES ('John Doe', 25);
SELECT * FROM students;
উপরের কমান্ডটি students টেবিল থেকে সমস্ত রেকর্ড ফিরিয়ে দেবে।
MariaDB এর মধ্যে অনেক স্টোরেজ ইঞ্জিন রয়েছে, যা ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। কিছু উল্লেখযোগ্য স্টোরেজ ইঞ্জিন হল:
SHOW ENGINES;
CREATE TABLE example (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50)
) ENGINE=InnoDB;
MariaDB এর মাধ্যমে আপনি ডাটাবেস রেপ্লিকেশন করতে পারেন, যা ডেটার কপি একাধিক সার্ভারে বিতরণ করতে সহায়ক। MariaDB Master-Slave এবং Multi-Master রেপ্লিকেশন সাপোর্ট করে।
Master-Slave রেপ্লিকেশন এ, একটি সার্ভার মূল (Master) হিসেবে কাজ করে এবং অন্য একটি বা একাধিক সার্ভার সেই ডেটার কপি (Slave) রাখে।
my.cnf বা mariadb.cnf ফাইলটি খুলুন এবং নিচের লাইনগুলো যোগ করুন:
[mysqld]
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
binlog-format = row
Slave সার্ভারে my.cnf ফাইল খুলুন এবং নিচের লাইনগুলো যোগ করুন:
[mysqld]
server-id = 2
CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 107;
এর পরে, Slave সার্ভার চালু করুন:
START SLAVE;
| বৈশিষ্ট্য | MariaDB | MySQL |
|---|---|---|
| উৎপত্তি | MySQL ফর্ক (MySQL থেকে তৈরি) | মূল ডেভেলপমেন্ট (Oracle দ্বারা নিয়ন্ত্রিত) |
| স্টোরেজ ইঞ্জিন | XtraDB (InnoDB বিকল্প), Aria, ColumnStore | InnoDB, MyISAM |
| পারফরম্যান্স | উন্নত পারফরম্যান্স অপটিমাইজেশন | সাধারণ পারফরম্যান্স, বেসিক অপটিমাইজেশন |
| রেপ্লিকেশন | Multi-Source, Parallel Replication | স্ট্যান্ডার্ড রেপ্লিকেশন |
| ডেভেলপমেন্ট মডেল | ওপেন-সোর্স, কমিউনিটি ভিত্তিক | ওপেন-সোর্স, কিন্তু Oracle দ্বারা নিয়ন্ত্রিত |
| JSON সমর্থন | সমর্থন করে | সমর্থন করে |
| Virtual Column সমর্থন | সমর্থন করে | সমর্থন করে |
| এন্টারপ্রাইজ সাপোর্ট | এন্টারপ্রাইজ সমর্থন রয়েছে | Oracle এর মাধ্যমে এন্টারপ্রাইজ সমর্থন |
| সিকিউরিটি | উন্নত এনক্রিপশন এবং অডিটিং | স্ট্যান্ডার্ড সিকিউরিটি ফিচার |
| ক্লাউড সাপোর্ট | ক্লাউড ভিত্তিক ব্যবহারের জন্য উপযুক্ত | ক্লাউড সাপোর্ট আছে (AWS, Google Cloud) |
| কমিউনিটি সাপোর্ট | বৃহত্তর ওপেন-সোর্স কমিউনিটি | ছোট কমিউনিটি, Oracle দ্বারা নিয়ন্ত্রিত |
MariaDB হল একটি শক্তিশালী, উন্নত, এবং ওপেন-সোর্স রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম, যা MySQL এর ফর্ক হিসেবে তৈরি করা হয়েছে। এর উচ্চতর পারফরম্যান্স, স্টোরেজ ইঞ্জিন, এবং ক্লাস্টারিং ফিচারগুলো MariaDB কে বড় এবং জটিল অ্যাপ্লিকেশনগুলোর জন্য আদর্শ সমাধান করে তুলেছে। যাদের দ্রুত এবং নির্ভরযোগ্য ডেটাবেস সিস্টেম প্রয়োজন এবং ওপেন-সোর্স ডেটাবেসে আগ্রহী, তাদের জন্য MariaDB একটি দুর্দান্ত সমাধান।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?