Azure Analysis Services’teki iyileştirilmiş sorgu çoğaltması eşitlemesi önizlemede
Yayımlanma tarihi: 18 Ocak, 2020
Yeni Azure Analysis Services ayarı (önizlemede), ölçek genişletme ortamlarında sorgu çoğaltma eşitlemesinin performansını ve tutarlılığını artırır. Sorgu ölçeği genişletme ayarı bir veya birden fazla sorgu çoğaltmasında istemci sorgularını dağıtarak eşzamanlılığın yüksek olduğu iş yüklerinde yanıt sürelerini kısaltır. Sorgu çoğaltma eşitlemesi verileri sorgu çoğaltma veritabanlarına çoğaltır.
Varsayılan olarak sorgu çoğaltmaları yeniden tam olarak (artımlı değil) veriyle doldurulur ve bu işlem aşamalar halinde gerçekleşir. Bunlar, belirli bir anda sorgular için en az bir çoğaltmanın çevrimiçi kalmasını sağlayacak şekilde bir kerede iki tanesi ayrılır ve eklenir (en az üç çoğaltma olduğu varsayılır). Bu işlem gerçekleştirildiği sırada istemcilerin çevrimiçi çoğaltmalardan birine yeniden bağlanması gerekebilir.
Yeni ReplicaSyncMode ayarıyla artık sorgu çoğaltma eşitlemesini paralel olarak belirtmek mümkündür. İyileştirilmiş sorgu çoğaltma eşitlemesi şu avantajları da sağlar:
- Tüm çoğaltmalar paralel olarak eşitlendiğinden, eşitleme süresi önemli ölçüde kısalır.
- Tüm çoğaltmalar paralel olarak eşitlendiğinden, çoğaltma genelindeki veriler eşitleme işlemi sırasında çok daha tutarlı olabilir.
- Veritabanları eşitleme işlemi boyunca tüm çoğaltmalarda çevrimiçi tutulduğu için istemcilerin yeniden bağlanmalarına gerek kalmaz.
- Belleğe yüklenmiş önbellek, yalnızca değiştirilmiş verilerle artan şekilde güncelleştirildi. Bu şekilde, modeli tümüyle yeniden veriyle doldurmaktan çok daha hızlı biçimde gerçekleşiyor.
Ürün ekibi, iyileştirilmiş eşitlemenin sunduğu avantajlara örnek olması için 3 çoğaltması olan bir S8v2 üzerinde bulunan ve boyutu yaklaşık 84 GB olan bir veritabanında test gerçekleştirdi. Eşitleme, artımlı eşitleme için yaklaşık 2 dakika, artımlı olmayan eşitleme için de 5 dakika sürdü. Aynı veritabanıyla 7 çoğaltması olan bir S8v2 üzerinde gerçekleştirilen testlerde artımlı eşitlemenin süresi aynı kalırken artımlı olmayan eşitlemenin süresi 11 dakikaya çıktı.
ReplicaSyncMode için olası değerler:
- 1 (varsayılan): aşamalı olarak çoğaltma veritabanını tam olarak verilerle yeniden doldurma.
- 2: paralel gerçekleştirilen iyileştirilmiş eşitleme.
ReplicaSyncMode=2 olarak ayarlarsanız, güncelleştirilmesi gereken önbellek miktarına bağlı olarak sorgu çoğaltmaları ek bellek tüketebilir. Veritabanını çevrimiçi ve sorgular tarafından kullanılabilir durumda tutmak için, değişen veri miktarına bağlı olarak bu işlem çoğaltmadaki belleğin iki katı kadar bellek gerektirebilir. Bunun nedeni hem eski hem de yeni segmentlerin aynı anda bellekte tutulmasıdır. Çoğaltma düğümlerine birincil düğümle aynı miktarda bellek ayrılır. Normalde birincil düğümde yenileme işlemleri için fazladan bellek bulunduğundan, çoğaltmalarda belleğin yetersiz kalma olasılığı düşüktür. Buna ek olarak, veritabanının birincil düğümde artımlı olarak güncelleştirilmesi yaygın bir senaryodur ve bu durumda iki kat bellek gereksinimi ortadan kalkar. Eşitleme işlemi “bellek yetersiz” hata iletisiyle karşılaşırsa, varsayılan tekniği (bir kerede iki tanesini ekleme/ayırma) kullanarak yeniden deneyecektir.
Azure Analysis Services’te sorgu ölçeğini genişletme hakkında daha fazla bilgi edinin.