MySQL adalah RDBMS (Relational Database Management System) open source yang populer dan paling banyak digunakan saat ini. Data di MySQL disimpan di dalam file-file (memori) menggunakan berbagai teknik yang berbeda. Setiap teknik juga menggunakan mekanisme penyimpanan, fasilitas pengindeksan, tingkatan penguncian berbeda yang pada akhirnya akan memberikan rentang kemampuan dan fungsi yang berbeda pula.
Dengan menggunakan teknik berbeda, Anda dapat memperoleh kecepatan prosesĀ atau manfaat tambahan yang akan meningkatkan keseluruhan fungsi dari aplikasi. Masing-masing teknik dan serangkaian fungsi di dalam sistem MySQL inilah yang disebut dengan storage engine atau table type.
Secara default, MySQL dilengkapi dengan beberapa storage engine yang juga telah diprakonfigurasi dan diaktifkan di server MySQL. Dua storage engine MySQL yang umum digunakan adalah InnoDB dan MyISAM. InnoDB adalah storage engine standar untuk MySQL versi 5.5 ke atas, sedangkan MyISAM adalah storage engine yang digunakan sebelum MySQL versi 5.5.
Anda dapat menetukan atau memilih storage engine yang akan digunakan pada server, database maupun tabel. Jika Anda tidak menentukan storage engine yang akan digunakan, maka storage engine standar yang digunakan adalah yang sesuai dengan konfigurasi server MySQL.
Berikut ini adalah beberapa storage engine yang ada di basis data (database) MySQL versi 5.5:
InnoDB
InnoDB adalah storage engine yang aman untuk proses transaksional pada MySQL yang memiliki kemampuan commit, rollback dan crash-recovery untuk memproteksi data. InnoDB menyimpan data dalam indeks-indeks yang terklaster (clustered indexes) untuk mengurangi I/O atas kueri umum (common queries) berdasarkan primary key. Guna mendukung integritas data, InnoDB juga mendukung Foreign Key untuk referential-integrity constraint. InnoDB adalah storage engine standar untuk MySQL versi 5.5 ke atas.
MyISAM
MyISAM merupakan storage engine standar untuk MySQL sebelum versi 5.5 dan yang paling panyak digunakan pada data werehousing, Web dan lingkungan aplikasi lainnya. Beberapa contoh CMS (Content Management System) populer yang telah menggunakan MySQL diantaranya adalah CMS Joomla, CMS Wordpress dan CMS Drupal.
Memory
Memory merupakan storage engine yang menyimpan data di RAM untuk akses cepat terhadap pencarian data. Storage engine yang awalnya dikenal sebagai HEAP engine ini penggunaannya cenderung mengalami penurunan.
CSV
CSV mulai ditambahkan di MySQL versi 4.1.4, adalah storage engine yang menyimpan data dalam bentuk file text dan menggunakan pembatas koma untuk memisahkan format nilai. Anda dapat menggunakannya untuk bertukar data antar perangkat lunak yang mendukung format CSV.
Merge
Merge merupakan storage engine yang memudahkan Administrator Database MySQL untuk mengelompokkan secara logis serangkaian tabel MyISAM yang identik dan mengacunya sebagai satu obyek.
Archive
Archive mulai ditambahkan di MySQL versi 4.1.3, merupakan storage engine yang digunakan untuk menyimpan atau memperoleh informasi dalam jumlah cukup besar dari tabel-tabel yang tidak terindeks.
Blackhole
Blackhole merupakan storage engine yang menerima tetapi tidak menyimpan data dan proses pengambilan data selalu tidak menghasilkan apapun (an empty set), digunakan dalam disain database terdistribusi dimana data otomatis direplikasi tetapi tidak disimpan.
Federated
Federated mulai ditambahkan di MySQL versi 5.0, merupakan storage engine yang menawarkan kemampuan untuk menghubungkan server MySQL yang terpisah untuk membuat satu database logis dari banyak server fisik.
Example
Example merupakan storage engine yang berfungsi sebagai rintisan yang tidak melakukan apapun dan berfungsi sebagai contoh dalam kode sumber MySQL. Anda dapat membuat tabel menggunakan storage engine ini, tetapi tidak dapat digunakan untuk menyimpan ataupun mengambil data.