Aracılığıyla paylaş


Ayrılmış SQL havuzu için işlem kaynaklarını yönetme

Bu makalede, Azure Synapse Analytics'te ayrılmış SQL havuzu (eski adı SQL DW) için işlem kaynaklarının nasıl yönetileceğini açıklanmaktadır. Ayrılmış SQL havuzunu duraklatarak maliyetleri düşürebilir veya performans taleplerini karşılamak için ayrılmış SQL havuzunu ölçeklendirebilirsiniz.

İşlem yönetimi nedir?

Ayrılmış SQL havuzu mimarisi depolama ile işlemi birbirinden ayırarak, her birinin diğerinden bağımsız olarak ölçeklendirilebilmesini sağlar. Sonuçta, performans taleplerini karşılamak için işlemi veri depolamasından bağımsız olarak ölçeklendirebilirsiniz. Ayrıca işlem kaynaklarını duraklatabilir ve devam ettirebilirsiniz.

Bu mimarinin doğal bir sonucu, işlem ve depolama fiyatlandırmasının ayrı olmasıdır. Ayrılmış SQL havuzunuzu bir süreliğine kullanmanız gerekmiyorsa, işlemi duraklatarak işlem maliyetlerinden tasarruf edebilirsiniz.

İşlem ölçeklendirme

Ayrılmış SQL havuzunuz için veri ambarı birimlerini (DWU) ayarlayarak işlem kapasitesini artırabilir veya azaltabilirsiniz. Daha fazla DWU ekledikçe yükleme ve sorgu performansı doğrusal olarak artabilir.

Ölçeği genişletme adımları için Azure portalı, PowerShell veya T-SQL için hızlı başlangıçlara bakın. REST API kullanarak ölçeklendirme işlemleri de gerçekleştirebilirsiniz.

Ölçeklendirme işlemi gerçekleştirmek için ayrılmış SQL havuzu önce tüm gelen sorguları öldürür ve ardından tutarlı bir durum sağlamak için işlemleri geri alır. Ölçeklendirme ancak işlemlerin geri alınması tamamlandıktan sonra gerçekleşir. Bir ölçeklendirme işlemi için sistem, depolama katmanını işlem düğümlerinden ayırır, işlem düğümleri ekler ve ardından depolama katmanını işlem katmanına yeniden ekler.

Her ayrılmış SQL havuzu, işlem düğümlerine eşit olarak dağıtılan 60 dağıtım olarak depolanır. Daha fazla işlem düğümü eklemek daha fazla işlem gücü ekler. İşlem düğümlerinin sayısı arttıkça işlem düğümü başına dağıtım sayısı azalır ve sorgularınız için daha fazla işlem gücü sağlar. Benzer şekilde, DWU'ların azaltılması işlem düğümlerinin sayısını azaltır ve bu da sorgular için işlem kaynaklarını azaltır.

Aşağıdaki tabloda, DWU'lar değiştikçe işlem düğümü başına dağıtım sayısının nasıl değiştiği gösterilmektedir. DW30000c, 60 işlem düğümü sağlar ve DW100c'den çok daha yüksek sorgu performansı sağlar.

Veri ambarı birimleri Hesaplama düğüm sayısı Düğüm başına dağıtım sayısı
DW100c 1 60
DW200c 1 60
DW300c 1 60
DW400c 1 60
DW500c 1 60
DW1000c 2 30
DW1500c 3 20
DW2000c 4 15
DW2500c 5 12
DW3000c 6 10
DW5000c 10 6
DW6000c 12 5
DW7500c 15 4
DW10000c 20 3
DW15000c 30 2
DW30000c 60 1

Veri ambarı birimlerinin doğru boyutunu bulma

Özellikle daha büyük veri ambarı birimlerinde ölçeği genişletmenin performans avantajlarını görmek için en az 1 TB veri kümesi kullanmak istiyorsunuz. Ayrılmış SQL havuzunuz için en fazla DWU sayısını bulmak için ölçeği artırmayı ve azaltmayı deneyin. Verilerinizi yükledikten sonra farklı sayıda DWU içeren birkaç sorgu çalıştırın. Ölçeklendirme hızlı olduğundan, bir saat veya daha kısa bir sürede çeşitli performans düzeylerini deneyebilirsiniz.

En fazla DWU sayısını bulmaya yönelik öneriler:

  • Geliştirme aşamasındaki ayrılmış bir SQL havuzu için, daha az sayıda DWU seçerek başlayın. DW400c veya DW200c iyi bir başlangıç noktasıdır.
  • Gözlemlediğiniz performansla karşılaştırıldığında seçilen DWU sayısını gözlemleyerek uygulama performansınızı izleyin.
  • Doğrusal bir ölçek varsayın ve DWU'ları ne kadar artırmanız veya azaltmanız gerektiğini belirleyin.
  • İş gereksinimleriniz için en uygun performans düzeyine ulaşana kadar ayarlamalar yapmaya devam edin.

Ne zaman genişletme yapılmalı

DWU'ların ölçeğinin genişletilmesi performansın şu yönlerini etkiler:

  • Taramalar, toplamalar ve CTAS deyimleri için sistemin performansını doğrusal olarak artırır
  • Verileri yüklemek için okuyucu ve yazıcı sayısını artırır
  • En fazla eşzamanlı sorgu ve eşzamanlılık yuvası sayısı

DWU'ların ne zaman ölçeklendirileceğinin önerileri:

  • Yoğun bir veri yükleme veya dönüştürme işlemi gerçekleştirmeden önce, verilerin daha hızlı kullanılabilir olmasını sağlamak için ölçeği genişletin.
  • Yoğun iş saatlerinde, daha fazla sayıda eşzamanlı sorguya uyum sağlamak için ölçeği genişletin.

Ölçekleme performansı geliştirmezse ne olur?

DWU'ların eklenmesi paralelliği artırır. İş işlem düğümleri arasında eşit bir şekilde bölünürse ek paralellik sorgu performansını artırır. Ölçekleme işlemini büyütmek performansınızı değiştirmezse, bunun bazı nedenleri olabilir. Verileriniz dağıtımlar arasında dengesiz olabilir veya sorgular büyük miktarda veri taşıma işlemine neden olabilir. Sorgu performansı sorunlarını araştırmak için bkz . Performans sorunlarını giderme.

İşlemi duraklatma ve sürdürme

İşlemi duraklatmak, depolama katmanının işlem düğümlerinden ayrılmasına neden olur. Bilgi işlem kaynakları hesabınızdan serbest bırakıldı. İşlem duraklatıldığında işlem için ücret alınmaz. Hesaplamayı sürdürme, depolamayı işlem düğümlerine yeniden ekler ve hesaplama için ücretlendirmeyi yeniden başlatır.

Ayrılmış bir SQL havuzunu duraklattığınızda:

  • İşlem ve bellek kaynakları, veri merkezindeki kullanılabilir kaynakların havuzuna döndürülür.
  • Duraklatma sırasında veri ambarı birim maliyetleri sıfırdır.
  • Veri depolama alanı etkilenmez ve verileriniz bozulmadan kalır.
  • Çalışan veya kuyruğa alınan tüm işlemler iptal edilecektir.
  • DMV sayaçları sıfırlanır.

Ayrılmış bir SQL havuzunu devam ettirirken:

  • Ayrılmış SQL havuzu, DWU ayarınız için işlem ve bellek kaynaklarını alır.
  • DWU özgeçmişiniz için işlem ücretleri.
  • Verileriniz kullanılabilir hale gelir.
  • Ayrılmış SQL havuzu çevrimiçi olduktan sonra iş yükü sorgularınızı yeniden başlatmanız gerekir.

Ayrılmış SQL havuzunuzun her zaman erişilebilir olmasını istiyorsanız, duraklatmak yerine ölçeği en küçük boyuta getirmeyi göz önünde bulundurun.

Duraklatma ve sürdürme adımları için Azure portalı veya PowerShell hızlı başlangıç kılavuzlarına bakın. Duraklat REST API'sini veya Sürdür REST API'sini de kullanabilirsiniz.

Duraklatma veya ölçeklendirme öncesinde işlemleri boşaltın

Duraklatma veya ölçeklendirme işlemini başlatmadan önce mevcut işlemlerin tamamlanmasını beklemenizi öneririz.

Ayrılmış SQL havuzunuzu duraklattığınızda veya ölçeklendirdiğinizde, duraklatma veya ölçeklendirme isteğini başlattığınızda sorgularınız arka planda iptal edilir. Basit bir SELECT sorgusunu iptal etmek hızlı bir işlemdir ve örneğinizi duraklatmak veya ölçeklendirmek için gereken süre üzerinde neredeyse hiçbir etkisi yoktur. Ancak, verilerinizi veya verilerin yapısını değiştiren işlem sorguları hızlı bir şekilde durdurulamayabilir. İşlemsel sorgular, tanımı gereği, ya tamamen tamamlanmalı ya da yaptığı değişiklikleri geri almalıdır.

Bir işlem sorgusunun tamamladığı işi geri alma işlemi, sorgunun değişiklik yapmak için harcadığı süre kadar, hatta bazen daha fazla zaman alabilir. Örneğin, satırları silmiş ve zaten bir saattir çalışmakta olan bir sorguyu iptal ederseniz, sistemin silinen satırları geri eklemesi bir saat sürebilir. İşlemler devam ederken duraklatma veya ölçeklendirme işlemi başlatırsanız, işlem uzun sürebilir. Bunun nedeni, duraklatma veya ölçeklendirme işleminin devam edebilmesi için geri alma işleminin tamamlanmasını beklemesi gerekmesidir.

Daha fazla bilgi için İşlemleri kullanma ve İşlemleri iyileştirme kısımlarına bakın.

İşlem yönetimini otomatikleştirme

İşlem yönetimi işlemlerini otomatikleştirmek için bkz. Ayrılmış SQL havuzunuzun işlem kaynaklarını yönetmek için Azure İşlevleri kullanma.

Ölçek genişletme, duraklatma ve sürdürme işlemlerinden her birinin tamamlanması birkaç dakika sürebilir. Otomatik olarak ölçeklendiriyor, duraklatıyor veya devam ettiriyorsanız, başka bir eyleme geçmeden önce belirli işlemlerin tamamlandığından emin olmak için mantık uygulamanızı öneririz. Çeşitli uç noktalar aracılığıyla ayrılmış SQL havuzu durumunu denetlemek, bu tür işlemlerin otomasyonunu doğru bir şekilde uygulamanıza olanak tanır.

Ayrılmış SQL havuzu durumunu denetlemek için PowerShell veya T-SQL için hızlı başlangıç kılavuzlarına bakın. Rest API ile ayrılmış SQL havuzu durumunu da de kontrol edebilirsiniz.

İzinler

Ayrılmış SQL havuzunu ölçeklendirmek için ALTER DATABASE'de açıklanan izinler gerekir. Duraklatma ve sürdürme, özellikle Microsoft.Sql/servers/databases/action ile SQL DB Katkıda Bulunanı rolünü gerektirir.