Bursa Bilgisayar

Veritabanı Motor Çeşitleri ve Karşılaştırmaları

Merhaba arkadaşlar bu makalemde veritabanı motorlarını inceleyerek teknik bilgiler oluşturmak istedim dilerim sizlerede bu konuda bir nebze yardımım dokunur.

InnoDB
Geliştirenler Oracle
İşletim sistemi Tüm platformlar
Yazılım türü Veritabanı motoru
Lisans GPL ve ticari
Resmî sitesi InnoDB.com

InnoDB, MySQL AB tarafından dağıtılan tüm paketlerde yer alan standart MySQL veritabanı motorudur. Sistemi diğer kayıt motorlarından ayıran en önemli özellik ACID uyumlu olması, aktarım ve yabancı anahtar desteği sunmasıdır.

Innobase Oy’un Ekim 2005’te Oracle Corporation bünyesine katılmasının ardından InnoDB, bu şirketin ürünlerinden biri olmuştur.[1] Yazılım çift lisanslıdır. GNU Genel Kamu Lisansı ile dağıtılan ürün, InnoDB’yi ticari yazılımlarda kullanmak isteyen şirketlere lisanslanabilmektedir.

MyISAM ile Karşılaştırma

InnoDB, sistem göçmelerinde kayıt dosyalarını yeniden okuyup veritabanını eski durumuna döndürebilmektedir. MyISAM ise bu işlemi gerçekleştirebilmek için değiştirilmiş tüm tabloları baştan sona taramalıdır. InnoDB’nin veri dosyalarının boyutuna bağlı olmaksızın çalışabilmesi onun büyük veritabanlarında yeğlenmesini zorunlu kılmaktadır.

MyISAM, satır okuma ve yazma işlemlerini önbelleğe almak için işletim sistemine gerek duyarken InnoDB bu işlevi doğrudan motor bünyesinde görmektedir. InnoDB, kirli (değiştirilmiş) veritabanı sayfalarını işletim sistemine hemen göndermemekte, bu durum zaman zaman hızlandırıcı bir etken olmaktadır.

InnoDB, satırları ana anahtara göre sıralamakta, MyISAM ise bu satırları girildikleri sırada saklamaktadır. Satırların ana anahtara göre sıralanması MS SQL Server’ın “kümelenmiş indeksler” özelliğine ve Oracle’ın “indekse dayalı tablolar” tanımı ile uyumludur. Bu olgu, ana anahtarın ortak sorgularda sıkça geçtiği durumlarda kaydadeğer hız artışı sağlamaktadır. Örneğin, bir müşterinin banka kayıtları InnoDB’de müşteriye göre öbeklendirilirken MyISAM, son işlem zamanını kullanacaktır. Bu durumda, bir müşterinin banka hesabı geçmişini elde etmek InnoDB’nin daha az zamanını alır. Ne var ki, ana anahtarı kullanmayan ekleme sorguları InnoDB’nin veriyi birçok kez yeniden düzenlemesine neden olacak, bu da başarımı olumsuz etkileyecektir.

InnoDB, sıkıştırma ve kısa satır biçimlerini desteklememektedir. Bu, kullanılan RAM miktarının artmasına yol açabilir.

Tümüyle ACID uyumlu kiplerde çalıştırıldığında InnoDB, sabit diske birkaç aktarımda bir yazmalıdır. Bu, sabit diskin saniyede 200 güncelleme aktarımı kısıtlamasına takılmaktadır. Daha yüksek aktarım hızlarına gerek duyulan durumlarda önbellekli ve yedek pilli sabit disk denetleyicileri kullanılmalıdır. InnoDB, bu etkinin sorun yaratmayacağı kiplerde de çalıştırılabilmektedir. MyISAM’ın aktarım desteğinden yoksun olması bu tür bir sorunla karşılaşmasını engeller.

MyISAM

Geliştirenler Sun Microsystems
Yazılım türü Veritabanı motoru
Platform Tüm platformlar
Lisans GNU Genel Kamu Lisansı
Resmî sitesi http://www.mysql.com

MySQL ilişkisel veritabanı yönetim sisteminin kullandığı öntanımlı kayıt motorudur. Öncülü ISAM kodu temel alınarak geliştirilen MyISAM birçok yararlı özelliğe sahiptir. Ne var ki, MySQL’in son sürümleri aktarım ve veri tutarlılığı kısıtlamaları desteği sunan ve yüksek eşgüdüm öngören InnoDB’yi yeğlemektedir.

Her MyISAM tablosu sabit disk üzerinde üç ayrı dosyada saklanır. Dosya adları tablo adıyla başlamakta ve dosya türünü belirten bir uzantıyla sonlanmaktadır. MySQL, tablo tanımlarını .frm dosyalarında saklar ancak bu dosya MyISAM motoruna değil sunucuya aittir. Veri dosyası .MYD (MYData), indeks dosyası .MYI (MYIndex) uzantılıdır.

InnoDB ile Karşılaştırma

InnoDB, sistem göçmelerinde kayıt dosyalarını yeniden okuyup veritabanını eski durumuna döndürebilmektedir. MyISAM ise bu işlemi gerçekleştirebilmek için değiştirilmiş tüm tabloları baştan sona taramalıdır. InnoDB’nin veri dosyalarının boyutuna bağlı olmaksızın çalışabilmesi onun büyük veritabanlarında yeğlenmesini zorunlu kılmaktadır.

MyISAM, satır okuma ve yazma işlemlerini önbelleğe almak için işletim sistemine gerek duyarken InnoDB bu işlevi doğrudan motor bünyesinde görmektedir. InnoDB, kirli (değiştirilmiş) veritabanı sayfalarını işletim sistemine hemen göndermemekte, bu durum zaman zaman hızlandırıcı bir etken olmaktadır.

InnoDB, satırları ana anahtara göre sıralamakta, MyISAM ise bu satırları girildikleri sırada saklamaktadır. Satırların ana anahtara göre sıralanması MS SQL Server’ın “kümelenmiş indeksler” özelliğine ve Oracle’ın “indekse dayalı tablolar” tanımı ile uyumludur. Bu olgu, ana anahtarın ortak sorgularda sıkça geçtiği durumlarda kaydadeğer hız artışı sağlamaktadır. Örneğin, bir müşterinin banka kayıtları InnoDB’de müşteriye göre öbeklendirilirken MyISAM, son işlem zamanını kullanacaktır. Bu durumda, bir müşterinin banka hesabı geçmişini elde etmek InnoDB’nin daha az zamanını alır. Ne var ki, ana anahtarı kullanmayan ekleme sorguları InnoDB’nin veriyi birçok kez yeniden düzenlemesine neden olacak, bu da başarımı olumsuz etkileyecektir.

InnoDB, sıkıştırma ve kısa satır biçimlerini desteklememektedir. Bu, kullanılan RAM miktarının artmasına yol açabilir.

Tümüyle ACID uyumlu kiplerde çalıştırıldığında InnoDB, sabit diske birkaç aktarımda bir yazmalıdır. Bu, sabit diskin saniyede 200 güncelleme aktarımı kısıtlamasına takılmaktadır. Daha yüksek aktarım hızlarına gerek duyulan durumlarda önbellekli ve yedek pilli sabit disk denetleyicileri kullanılmalıdır. InnoDB, bu etkinin sorun yaratmayacağı kiplerde de çalıştırılabilmektedir. MyISAM’ın aktarım desteğinden yoksun olması bu tür bir sorunla karşılaşmasını engeller.

MyISAM birçok web uygulamasında hala kullanılmaktadır. Bunun nedeni, MyISAM’ın veritabanı erişimlerinin çoğunluğunun okuma işlemi gerektirdiği durumlarda InnoDB’ye oranla daha hızlı çalışmasıdır.

bursa-bilgisayar.com’dan mutluklar.

Related posts

260 thoughts on “Veritabanı Motor Çeşitleri ve Karşılaştırmaları

  1. I’ve added your website along with I’m adding the nourishes to help the Google account.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Characters available