Reklam

MySQL

InnoDB ve MyISAM arasındaki farklar?

Bu makalemde sizlere InnoDB ile MyISAM arasındaki farkları anlatacağım, baştan en önemli fark’a değinecek olursak InnoDB MyISAM‘a göre daha kompleks bir yapıya sahiptir ve büyük datalarda (big data) InnoDB daha performanslı bir şekilde veri alış verişi sağlamaktadır.

MyISAM’da satır satır okuduğu için bir anda 1 milyon datayı listelemek istediğinizde, ilk id’den itibaren başlar ve ORDER BY id DESC dediğinizde gözle görülebilir bir fark ortaya çıkacaktır. Benim tavsiyem şu ki eğer basit ve çok yoğun veritabanı kullanılmıyor ise MyISAM kullanmanız tavsiye ederim. Bu konular için örnek olarak vermek gerekirse Opencart, Magento veya WordPress gibi sistemlerin veritabanı yapılarını inceleyebilirsiniz.

Peki MyISAM’ın iyi ve kötü yanlarını ele alalım;

  1. SELECT işlemlerinde hızlıdır, Fulltext Search destekler, Sunucu kaynaklarını daha az tüketir ve başlangıç projeleri için idealdir.
  2. INSERT ve UPDATE işlemleri için yavaştır (Data büyüdükçe dahada yavaşlamaktadır.), 4GB data sınırı vardır, Text tabanlı bir depolama sistemi olduğu için veri kayıplarına neden olabilir.
  3. Foreing key desteklemez.
  4. Transaction desteği yoktur yani tabloların yedeğini tutmaz ve olası bir durumda dataların geri dönüşü yoktur.
  5. Tüm işlemlerde tabloyu kilitler ve işlem bitene kadar farklı bir işlem yapılamaz.

InnoDB’nin iyi ve kötü yanlarını ele alacak olursak;

  1. Foreign key destekler.
  2. INSERT ve UPDATE işlemleri hızlıdır.
  3. Transaction desteği vardır yani tabloların yedeğini tutar ve data kayıplarını geriye alma imkanı sunmaktadır.
  4. Row level-lock yapısındadır, işlem yapmak için tüm tabloyu kitlemez.
  5. Foreign key tasarımları çok zaman alır, ilişkilerde esnekliğe müsade edilemez.
  6. Yavaştır, transaction işlemleri yaptığından yavaşlatır.
  7. Daha çok sistem kaynağı tüketmektedir.
  8. Fulltext Search desteklemez.
Previous Post Next Post

You Might Also Like

No Comments

Bir Cevap Yazın

%d blogcu bunu beğendi: