Selamat malam teman-teman semua, lagi pada ngapain ki, facebookan kah, twitteran kah, belajarkah, yang lagi apa saja met apa saja ya, hehehe, di malam hari ini saya akan menjelaskan mengenai MyISAM VS InnoDB mau kok kayak mau perang ya???? hehe endak kok tenang saja, da;am hal ini adalah Strorage Engine yang digunakan di database MySQL bagi yang belum pernah menggunakan Strage Engine wajib untuk membaca article ini bagi yang sudah mahir maka harap untuk di koreksi setiap article yang saya posting , ok dah gak usah berlama-lama langsung ke TKP saja, nanti malah ngantu lok lama-lama, hehehe...
Berikut ringkasan perbedaan fitur dan kinerjanya:
- InnoDB lebih baru dalam hal pengembangan sementara MyISAM lebih dulu ada.
- InnoDB lebih kompleks, sementara MyISAM lebih sederhana.
- InnoDB semakin ketat dalam integritas data, sementara MyISAM longgar.
- InnoDB menerapkan penguncian tingkat baris untuk insert dan update baris, sementara MyISAM menerapkan penguncian tingkat tabel.
- InnoDB memiliki transaksi, sementara MyISAM tidak.
- InnoDB memiliki kunci asing (Foreign Key) dan contraints sementara MyISAM tidak.
- InnoDB memiliki sistem revovery lebih baik dari pada MyISAM.
- MyISAM memiliki indeks pencarian teks penuh (full text search) sementara InnoDB tidak.
Mengingat perbedaan-perbedaan, InnoDB dan MyISAM memiliki kelebihan dan kekurangan yang unik terhadap satu sama lain.
Keuntungan dari InnoDB
- InnoDB cocok digunakan dimana integritas data lebih prioritas.
- Lebih cepat dalam insert update tabel karena menggunakan tingkat penguncian baris.
Kekurangan dari InnoDB
- Karena InnoDB harus menjaga hubungan yang berbeda antara tabel, database administrator dan pencipta skema harus mengambil lebih banyak waktu dalam mendesain model data yang lebih kompleks daripada MyISAM.
- Mengkonsumsi sumber daya sistem yang lebih seperti RAM. Direkomendasikan bahwa engine InnoDB didisable jika tidak perlu substansial untuk itu, setelah instalasi MySQL.
- Tidak adanya pengindeksan teks penuh (full text search).
Keuntungan MyISAM
- Sederhana untuk dirancang dan dibuat, sehingga lebih baik untuk pemula. dan tidak perlu khawatir tentang hubungan antara tabel.
- Lebih cepat dari InnoDB pada keseluruhan sebagai akibat dari struktur sederhana sehingga jauh lebih sedikit sumber daya server.
- Pengindeksan teks lengkap (full text search).
- Sangat baik untuk membaca-intensif (select) tabel.
Kekurangan dari MyISAM
- Tidak ada integritas data(misalnya kendala hubungan), yang kemudian datang tanggung jawab dan overhead dari para administrator database dan pengembang aplikasi.
- Tidak mendukung transaksi.
- Lebih lambat dari InnoDB untuk tabel yang sering insert dan diupdate, karena seluruh tabel terkunci untuk insert dan update.
Perbandingan
tersebut cukup sederhana. InnoDB lebih cocok untuk data situasi kritis
dimana table sering dilakukan insert dan update.
Disisi
lain MyISAM, lebih cocok dengan aplikasi yang tidak cukup bergantung
pada integritas data dan kebanyakan hanya memilih dan menampilkan data.
Penjelasan lain
Salah satu kelebihan dari MySQL
adalah Anda dapat mendefinisikan tipe untuk tiap tabel. MySQL mendukung
beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL.
MySQL memiliki 3 (tiga) tipe data utama, yaitu
MyISAM, InnoDB dan HEAP.
Jika kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe
tabel otomatis akan dibuat sesuai konfigurasi default server MySQL. Hal
ini ditentukan oleh variabel default-table-type di file konfigurasi
MySQL.
MyISAM
Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan
mudah digunakan. Jika kita akan menyimpan data sederhana yang tidak
terlalu rumit, maka gunakanlah tipe tabel ini. Kelebihan utama MyISAM
adalah kecepatan dan kestabilannya. Jika kita memilih tipe tabel MyISAM,
maka MySQL secara otomatis
akan menentukan salah satu dari tiga jenis tabel MyISAM, yaitu :
a. MyISAM static. Jenis ini digunakan ketika semua
kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed). Dengan
kata lain, tidak ada kolom yang memiliki tipe seperti VARCHAR, TEXT dan
BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman
dan stabil.
b. MyISAM dymanic. Jenis ini digunakan ketika
terdapat kolom dengan tipe yang dinamis, seperti tipe kolom VARCHAR.
Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi
sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari
masing-masing kolom (field).
c. MyISAM Compressed. Kedua jenis MyISAM, static dan
dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed
dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi
ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti
INSERT, UPDATE dan
DELETE.
InnoDB
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses
transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
a. Mendukung transaksi antar tabel.
b. Mendukung row-level-locking.
c. Mendukung Foreign-Key Constraints.
d. Crash recovery.
HEAP
Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi
menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai
tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang)
dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.
Tipe Tabel yang Lain
Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL
juga mendukung tipe tabel yang lain, yaitu:
a. BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum
maksimal.
b. Archieve. Tipe ini tersedia sejak MySQL versi
4.1. Tipe ini digunakan untuk menyimpan tabel yang terkompresi, dimana
biasanya digunakan dalam
proses backup.
c. CSV. Tipe ini digunakan untuk menyimpan data
dalam bentuk file text yangdibatasi dengan koma (delimiter). Tipe ini
tersedia sejak MySQL versi 4.1.
d. NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.
e. Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.
bagaimana sob sudah faham apa belum , kalau belum faham komen ya
semoga bisa bermanfaat
0 komentar:
Posting Komentar