Macam-Macam Storage Engine Yang Ada Di MySQL
MySQL merupakan salah satu DBMS (Database Management System) yang paling banyak digunakan saat ini. Data di MySQL disimpan dalam file-file (memori) menggunakan berbagai teknik berbeda. Masing-masing teknik menggunakan mekanisme penyimpanan, fasilitas pengindeksan, tingkatan penguncian yang berbeda dan pada akhirnya akan memberikan rentang kemampuan dan fungsi yang berbeda pula. Dengan menggunakan teknik berbeda, Anda dapat memperoleh kecepatan proses tambahan atau manfaat tambahan yang akan meningkatkan keseluruhan fungsi dari aplikasi. Masing-masingteknik dan serangkaian fungsi di dalam sistem MySQL inilah yang disebut dengan storage engine atau table type.
Secara default, MySQL telah dilengkapi dengan sejumlah storage engine yang telah diprakonfigurasi dan diaktifkan di server MySQL. Dua storage engine MySQL yang paling umum digunakan adalah InnoDB dan MyISAM. InnoDB adalah storage engine default untuk MySQL versi 5.5 ke atas, sedangkan MyISAM adalah storage engine yang digunakan sebelum MySQL versi 5.5. Anda dapat memilih storage engine yang dapat digunakan pada server, database maupun tabel. Jika Anda tidak menentukan storage engine yang akan digunakan, storage engine default yang digunakan adalah yang sesuai dengan konfigurasi server MySQL. Berikut ini adalah berapa storage engine yang ada di MySQL versi 5.5:
- InnoDB : merupakan storage engine yang aman untuk proses-proses transaksional pada MySQL yang memiliki kemampuan commit, rollback dan crash-recovery guna memproteksi data penguna. InnoDB menyimpan data pengguna 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 default untuk MySQL versi 5.5 ke atas.
- MyISAM : merupakan storage engine default 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) terkenal yang telah menggunakan MySQL diantaranya adalah Joomla, Wordpress dan Drupal.
- Memory : merupakan storage engine yang menyimpan data di RAM untuk akses cepat terhadap pencarian data. Storage engine yang awalnya dikenal sebagai HEAP engine ini pemanfaatannya cenderung mengalami penurunan.
- CSV : mulai ditambahkan di MySQL versi 4.1.4, merupakan 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 : merupakan storage engine yang memudahkan Administrator Database MySQL untuk mengelompokkan secara logis serangkaian tabel MyISAM yang identik dan mengacunya sebagai satu obyek.
- 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 : merupakan storage engine yang menerima tetapi tidak menyimpan data dan proses pengambilan data selalu tidak menghasilkan apapun (an empty set), digunakan dalam desain database terdistribusi dimana data otomatis direplikasi tetapi tidak disimpan.
- 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 : 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.