Mesin database adalah komponen MySQL yang dapat menangani operasi SQL seperti membuat, membaca, memperbarui data dari database. Ada dua jenis mesin di MySQL: transaksional dan non-transaksional.InnoDB adalah mesin default untuk MySQL 5.5 dan versi di atasnya. DBMS utama menggunakan antarmuka pemrograman aplikasi (API) untuk memungkinkan interaksi pengguna dengan mesin basis data. Sangat perlu untuk mengetahui tentang mesin untuk basis data produksi dan itu juga berdampak pada pengembangan di masa depan. Untuk mengakses daftar mesin MySQL yang tersedia, kami menjalankannya TAMPILKAN MESIN; pertanyaan.
Ada 2 jenis mesin basis data:
- Database Transaksional: Dalam tipe ini, kita dapat memutar kembali operasi tulis pada database jika dibiarkan tidak lengkap. Operasi ini dikenal sebagai transaksi. Sebagian besar, mesin modern bersifat transaksional.
- Database Non-Transaksional: Tidak seperti database transaksional, mereka tidak menyediakan Rollback/Commit. Sebagai gantinya, kita perlu membuat kode secara manual untuk melakukan operasi rollback.
Gambar di bawah mengilustrasikan berbagai mesin yang tersedia di MySQL:

Daftar mesin basis data di MySQL
Pada artikel ini, kita akan belajar tentang InnoDB, MyISAM, MEMORY, MERGE, CSV, dan SEQUENCE mesin, fitur-fiturnya, beserta mengetahui kelebihan & kekurangannya.
InnoDB: InnoDB adalah mesin penyimpanan untuk DBMS MySQL dan MariaDB. Ini adalah mesin penyimpanan default untuk MySQL versi 5.5 dan lebih tinggi. Itu menggantikan MyISAM sebagai mesin default.
Fitur:
- Ini menyediakan fitur transaksi sesuai ACID standar, bersama dengan dukungan kunci asing. Oracle merekomendasikan InnoDB untuk tabel.
- Ini mendukung kontrol konkurensi multi-versi, pemulihan kerusakan, dan operasi rollback. Performa multi-pengguna dimungkinkan karena penguncian tingkat baris.
- Ini juga digunakan di server MariaDB. Untuk menjaga integritas dan keamanan data, InnoDB mendukung batasan kunci asing.
- InnoDB mendukung buffer yang meng-cache data serta indeks.
- Ini menawarkan metode penguncian tabel, yang berarti hanya satu pengguna yang dapat mengubah tabel pada satu waktu.
Keuntungan:
- Mendukung properti ACID (Atomicity, Consistency, Isolation, dan Durability) untuk mengamankan data pengguna.
- Akses ke banyak pengguna dengan performa tinggi dan pembacaan yang konsisten dalam gaya Oracle.
- Mendukung penggunaan kunci asing yang membantu dalam operasi pembaruan, penyisipan, dan penghapusan yang konsisten. Juga, ini membantu menjaga integritas isi tabel database.
Kekurangan:
- Tidak mendukung pencarian teks lengkap.
- Jika kinerja menjadi prioritas maka tidak digunakan karena lebih lambat dari MyISAM.
- Penggunaan hubungan kunci asing membuatnya rumit untuk digunakan.
MyISAM: Ini adalah mesin default untuk versi DBMS MySQL sebelum 5.5.MyISAM adalah mesin penyimpanan dan pengambilan penyimpanan berkecepatan tinggi. Itu tidak mendukung transaksi. Mudah untuk menyalin antar sistem dan memiliki jejak data yang kecil. Sebagian besar digunakan di Web dan Data Warehousing.
Fitur:
- MyISAM disimpan dalam 3 file: .frm – Menyimpan format tabel, .MYD – File data, .MYI – file indeks.
- Ini mendukung tiga format penyimpanan: Tetap, Dinamis, dan Terkompresi.
- Panjang kunci maksimum adalah 1000 byte.
- Jumlah maksimum indeks per tabel dan kolom per indeks masing-masing adalah 64 dan 16.
Keuntungan:
- MyISAM lebih sederhana dari mesin lainnya.
- Ini lebih cepat daripada mesin database tujuan umum lainnya. Ini juga menyediakan pencarian teks lengkap
Kekurangan:
- Ini dapat dengan mudah menyebabkan korupsi tabel. Namun, kita dapat menggunakan kueri REPAIR TABLE untuk memulihkannya.
- Itu tidak mendukung kendala atau transaksi kunci asing.
CSV: Ini digunakan untuk menyimpan format CSV dalam file teks. Itu selalu dikompilasi ke dalam server MySQL. Ini ringan dan dapat dengan mudah diimpor ke dalam program spreadsheet.
Fitur:
- Tabel CSV menggunakan format CSV sehingga dapat digunakan untuk pertukaran data misalnya. menggunakan spreadsheet.
- Pengeditan data dapat dilakukan meskipun server MySQL sedang down menggunakan editor file standar
- Memuat data besar secara instan di server MySQL.
Keuntungan:
- Metafile dibuat yang menyimpan keadaan tabel dan jumlah baris yang ada di tabel setelah membuat file CSV.
- Data disimpan dalam file teks menggunakan format nilai yang dipisahkan bersama.
Kekurangan:
- Mesin CSV tidak mendukung pengindeksan.
- Itu tidak mendukung partisi.
- Itu harus memiliki BUKAN NULL atribut pada semua kolom.
MENGGABUNGKAN: Tabel yang dibuat menggunakan mesin MERGE digunakan untuk menangani volume data yang besar dengan mudah. Ini adalah kumpulan tabel MyISAM identik yang dapat digunakan sebagai satu. Oleh karena itu, ini juga dikenal sebagai mesin MRG_MyISAM. Ini bagus untuk lingkungan pergudangan data.
Fitur:
- Itu diperkenalkan di MySQL versi 3.23.25.
- UNION dan INSERT_METHOD adalah dua fitur unik dari tabel MERGE.
- Tabel MERGE tidak memiliki indeks PRIMARY KEY atau UNIQUE karena mereka tidak dapat menerapkan keunikan pada semua tabel.
Keuntungan:
- Ini adalah kumpulan tabel MyISAM identik yang dapat digunakan sebagai satu tabel. Memori disimpan karena itu.
- Itu dapat melakukan perbaikan yang paling efisien dari masing-masing tabel daripada memperbaiki satu tabel besar yang dibuat dengan menggabungkan tabel-tabel individual ini.
- Tabel gabungan tidak terbatas pada ukuran file sistem operasi, tidak seperti tabel MyISAM.
Kekurangan:
- Hanya tabel MyISAM identik yang dapat digunakan untuk menggabungkan.
- Jika tabel MERGE bersifat nontemporer, tabel gabungan harus nontemporer. Jika tabel MERGE bersifat sementara, tabel MyISAM dapat berupa campuran sementara dan tidak sementara.
- Beberapa fitur MyISAM tidak tersedia di tabel MERGE.
PENYIMPANAN: Ini dianggap sebagai mesin tercepat yang biasanya digunakan untuk membuat tabel sementara di memori (juga dikenal sebagai HEAP). Dengan demikian data hilang ketika database di-restart. Ini non-transaksional. Ini berguna untuk pencarian cepat referensi dan data pengenal lainnya. Ini menyimpan semua data dalam RAM untuk akses lebih cepat daripada menyimpan data dalam disk. Ini banyak digunakan untuk cache data read-only dari tabel atau untuk penggunaan sementara.
Fitur:
- Itu tidak membuat file apa pun di disk.
- Tabel MEMORY tidak boleh berisi kolom BLOB atau TEXT.
- Kolom AUTO_INCREMENT didukung.
- VARCHAR disimpan menggunakan panjang tetap yaitu menggunakan format penyimpanan baris dengan panjang tetap.
Keuntungan:
- Data dienkripsi yang diimplementasikan di server melalui fungsi enkripsi.
- Mendukung B-pohon indeks.
- Menawarkan penguncian tingkat rendah dan operasi multi-utas untuk pertikaian rendah di antara klien.
Kekurangan:
- Tabel MEMORY tidak dapat dipartisi.
- Memori tidak dapat diperoleh kembali jika Anda menghapus baris individual dari tabel MEMORY
URUTAN: Ini adalah mesin transaksional yang digunakan untuk membuat urutan naik atau turun dari bilangan bulat positif dengan nilai awal, akhir, dan kenaikan yang diberikan. Ini hanya-baca dan mendukung XA.
Fitur:
- Seperti mesin basis data MEMORY, itu tidak membuat file apa pun di disk.
- Itu membuat tabel virtual secara otomatis kapan pun kita membutuhkannya. Tidak ada cara untuk membuat tabel SEQUENCE secara eksplisit.
- Mesin ini berguna dengan gabungan dan subkueri.
Keuntungan:
- Mesin SEQUENCE tidak terikat pada tabel. Dengan demikian, kita dapat menggunakannya untuk tujuan lain juga.
- Fleksibilitas dalam implementasi tabel.
Kekurangan:
- Pemrograman tambahan diperlukan untuk fitur AUTO_INCREMENT yang tidak tersedia di mesin secara default.
- Masalah konkurensi saat ada beberapa sesi paralel yang aktif.