YAZILIM

InnoDB ve MyISAM – Karşılaştırma

Ekleyen AHMET AKKÜP

Eğer kurumsal çapta bir yazılım geliştirmeyi ve veri tabanı yönetim sistemi olarak MySQL’ i kullanmayı düşünüyorsanız, MySQL depolama motorlarının artılarını ve eksilerini iyi biliyor olmanız gerekir.

InnoDB ve MyISAM – Karşılaştırma


Hedeflediğiniz ihtiyaca göre yapacağınız seçimler, uzun vadede, kayıt sayısı arttıkça başınıza büyük sorunlar açabilir.

Bu yazıda sizlere, ihtiyaçlarınız doğrultusunda, MySQL’ den alabileceğiniz verimi ve performansı maximize edecek bilgiler vermek ve MySQL depolama motorlarını hızlı bir karşılaştırmasını yapmak istiyorum. Bu karşılaştırmanın ihtiyacınız için en doğru depolama motorunu seçmenizde sizlere yardımcı olmasını ümit ediyoruz.

Bu bilgiler MySQL’ nin resmi sitesinden ve tecrübelerimiz doğrultusunda hazırlanmıştır.

 

MyISAM ÖZELLİKLERİ:

- Tasarımı kolaydır bu nedenle yeni başlayanlar için tavsiye edilir.
- Tablolar arası ilişkiler yoktur (foreign key constraint).
- Basit yapısı sebebiyle InnoDB’den daha hızlıdır.
- Sunucu kaynaklarının kullanımı göz önünde bulundurulduğunda daha az maliyetlidir.
- Full-text indexing yapılabilir.
- Özellikle yoğun okuma (read-intensive) yapılan uygulamalar için çok uygundur.

InnoDB ÖZELLİKLERİ:

- Transaction desteği vardır (böylece ACID özellikleri için destek sağlar).
- Satır seviyesinde kilitleme desteği sağlar. Bu özelliği ile MyISAM’a göre daha tutarlıdır denilebilir (concurrency).
- Tablolar arası ilişkiler tanımlanabilir. Bu özelliği ile veri bütünlüğü daha iyi sağlanmış olur (integrity).
- Tablo bozulmalarına karşı MyISAM’dan daha dirençlidir.
- Hem tablolar hem de indexler için daha büyük tampon havuzu (buffer pool) destekler. MyISAM yalnızca indexler için tampon havuzu desteği sağlar ve daha küçüktür.
- MyISAM motoru ilerleyişi (geliştirme anlamında) durmuş durumdadır. Dolayısıyla, tüm yeni özellikler InnoDB tarafından desteklenmiş olacaktır.

MyISAM LİMİTLERİ:

- Tablolar arasında ilişkiler mümkün değildir (foreing key constraint)
-  Transaction desteği yoktur.
- Satır limiti 4,284,867,296 dır.
- Her satır için maximum 64 index oluşturulabillir.

InnoDB LİMİTLERİ

- Full-text index desteği yoktur (MySQL 5.6 öncesi sürümler için)

FACEBOOK İLE YORUMLA

YUKARI