InnoDB

InnoDB
Geliştirici(ler)Oracle
İşletim sistemiTüm platformlar
TürVeri tabanı motoru
LisansGPL ve ticarî
Resmî sitesiInnoDB.com

InnoDB, MySQL AB tarafından dağıtılan tüm paketlerde yer alan standart MySQL veri tabanı 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 ticarî yazılımlarda kullanmak isteyen şirketlere lisanslanabilmektedir.[2]

MyISAM ile karşılaştırma

  1. InnoDB, sistem göçmelerinde kayıt dosyalarını yeniden okuyup veri tabanı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.
  2. 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ş) veri tabanı sayfalarını işletim sistemine hemen göndermemekte, bu durum zaman zaman hızlandırıcı bir etken olmaktadır.
  3. 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 kayda değ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.
  4. 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.
  5. 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.

Benzer Ürünler

OurDelta; Google, Percona, vb. şirketler tarafından MySQL için yazılmış yamaları dağıtmaktadır.[3]

Percona 26 Aralık 2008 tarihinde XtraDB'yi piyasaya sürmüştür.[4]

Kaynakça

  1. ^ "Oracle, açık kaynak kodlu yazılım şirketi Innobase'i satın aldığını duyurdu". Oracle. 20 Kasım 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Temmuz 2008. 
  2. ^ "MySQL ve InnoDB'yi Lisanslama". InnoDB.com. 20 Kasım 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Temmuz 2008. 
  3. ^ "OurDelta - MySQL sürümleri". 6 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Aralık 2008. 
  4. ^ "Percona XtraDB Motoru: InnoDB'ye Rakip Olabilecek Bir Alternatif". 10 Temmuz 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Aralık 2008. 

Ayrıca bakınız

  • MyISAM

Dış bağlantılar

  • InnoDB Resmi Web Sitesi 1 Şubat 2009 tarihinde Wayback Machine sitesinde arşivlendi.
  • MySQL tablo türleri 10 Şubat 2009 tarihinde Wayback Machine sitesinde arşivlendi.
  • MySQL kılavuzunda InnoDB
  • g
  • t
  • d
MySQL
Sürümler
  • MySQL
  • MySQL Enterprise
  • MySQL Cluster
MySQL araçları
Depolama motorları
  • MyISAM
  • Falcon
  • InnoDB
  • XtraDB
  • MySQL Federated
  • MySQL Archive
  • Aria
  • TokuDB
Yordamsal programlama
  • MySQL Stored Procedures (SQL/PSM sürümü)
Çatallar
  • Drizzle
  • MariaDB
  • Percona Server
  • WebScaleSQL
  • g
  • t
  • d
Türler
Nesne veritabanı (karşılaştırma· Sütun yönelimli veritabanı yönetim sistemi · Belge yönelimli veritabanı · Grafik veritabanı · İlişkisel veritabanı · İlişkisel veritabanı yönetim sistemi · Anahtar-değer veritabanı · Bellek içi veritabanı · Çoklu model veritabanı · Bulut veritabanı · Aday anahtar · Yabancı anahtar · Ana anahtar · Superkey · Vekil anahtar
Kavramlar
Veritabanı · ACID · Armstrong'un aksiyomları · Codd'un 12 kuralı · CAP teoremi · CRUD · Null · Aday anahtarı · Yabancı anahtar · Süperanahtar · Vekil anahtar · Özel anahtar
Nesneler
İlişki (Tablo · Sütun · Satır) · Görünüm · Transaction · Trigger · Veritabanı dizini · Saklı yordam · Cursor · Kayıt · Aktarım · Partition
SQL
NoSQL · NewSQL · Select · Insert · Update · Merge · Delete · Join · Union · Create · Drop · Begin work · Commit · Rollback · Truncate · Alter
Bileşenler
Eşzamanlılık denetimi · Veri sözlüğü · JDBC · ODBC · Sorgulama dilleri · Sorgu hızlandırıcı · Sorgu planı
İlgili konular
Veritabanı modelleri · Ayrıştırma · Veritabanında saklama · Dağıtık veritabanı · Federe veritabanı sistemi · Veri tutarlılığı · İlişkisel bütünlük · Bağıntısal cebir · İlişkisel hesap · İlişkisel model · Nesne-ilişkisel veritabanı · Hareket işleme
Kategori Kategori