İşlem günlüğü dosyalarını ayrı bir sürücüye yerleştirmenin bir performans yararı var mı?


9

SQL Server veri dosyasını bir sabit diske ve işlem günlüğünü diğerine yerleştirmenin erdemlerini öven birçok blog yazısı ve en iyi uygulama makaleleri vardır. Bunun nedeni veritabanı dosyasında rasgele okuma ve yazma yaşanması, işlem günlüğünde ise yalnızca sıralı yazma işlemlerinin olmasıdır.

Peki ya yüzlerce veritabanınız varsa? Yüzlerce işlem günlüğü dosyasını ayrı bir diske yerleştirmek için gerçek bir performans avantajı var mı? Birden çok işlem günlükleri yazılıyorsa, o zaman işlem günlüğü yazarlarının veritabanı yazdığı kadar rasgele olacağını düşünürdüm.

Yanıtlar:


7

Doğru. Teorik olarak, 100'lü DB'niz varsa, her bir günlük için bir tane olmak üzere 100'lü sürücüye ihtiyacınız vardır. Pratikte biri böyle bir durum için umursamıyor, çünkü 100'lü DB'leriniz olduğunda, her DB için birinci sınıf TPC performansı beklemediğinizi açıklayın. Yüksek verimli ve katı SLA'lara sahip bazı DB'leriniz olabilir ve bunların her biri ayrı iğlerde olabilirken, daha düşük düzeyli SLA'lar birkaç paylaşılan diskte sıkışır.


2

İşlem günlüğü tam olarak ... tüm işlemlerin çalışan günlüğüdür. Bu şekilde, kontrol noktası ve üzerine yazılana veya kesilene ve üzerine yazılana kadar bir yönde sürekli olarak doldurulur. Üzerine yazma işlemi sıralıdır.

Veri dosyalarınızı düşünün. Bir müşteri kaydı 5 yıl öncesine ve 10 yıl öncesine ait bir sipariş içerebilir. Bu siparişleri silerseniz (örneğin, başka bir yerde veri arşivliyorsanız), mevcut tlog'da sırayla 1'i ve 2'yi silmiş olursunuz. Ancak veri dosyalarınızda 5 ve 10 yıl önce yazılmış bloklara dokundunuz.

Bu yüzden kesinlikle önemlidir :)


2

İşlem günlüğünü ayrı bir diske tek başına yerleştirmek, diğer veri / günlük dosyalarıyla birlikte yerleştirmekten daha iyi performans sağlayacaktır. Tüm günlükleri aynı diske yerleştirirseniz, sıralı GÇ değil, bu günlük dosyaları arasında rasgele GÇ yapıyorsunuzdur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.