Terdapat berbagai macam enggine yang ada pada MySQL namun, hanya ada 2 jenis utama dari mesin penyimpanan tabel untuk database pada MySQL yang lebih banyak digunakan yaitu InnoDB dan MyISAM.

MySQL Engines : Perbandingan InnoDB vs MyISAM

Terdapat berbagai macam enggine yang ada pada MySQL namun, hanya ada 2 jenis utama dari mesin penyimpanan tabel untuk database pada MySQL yang lebih banyak digunakan yaitu InnoDB dan MyISAM.

Keuntungan dari InnoDB

  • InnoDB telah dirancang untuk kinerja maksimum saat memproses volume data yang besar. Efisiensi CPU yang mungkin tidak cocok dengan mesin database relasional berbasis disk lainnya.
  • Desainnya mengikuti model ACID (atomicity, consistency, isolation, and durability), dengan transaksi yang menampilkan commitrollback, dan kemampuan crash-recovery untuk melindungi data pengguna.
  • Tabel InnoDB mengatur data pada disk untuk mengoptimalkan pencarian yang umum didasarkan pada kunci primer. Setiap tabel InnoDB memiliki indeks primary key disebut clustered-index yang mengatur data untuk meminimalkan I/O untuk pencarian kunci primer.
  • Lebih cepat dalam menulis secara intensif (insert, update) pada tabel karena menggunakan penguncian row-level dan hanya melakukan perubahan pada baris yang sama yang sedang dimasukkan atau diperbaharui.

 

Kekurangan dari InnoDB

  • Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, maka database administrator dan pencipta skema harus mengambil lebih banyak waktu dalam merancang model data yang lebih kompleks daripada MyISAM.
  • Mengkonsumsi sumber daya sistem yang lebih besar seperti RAM. Beberapa database administrator menganjurkan, bahwa InnoDB Enggine lebih baik dimatikan jika tidak perlu setelah instalasi MySQL.

 

Keuntungan dari MyISAM

  • Sederhana untuk merancang dan membuat, sehingga lebih baik untuk pemula. Jangan khawatir tentang foreign relationships antara tabel.
  • Lebih cepat dari InnoDB pada keseluruhan proses, sebagai akibat dari struktur yang sederhana sehingga sumber daya server yang dibutuhkan jauh lebih sedikit.
  • Pengindeksan teks lengkap.
  • Terutama baik untuk tabel read-intensif (pilih).

 

Kekurangan dari MyISAM

  • Tidak ada pemeriksaan integritas data (mis. relationship constraints), yang kemudian menjadi tanggung jawab lebih dari para administrator database dan pengembang aplikasi.
  • Lebih lambat dari InnoDB untuk tabel yang sering, sedang melakukan proses insertdan update, karena seluruh tabel terkunci ketika sedang melakukan proses insert dan update.
  • Perbandingan itu cukup sederhana. InnoDB lebih cocok untuk data situasi kritis yang lebih sering melakukan proses insert dan update. MyISAM, di sisi lain, dapat bekerja lebih baik dengan aplikasi yang tidak cukup bergantung pada integritas data dan kebanyakan hanya memilih dan menampilkan data .

 

Kesimpulan

  • InnoDB lebih baru sementara MyISAM lebih tua.
  • InnoDB lebih kompleks , sementara MyISAM lebih sederhana.
  • InnoDB lebih ketat dalam integritas data sementara MyISAM longgar.
  • InnoDB menerapkan kunci row-level untuk memasukkan dan memperbarui data sementara MyISAM menerapkan kunci table-level.
  • InnoDB memiliki transaksi sementara MyISAM tidak.
  • InnoDB memiliki kunci asing dan hubungan contraints sementara MyISAM tidak.
  • InnoDB memiliki pemulihan crash lebih baik sementara MyISAM lebih sulit untuk memulihkan integritas data pada sistem crash.
  • InnoDB menggunakan Row-level locking. Memiliki berbagai macam mekanisme yang lebih baik dan memberi Anda concurrency yang lebih tinggi dibandingkan dengan MyISAM.
  • MyISAM memiliki pencarian full-text indexs sementara InnoDB tidak (Pada MySQL versi terbaru 5.6.4 InnoDB sudah didukung pencarian full-text).

Mengingat perbedaan-perbedaan ini, InnoDB dan MyISAM memiliki kelebihan unik dan kekurangan terhadap satu sama lain. Mereka masing-masing lebih cocok dalam beberapa skenario yang berbeda.

 

Sumber


About Author

root

"To be more advanced does not need to be complicated" because simple it's more easier and better.


Comment & Discussions

    Please LOGIN before if you want to give the comment.