স্টোরেজ ইঞ্জিন হলো ডেটাবেস ম্যানেজমেন্ট সিস্টেমের সফ্টওয়্যার মডিউল যা ডেটা তৈরি, পড়া, আপডেট, ডিলিট করে। MySQL-এ ডিফল্ট ইঞ্জিন InnoDB।
সকল ইঞ্জিন দেখানো
mysql> SHOW ENGINES;
আউটপুট:
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
প্রধান ইঞ্জিনগুলোর বৈশিষ্ট্য
- InnoDB: ডিফল্ট, ACID ট্রানজ্যাকশন, রো-লেভেল লকিং, ফরেন কী, ক্র্যাশ রিকভারি
- MyISAM: ফুল-টেক্সট সার্চ (পুরানো ভার্সন), টেবিল-লেভেল লকিং, ট্রানজ্যাকশন নেই
- MEMORY: র্যাম-তে স্টোর, খুব দ্রুত, রিস্টার্টে ডেটা হারায়
- CSV: CSV ফাইল ফরম্যাটে ডেটা স্টোর
- ARCHIVE: কমপ্রেসড, শুধু ইনসার্ট/সিলেক্ট, নো ইনডেক্স
- BLACKHOLE: ডেটা লেখা যায় কিন্তু স্টোর হয় না (রেপ্লিকেশন ফিল্টারের জন্য)
টেবিল তৈরি সময় ENGINE=InnoDB` নির্দিষ্ট করা বেস্ট প্র্যাকটিস।