MySQL ‘de Maksimum Büyüklük
Aslında zaman zaman hepimizin aklına gelmiştir ve MySQL manual ‘e bakmışızdır belkide. Ama bakmayanlar olabilir, arama motorlarında “cevap” arayanlar olabilir. Dolayısıyla bende MySQL tabloları ve veritabanının büyüklüğü ile ilgili bu yazıyı yazmak istedim. Bazı noktalar çok enteresan aslında:
MySQL ‘de efektif maksimum tablo büyüklüğü, işletim sisteminin maksimum dosya büyüklüğüne dayanır. Çok enteresan değil mi? Sınır yok yani
– Sınır işletim sisteminiz -
Aşağıda popüler işletim sistemlerinde kabaca MySQL tablo büyüklükleri gösterilmiş:
| İşletim Sistemi |
Dosya Büyüklük Limiti |
| Win32 w/ FAT/FAT32 | 2GB/4GB |
| Win32 w/ NTFS | 2TB (muhtemelen daha büyük) |
| Linux 2.2-Intel 32-bit | 2GB (*LFS: 4GB) |
| Linux 2.4+ | (ext3 dosya sistemini kullanan) 4TB |
| Solaris 9/10 | 16TB |
| MacOS X w/ HFS+ | 2TB |
| NetWare w/NSS Dosya Sistemi | 8TB |
* LFS : Large File Support (Büyük dosya desteği)
Tabloda görüldüğü üzere Solaris 16 Terabyte ile maksimum büyüklüğe ulaşılabilinen tek işletim sistemi. Acaba o yüzden mi MySQL ‘i Sun Microsystems aldı ?! Aşağıda okuyacaksınız, bu büyüklük hiçbirşey aslında. Neredeyse!
Aslında MySQL varsayılan olarak 256 Terabyte sınırıyla gelir !!! (Nasıl yani) Bu varsayılan değer MySQL 5.0 ve aşağı sürümlerde 4 GB olarak belirlenmiştir. Burada benim aklıma gelen ilk soru şu olmuştu :
Maksimum 16 TB dosya büyüklüğüne izin veren Solaris bile 256 TB desteklemezken 256 TB ‘dan fazlasını kullanabilen işletim sistemi nedir acaba ???
Üstüne üstlük MySQL ‘de tablo büyüklükleri 65,536 TB (2567 – 1 byte) ‘a kadar çıkarılabiliyorken (yok artık ya) 16 TB destekleyen işletim sistemi ne iş
Ki LAMP olarak bilinen Linux+Apache+MySQL+PHP dörtlüsünün desteklediği maksimum boyut 4 TB !
Bunları boş bir zamanımda oturup araştıracağım hakikaten merak ettim. Bilen arkadaşlar yorum kısmından hemen iliştirebilirler…
Şu anda kullandığınız işletim sistemi ve MySQL sürümü ile MySQL veritabanınızın varsayılan maksimum büyüklüğünü öğrenmek istiyorsanız aşağıdaki komutu SQL sorgusu olarak çalıştırın:
SHOW TABLE STATUS FROM veritabanı_adınız LIKE 'tablo_adınız';
Farkındaysanız yazının başından beri MySQL tablosu ve MySQL veritabanı terimlerini aynılarmış gibi kullanıyorum. Bunun sebebi yazının başında söylediğim gibi MySQL ‘de maksimum tablo büyüklüğü, işletim sisteminin maksimum dosya büyüklüğüne dayanır. Yani MySQL veritabanı dosyasının maksimum büyüklüğü tek bir tablonun büyüklüğü ile de belirlenebilir, 100 lerce tablonun birleşimiyle de. Dolayısıyla birinin sınırı diğerinin sınırına bağlıdır.
Yorumlar
Azizce.Com demişki
18 Temmuz, 2008 @ 02:36
Teşekkürler Umut.
Peki ext4 dosya sistemi 1 Exbibyte ‘a ulaşıyorsa
>eksabayt EB 2 üzeri 60 ikilik sistemde = eksbibayt EiB 2 üzeri 60 ikilik sistemde olmak üzere
1024 TB = 1 PB (petabayt)
1024 PB = 1 EB (eksabayt)
, ext3 dosya sistemi 4 Terabyte ‘a ulaşabilirken, ortada ulaşılabilinen bir 256 – 1024 Terabyte ‘lık destek hangi işletim sisteminde vardır acaba diye düşüyorum.
Umut demişki
18 Temmuz, 2008 @ 11:58
Aslında bunların çoğu linux işletim sisteminde bulunmakta, bu da serverların neden linux tercih ettiğinin diğer bir nedeni, linux içinde pek çok dosya biçimi bulunmakta ve bu dosya biçimleri değişik boyutları desteklemekte.
barış atasoy demişki
30 Temmuz, 2008 @ 18:28
Solaris’in ZFS’i dünyanın tek 128 bitlik dosya sistemi ve kapasitesini ifade edecek exabyte filan gibi bir kelime bulamıyorum. Ama şöyle söyleyeyim,16 TB,ZFS’in kapasitesinin %1′i bile değil.
Buradan vardığımız sonuç şu: demekki, MysQL,16 TB’ın üzerini destekleyemez.
Bunun da en basit açıklaması, kendi içinde 32 bitlik değişkenlerle çalışıyor olması olabilir.
Azizce.Com demişki
30 Temmuz, 2008 @ 18:43
Aslında MySQL yukarıyı iyi okursanız 65.536 TB (65 bin 536) Terabyte ‘a kadar destek veriyor.
ZFS’nin %1 ‘i16 TB ‘dan fazla demişsiniz.
Ben o 16 yı 160 TB yapıyorum tam 10 misli. Ve %100 üne tamamlıyorum: 16.000 TB : YANİ MYSQL ‘e MUHTEMELEN ZFS de yetişemez![]()
Yorum yazın
Additional comments powered by BackType



Umut demişki
18 Temmuz, 2008 @ 01:28
@256 TB ‘dan fazlasını kullanabilen işletim sistemi nedir acaba ???
ext3 kullanan bir linux işletim sisteminde maksimum dosya boyutu 2TB olarak değerlendirilir. Eğer şu an halen kararsız olan ext4 dosya biçimini kullanırsanız 1 Exbibyte’a ulaşabiliyorsunuz.