Pilih Innodb atau MyISAM?

    Beberapa waktu lalu, waktu ane kuliah e-commerce, disitu ada proyek besar dimana ane disuruh bikin aplikasi web commerce…
    nah, pada kuliah ini ane mendapat pengetahuan baru (menurut ane) tentang struktur store-engine dari database mysql….

    nah, Mysql menyediakan banyak storage engine, akan tetapi yang paling sering digunakan adalah MyISAM dan InnoDB.
    Storage engine adalah cara bagaimana data disimpan, di edit ataupun diambil dari suatu tabel. Karenanya dalam satu database Anda bisa membuat banyak macam jenis storage engine pada masing-masing tabelnya.

    OKe, Sekilas dulu tentang kedua storage itu:

    MyISAM: storage enggine ini sering digunakan dalam website, data warehouse, dan model aplikasi lainnya. Secara default storage engine akan memakai type ini.

    InnoDB: storage engine ini sering dikenal karena mempunyai fitur transaksi, seperti commit, rollback dan crash recovery layaknya oracle. Disamping itu juga mempunyai fitur tabel relasi dan integritas – foreignkey.

    Nah, Sekarang tentang kelebihan dan kekurangan dari storage itu:

    • Sederhana untuk perancangan sehingga memudahkan bagi pemula.
    • Lebih cepat daripada InnoDB pada keseluruhan, baik penyimpanan data ataupun konsumsi memory RAM sebagai akibat dari strukturnya yang sederhana sehingga jauh lebih sedikit konsumsi sumber daya server
    • Lebih cepat pada proses pembacaan, sangat dianjurkan jika table sering terjadi proses pembacaan
    • Mendukung Pengindeksan teks lengkap.
    • Kapasitas yang tertampung bisa lebih besar dibanding engine InnoDB. Sekitar 256TB, sedangkan InnoDB daya tampungnya 64TB.

    Kekurangan

    • Tidak mendukung integritas data, sehingga untuk proses integritas data dilakukan secara program bukan di databasenya.
    • Tidak mendukung transaksi seperti commit, rollback ataupun crash recovery.
    • Lebih lambat dibanding InnoDB jika proses yang sering terjadi adalah insert atau update.

    InnoDB

    Keuntungan

    • Mendukung integritas data secara penuh dengan adanya foreignkey.
    • Lebih cepat dalam proses menulis-intensif (penyisipan, update) tabel
    • Mendukung transaksi seperti commit, rollback ataupun crash recovery..

    Kekurangan

    • Karena InnoDB mementingkan integritas, maka proses perancangan tentu membutuhkan usaha yang lebih besar.
    • Mengkonsumsi sumber daya sistem lebih besar baik dalam penyimpanan maupun memory RAM.
    • Proses pembacaan data lebih lambat dibanding engine MyISAM.
    • Tidak mendukung pengindeksan teks penuh.

    Nah, tentang mana yang lebih baik dipakai.. semua tipe storage ini adalah baik. sekarang tinggal bagaimana kita memiliihnya secara bijak dan disesuaikan dengan kebutuhan.
    misal:
    akan membuat aplikasi yang memiliki transaksi dan keterkaitan datanya sangat penting (punya banyak relasi) misal data transaksi, maka lebih baik gunakan storage innoDB
    namun, apabila akan membuat aplikasi biasa non transaksi lebih baik gunakan MyISAM

    sumber: ini

      Tinggalkan Balasan

      Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *