Aracılığıyla paylaş


Azure Synapse Analytics'te ayrılmış SQL havuzu (eski adı SQL DW) için Veri Ambarı Birimleri (DWU)

Bu belge, fiyat ve performansı iyileştirmek için ayrılmış SQL havuzu (eski adı SQL DW) için ideal veri ambarı birimi (DWU) sayısını seçme ve birim sayısını değiştirme hakkında öneriler içerir.

Veri Ambarı Birimleri nedir?

ayrılmış SQL havuzu (eski adı SQL DW), sağlanan analiz kaynaklarının bir koleksiyonunu temsil eder. Analiz kaynakları CPU, bellek ve GÇ'nin bir bileşimi olarak tanımlanır.

Bu üç kaynak, Veri Ambarı Birimleri (DWU) adı verilen işlem ölçeği birimleri halinde paketlenmiştir. DWU, işlem kaynaklarının ve performansın soyut, normalleştirilmiş bir ölçüsünü temsil eder.

Hizmet düzeyinizde yapılan bir değişiklik, sistem tarafından kullanılabilen DWU sayısını değiştirir ve bu da sisteminizin performansını ve maliyetini ayarlar.

Daha yüksek performans için veri ambarı birimi sayısını artırabilirsiniz. Daha az performans için veri ambarı birimlerini azaltın. Depolama ve işlem maliyetleri ayrı ayrı faturalandırılır, bu nedenle veri ambarı birimlerinin değiştirilmesi depolama maliyetlerini etkilemez.

Veri ambarı birimlerinin performansı şu veri ambarı iş yükü ölçümlerini temel alır:

  • Standart bir ayrılmış SQL havuzu (eski adıYLA SQL DW) sorgusunun çok sayıda satırı ne kadar hızlı tarayabileceği ve ardından karmaşık bir toplama gerçekleştirebileceği. This operation is I/O and CPU intensive.
  • Ayrılmış SQL havuzunun (eski adı SQL DW) Azure Depolama Bloblarından veya Azure Data Lake'ten veri alma hızı. Bu işlem ağ ve CPU yoğunlukludur.
  • CREATE TABLE AS SELECT T-SQL komutunun tabloyu ne kadar hızlı kopyalayabileceğiniz. Bu işlem, verileri depolama alanından okumayı, aletin düğümlerine dağıtmayı ve depolamaya yeniden yazmayı içerir. Bu işlem CPU, Girdi/Çıktı (GÇ) ve ağın yoğun olarak kullanıldığı bir işlemdir.

DWU'ları artırma:

  • Linearly changes performance of the system for scans, aggregations, and CTAS statements
  • PolyBase yük işlemleri için okuyucu ve yazıcı sayısını artırır
  • Eşzamanlı sorguların ve eşzamanlılık yuvalarının maksimum sayısını artırır

Hizmet Düzeyi Hedefi

Hizmet Düzeyi Hedefi (SLO), ayrılmış SQL havuzunuzun (eski adı SQL DW) maliyet ve performans düzeyini belirleyen ölçeklenebilirlik ayarıdır. 2. Nesil ayrılmış SQL havuzunun (eski adı SQL DW) hizmet düzeyleri, veri ambarı birimlerinde (DWU) (örneğin DW2000c) ölçülür.

Uyarı

Ayrılmış SQL havuzu (eski adı SQL DW) 2. Nesil kısa süre önce DW100c kadar düşük işlem katmanlarını desteklemek için ek ölçek özellikleri ekledi. Şu anda 1. Nesil'de bulunan ve daha düşük işlem katmanları gerektiren mevcut veri ambarları artık ek ücret ödemeden kullanılabilir olan bölgelerde 2. Nesil'e yükseltilebilir. Bölgeniz henüz desteklenmiyorsa, yine de desteklenen bir bölgeye yükseltebilirsiniz. Daha fazla bilgi için 2. Nesil'e Yükseltme bölümüne bakın.

T-SQL'de SERVICE_OBJECTIVE ayarı, ayrılmış SQL havuzunuzun (eski adı SQL DW) hizmet düzeyini ve performans katmanını belirler.

CREATE DATABASE mySQLDW
(Edition = 'Datawarehouse'
 ,SERVICE_OBJECTIVE = 'DW1000c'
)
;

Performans Katmanları ve Veri Ambarı Birimleri

Her performans katmanı, veri ambarı birimleri için biraz farklı bir ölçü birimi kullanır. Ölçek birimi doğrudan faturalamaya çevrildikçe bu fark faturaya yansıtılır.

  • 1. Nesil veri ambarları, Veri Ambarı Birimleri (DWU) cinsinden ölçülür.
  • 2. Nesil veri ambarları, işlem Veri Ambarı Birimleri (cDWU) cinsinden ölçülür.

Hem DWU'lar hem de cDWU'lar, işlem ölçeğini artırmayı veya azaltmayı ve veri ambarını kullanmanız gerekmediğinde işlem duraklatma desteği sağlar. Bu işlemlerin tümü isteğe bağlıdır. 2. Nesil, performansı geliştirmek için işlem düğümlerinde yerel disk tabanlı bir önbellek kullanır. Sistemi ölçeklendirdiğinizde veya duraklattığınızda önbellek geçersiz kılınır ve bu nedenle en iyi performans elde edilmeden önce önbellek ısınma süresi gerekir.

Kapasite sınırları

Her SQL sunucusunun (örneğin, myserver.database.windows.net) belirli sayıda veri ambarı birimine izin veren bir Veritabanı İşlem Birimi (DTU) kotası vardır. Daha fazla bilgi için iş yükü yönetimi kapasite sınırlarına bakın.

Kaç veri ambarı birimine ihtiyacım var?

İdeal veri ambarı birimi sayısı, iş yükünüz ve sisteme yüklediğiniz veri miktarına çok bağlıdır.

İş yükünüz için en iyi DWU'ları bulma adımları:

  1. Daha küçük bir DWU seçerek başlayın.

  2. Sistemdeki veri yüklerini test ettikçe uygulama performansınızı izleyin ve gözlemlediğiniz performansla karşılaştırıldığında seçilen DWU sayısını gözlemleyin. kaynak kullanımını izleyerek doğrulayın.

  3. En yoğun etkinliğin periyodik dönemleri için ek gereksinimleri belirleyin. Etkinlikte önemli zirveleri ve olukları gösteren iş yüklerinin sık sık ölçeklendirilmesi gerekebilir.

Ayrılmış SQL havuzu (eski adı SQL DW), büyük miktarda hesaplama kaynağını tahsis edebilen ve büyük veri hacimlerini sorgulayıp işleyebilen bir genişletme sistemidir.

Özellikle daha büyük DWU'larda ölçeklendirmeye yönelik gerçek özelliklerini görmek için, CPU'ları beslemek için yeterli veriye sahip olduğunuzdan emin olmak için ölçeklendikçe veri kümesini ölçeklendirmenizi öneririz. Ölçek testi için en az 1 TB kullanmanızı öneririz.

Uyarı

Sorgu performansı yalnızca iş işlem düğümleri arasında bölünebiliyorsa daha fazla paralelleştirme ile artar. Ölçeklendirmenin performansınızı değiştirmediğini fark ederseniz tablo tasarımınızı ve/veya sorgularınızı ayarlamanız gerekebilir. Sorgu ayarlama kılavuzu için bkz. Kullanıcı sorgularını yönetme.

İzinler

Veri ambarı birimlerini değiştirmek için ALTER DATABASEbölümünde açıklanan izinler gerekir.

SQL DB Katkıda Bulunanı ve SQL Server Katkıda Bulunanı gibi Azure yerleşik rolleri DWU ayarlarını değiştirebilir.

Geçerli DWU ayarlarını görüntüleme

Geçerli DWU ayarını görüntülemek için:

  1. Visual Studio'da SQL Server Nesne Gezgini'ne gidin.
  2. Mantıksal SQL sunucusuyla ilişkili ana veritabanına bağlanın.
  3. sys.database_service_objectives dinamik yönetim görünümünden seçin. Aşağıda bir örnek verilmiştir:
SELECT  db.name [Database]
,        ds.edition [Edition]
,        ds.service_objective [Service Objective]
FROM    sys.database_service_objectives   AS ds
JOIN    sys.databases                     AS db ON ds.database_id = db.database_id
;

Veri ambarı birimlerini değiştirme

Azure portalı

DWU'ları değiştirmek için:

  1. Open the Azure portal, open your database, and click Scale.

  2. Ölçekaltında, DWU ayarını değiştirmek için kaydırıcıyı sola veya sağa hareket ettirin.

  3. Kaydet'e tıklayın. Bir onay iletisi görüntülenir. Onaylamak için evet'e veya iptal etmek için hayır'e tıklayın.

PowerShell

Uyarı

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

DWU'ları değiştirmek için Set-AzSqlDatabase PowerShell cmdlet'ini kullanın. Aşağıdaki örnek, MyServer sunucusunda barındırılan MySQLDW veritabanı için hizmet düzeyi hedefini DW1000 olarak ayarlar.

Set-AzSqlDatabase -DatabaseName "MySQLDW" -ServerName "MyServer" -RequestedServiceObjectiveName "DW1000c"

Daha fazla bilgi için, ayrılmış SQL havuzu (eski adıyla SQL DW) için PowerShell cmdlet'lerini inceleyin.

T-SQL

T-SQL ile geçerli DWUsettings'i görüntüleyebilir, ayarları değiştirebilir ve ilerleme durumunu denetleyebilirsiniz.

DWU'ları değiştirmek için:

  1. Sunucunuzla ilişkilendirilmiş ana veritabanına bağlanın.
  2. ALTER DATABASE TSQL komutunu kullanın. Aşağıdaki örnek, MySQLDW veritabanı için hizmet düzeyi hedefini DW1000c olarak ayarlar.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

REST API'leri

DWU'ları değiştirmek için Veritabanı Oluştur veya Güncelleştir REST API'sini kullanın. Aşağıdaki örnek, MyServer sunucusunda barındırılan veritabanı MySQLDWiçin hizmet düzeyi hedefini DW1000c olarak ayarlar. Sunucu ResourceGroup1 adlı bir Azure kaynak grubunda yer alır.

PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Sql/servers/{server-name}/databases/{database-name}?api-version=2014-04-01-preview HTTP/1.1
Content-Type: application/json; charset=UTF-8

{
    "properties": {
        "requestedServiceObjectiveName": "DW1000c"
    }
}

For more REST API examples, see REST APIs for dedicated SQL pool (formerly SQL DW).

DWU değişikliklerinin durumunu denetleme

DWU değişikliklerinin tamamlanması birkaç dakika sürebilir. Ölçeklendirmeyi otomatik olarak gerçekleştiriyorsanız, başka bir eyleme geçmeden önce belirli işlemlerin tamamlandığından emin olmak için mantık uygulamayı göz önünde bulundurun.

Veritabanı durumunu çeşitli uç noktalar aracılığıyla denetlemek, otomasyonu doğru bir şekilde uygulamanıza olanak tanır. Portal, bir işlemin ve veritabanlarının geçerli durumunun tamamlanmasının ardından bildirim sağlar, ancak durum programlama denetimine izin vermez.

Azure portalı ile genişleme işlemleri için veritabanı durumunu denetleyemiyorsunuz.

DWU değişikliklerinin durumunu denetlemek için:

  1. Sunucunuzla ilişkilendirilmiş ana veritabanına bağlanın.

  2. Veritabanı durumunu denetlemek için aşağıdaki sorguyu gönderin.

    SELECT    *
    FROM      sys.dm_operation_status
    WHERE     resource_type_desc = 'Database'
    AND       major_resource_id = 'MySQLDW'
    ;
    

This DMV returns information about various management operations on your dedicated SQL pool (formerly SQL DW) such as the operation and the state of the operation, which is either IN_PROGRESS or COMPLETED.

Ölçeklendirme iş akışı

Bir ölçeklendirme işlemi başlattığınızda, sistem ilk olarak tüm açık oturumları öldürür ve tutarlı bir durum sağlamak için tüm açık işlemleri geri alır. For scale operations, scaling only occurs after this transactional rollback has completed.

  • Bir ölçeklendirme işlemi için sistem tüm işlem düğümlerini ayırır, ek işlem düğümlerini sağlar ve ardından depolama katmanına yeniden bağlanır.
  • Ölçek küçültme işlemi için sistem, tüm işlem düğümlerini ayırır ve ardından sadece gerekli olanları depolama katmanına tekrar bağlar.

Sonraki adımlar

Performansı yönetme hakkında daha fazla bilgi edinmek için bkz. İş yükü yönetimi için kaynak sınıfları ve Bellek ve eşzamanlılık sınırları.