• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

MyISAM ve InnoDB farkları

CottonCandy

Atlas Evren
Aileden
Aktiflik
K.Tarihi
26 Tem 2009
Mesajlar
1,087
Puanı
472
Konum
M.K.ATATÜRK
7XXnLY.png


En temel fark; InnoDB MyISAM’a göre daha kompleks bir yapıdadır. MyISAM basit işlerde, InnoDB ise çok datanın olduğu karmaşık işlerde kullanılır.

MyISAM iyi yanları;

  • SELECT işlemleri için hızlıdır.
  • Fulltext Search destekler.
  • Fulltext Search destekler.
  • Sunucu kaynaklarını daha az tüketir.
  • Kısıtlayıcılığı az olduğu için başlangıç seviyesi projeler için iyidir.
MyISAM kötü yanları;

  • INSERT ve UPDATE işlemleri için yavaştır. Hatta her update ve insert için git gide yavaşlar.
  • 4 GB data sınırı vardır.
  • Text tabanlı bir depolama sistemi olduğu için sunucu tarafında bozulma ihtimali daha yüksektir.
  • Foreing key desteklemez. Bu yüzden tablolar arasında duruma göre bütünlük oluşturmak database ve SQL dışına yani programa/scripte kalır.
  • Transaction desteği yoktur yani tabloların yedeğini tutmaz ve bir kaza olursa datalar geriye alınamaz.
  • Table level lock yapısındadır. Yani işlem emri geldiğinde tüm tabloyu kilitler, işlemi bitirdikten sonra diğerine geçer
InnoDB iyi yanları;

  • Foreign key sunar ve data bütünlüğünü database seviyesinde de korur. Foreign key alanlar otomatik olarak index özelliği de alır.
  • Insert ve Update hızlıdır
  • Transaction desteği vardır, tabloların yedeğini tutar ve data kayıplarını geriye alma imkanı sunar
  • Row level lock yapısındadır. İşlem yapmak için tüm tabloyu kilitlemez.
InnoDB kötü yanları;

  • Database foreign key tasarımı daha çok zaman alır ve programda/scriptte ilişkiler konusunda esnekliğe müsade etmez.
  • Yavaştır. Çünkü transaction işlemleri yavaşlatır.
  • Daha çok sistem kaynağı tüketir.
  • Fulltext search desteklemez.
InnoDB ve MyISAM nedir? Avantajları ve Dezavantajları Nelerdir?

Veritabanını oluşturmadan önce bilmemiz gereken en önemli konulardan biri veritabanı motorlarıdır. Veritabanı motorlarını anlatmadan önce, ne gibi farklarının olduğunu, tercih edilme sebeplerini ve işlevlerini öğrenelim.

Depolama motorları olarak bilinen InnoDB ve MyISAM, belirli bir veritabanı tablosundan bilgi çekmeyi tabloda bilgi saklamayı ve tablodaki bilgiyi kontrol etmeyi sağlar.

MyISAM, MySQL’in en eski veritabanı depolama motorudur. Standart depolama motoru olarak kabul edilir. Tablolar, fiziksel diskin üç ayrı konumunda tutulur. Tablo başına 64 indeks oluşturulabilir. Foreign Key kullanımını desteklememektedir.

InnoDB ise güvenlik açısından tercih edilen bir veritabanı motorudur. İlişkisel veritabanını geçişi Foreign Key sayesinde sağlamaktadır. Aynı anda birden fazla kullanıcının UPDATE/DELETE işlemlerini sorunsuz bir şekilde yapılmasını sağlayacak şekilde tasarlanmıştır.

Eğer yoğun bir şekilde CRUD(Create, Read, Update, Delete) işlemi yapıyorsak InnoDB kullanmak mantıklıdır.,

Eğer Full-Text araması yapılacaksa MyISAM mantıklıdır.(InnoDB desteklemez)

İlişkisel veritabanı yani Foreign Key kullanımı mevcut ise InnoDB kullanmak mantıklıdır.

RAM ve Disk Alanını düşüneceksek eğer MyISAM kullanmak mantıklıdır. InnoDB çok daha fazla sistem kaynağı tüketir.

Veri bütünlüğüne önem veriyorsak, InnoDB daha mantıklıdır.

InnoDB de transaction desteği vardır. MyISAM da yoktur.

InnoDB’nin sistem sorunlarına karşı daha iyi bir kurtarma alt yapısı vardır, MyISAM bu konuda daha zayıftır.

Tasarımı daha basit olan MyISAM’dır. Çünkü ilişkisel olmadığından hemen tasarlanabilir. Fakat kodlama yapılacak kişiler için zorluk çıkarabilir.

Not: Transaction, birden çok işlemin yapıldığı durumlarda hata oluşması halinde tüm işlemin geri alınması(RollBack) anlamına gelmektedir. Örneğin, kredi kartı ile alışveriş yapıldığını düşünelim. Kredi kartından para azalacakken başka bir hesaba para yatması gerekmektedir. Bu durumda bir hata oluşmaması gerekmektedir. Transaction bu noktada devreye girer ve işlemleri geri alabilir. Ya hep ya hiç prensibine sahip olduğunu söyleyebilir.
 
Geri
Üst