İşlem veritabanları
RAID-5'in yazımı nispeten yavaştır, çünkü kontrolörün bir yazmadaki pariteyi yeniden hesaplamak için yeterli veri yüklemesi gerekir. Yazma işlemleri en az dört disk işlemi gerektirir:
Eşlik bloğunda okuma
Parite bloğu ile değeri XOR'a eski blokta okuma (zaten önbellekte olmadığı varsayılarak).
Yeni eşlik bloğunun yazılması (eski eşlik bloğu XOR eski veri bloğu XOR yeni veri bloğu)
Yeni veri bloğunun yazılması.
Sistem geri yazma önbelleği kullanmazsa, bu seçeneklerin tümü G / Ç tamamlanması için kritik yolda olduğu anlamına gelir. Genellikle, veritabanı yazarlarında durum böyledir - aslında, Microsoft'un (örneğin), satıcıların bu davranışı garanti etmesini gerektiren SQL sunucusuyla kullanım için SAN ekipmanı için bir sertifika programı vardır. Bazen eski RAID-5 ekipmanı bu optimizasyonu kullanmadı ve pariteyi tüm şeritten yeniden hesaplamak zorunda kaldı.
RAID-10'un her bir sürücü için bir aynası vardır ve eşlik hesaplamak için ek verileri okumasına gerek yoktur. Bu, yazma işlemlerinin daha az fiziksel G / Ç'ye ihtiyaç duyduğu anlamına gelir.
RAID-50 , ortada bir yerde oturur ve hacim sırayla çizgili olan birden fazla RAID-5 birimine bölünür. 3 + 1 şemasında çizgili gruplardan yapılan bir RAID-50'de bir yazma en fazla üç ek disk G / Ç isteği oluşturur. Çok eğimli hissediyorsanız, RAID-5 ve RAID-10'u RAID-50'nin özel durumları olarak görebilirsiniz. RAID-50 temel olarak birçok fiziksel diskte büyük hacimler sağlamak için kullanılır
RAID-6 (set başına iki yedek diske sahip bir eşlik şeması) gibi diğer eşlik şemaları da mevcuttur, Modern diskler, bir dizinin yeniden oluşturulmasının oldukça uzun bir zaman alabileceği kadar büyüktür - bu işlem sırasında ikinci bir disk arızası riski yeniden inşa oldukça önemlidir. RAID-6, veri kaybına neden olması için üç disk arızası gerektiren ikinci bir eşlik diskine sahip olarak bu riski azaltır. RAID-60 şemalarına benzer bir hile, RAID-60 dizileri yapmak için kullanılabilir.
Son olarak, tek bir yansıtılmış çift (RAID-1 olarak bilinir), bazı görevler için yedeklilik ve yeterince iyi performans sağlayabilir. Özellikle, RAID-1'in oldukça fazla veritabanı günlüğü trafiği için yeterli verimi sağladığını göreceksiniz. Bu konuda daha fazlası aşağıda.
Yazma ağır bir iş yükünüz varsa, büyük olasılıkla RAID-10 biriminden bir performans kazancı elde edersiniz. Muhtemelen daha az sayıda fiziksel diskten gerekli verimi alabileceğiniz için, disklerin yeterli alana sahip olduğu varsayılarak bu bir kazanç olabilir). Veritabanı sunucusundaki günlükler veya geçici alanlar gibi bazı öğelerin RAID-1 veya RAID-10 birimlerinde olması gerekir, çünkü bunlar çok fazla yazma trafiği alır.
Kütükler
Günlük hacimleri çoğunlukla sıralı bir veri erişim modeli ile karakterize edilir ve esasen 'bu verileri bu bloğa yaz' satırları boyunca komutlardan oluşan bir halka tamponudur Çekirdek DBMS motoru tarafından bir üretici olarak yazılır ve bir tüketici olarak işlenir günlük okuyucu işlevi tarafından. Tek bir yansıtılmış çift aslında oldukça fazla günlük trafiği işleyecektir.
Ağır okuma sistemleri ve dosya sunucuları
Veri ambarı gibi ağır bir sistemde bir veya daha fazla RAID-5 birimi kullanmak isteyebilirsiniz. Bir dosya sunucusunda, disk erişimleri büyük ölçüde tüm dosya bazında yapılacaktır, bu nedenle yazmalar muhtemelen yine de eşlik bloğunu oluşturan blokların çoğunu yazacaktır. Bu durumda RAID-5 için performans cezası daha hafif olacaktır.
Geçmişte diskteki maliyet tasarrufları önemli olabilirdi, ancak şimdi bu bir sorun olma olasılığı daha düşüktür.
Geri yazma önbelleği ve RAID-5
Pil destekli önbelleğe sahip bir SAN veya dahili RAID denetleyicisinde 'Geri yazma' önbelleğini etkinleştirebilirsiniz. Bu önbellekler yazma ve denetim uygulamaya döndürür. I / O kontrolör tarafından tamamlanmış olarak rapor edilir. Ancak, verileri derhal diske yazması gerekmez. Bu özellik, RAID-5 eşlik okuma / yazma işlemlerinin büyük ölçüde optimize edilmesine olanak tanır ve RAID-5x birimleri için yazma performansı cezasını yumuşatabilir.
Bununla birlikte, bu hala veri bütünlüğü sorunları için küçük bir risk taşır. Ana bilgisayar sistemine, bu yazının gerçekte böyle olmadığı zaman tamamlandığı söylendi. Bir donanım arızasının bir veritabanı sunucusundaki (örneğin) günlük ile veri birimleri arasında veri tutarsızlıkları yaratması mümkündür. Bu nedenle, ETL işlemi gibi bir şey için bir performans kazancı olsa da, işlem sistemleri için geri yazma önbelleği önerilmez.
özet
Disk alanı günümüzde o kadar ucuz ki, işlem sistemleri günlük birimleri için muhtemelen RAID-1 veya RAID-10 ve veri birimleri için RAID-10 kullanmalıdır. Fiziksel disk boyutunun veritabanından çok daha büyük olması muhtemeldir ve RAID-10 aynı sayıda disk için daha fazla yazma işlemine izin verir ve bu da sistemi desteklemek için gereken disk birimlerinin sayısını azaltır.
Bir veri ambarı gibi bir şeyde, büyük, yoğun bir şekilde dizine alınmış olgu tablolarıyla alanı çiğneyebilirsiniz, böylece RAID-5 veya RAID-50 veri hacimleriyle küçük bir fiyat kazanabilirsiniz. Ancak günlükler ve tempdb, RAI-10 birimine yerleştirilmeli, çünkü ETL işleme sırasında büyük olasılıkla çok fazla iş alacaklardır. Bununla birlikte, diskteki maliyet tasarrufunun oldukça küçük olması muhtemeldir.