Data Warehouse havuz (eski adı DW) SQL (eski adı DW) için SQL Birimleri (DWU Azure Synapse Analytics

Bu belge, fiyatı ve performansı iyileştirmek için ideal veri ambarı birimi (DWU) sayısını seçme ve birim sayısını değiştirme ile ilgili öneriler içerir.

Birim Data Warehouse nedir?

Ayrılmış SQL havuzu (eski SQL DW), sağlanan analiz kaynaklarının bir koleksiyonunu temsil eder. Analiz kaynakları CPU, bellek ve IO birleşimi olarak tanımlanır.

Bu üç kaynak, Birim (DWU) olarak adlandırılan Data Warehouse birim olarak paket haline geldi. DWU, hesaplama kaynakları ve performansının soyut, normalleştirilmiş bir ölçümünü temsil eder.

Hizmet düzeyinize yapılan bir değişiklik, sistemin kullanılabilir DWÜ 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 düşürebilirsiniz. Depolama ve hesaplama maliyetleri ayrıca faturalandırılır, yani veri ambarı birimlerini değiştirmek depolama maliyetlerini etkilemez.

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

  • Standart bir ayrılmış SQL havuzu (eski SQL DW) sorgusunun ne kadar hızlı olduğu çok sayıda satırı tarar ve ardından karmaşık bir toplama işlemi gerçekleştirebilirsiniz. Bu işlem, yoğun işletim sistemi ve CPU kullanımına sahiptir.
  • Ayrılmış SQL havuzunun (eski adı DW SQL) Azure Depolama Bloblarından veya Azure Data Lake'den veri ne kadar hızlı bir şekilde edinebilirsiniz? Bu işlem ağ ve CPU kullanımı yoğun bir işlemdir.
  • CREATE TABLE AS SELECTT-SQL komutunun bir tabloyu ne kadar hızlı kopyalayıp kopyalayay oraları. Bu işlem verileri depolamadan okumayı, aletin düğümleri arasında dağıtmayı ve yeniden depolamaya yazmayı içerir. Bu işlem CPU, IO ve ağ kullanımı yoğun bir işlemdir.

DWUS'ları artırma:

  • Taramalar, toplamalar ve CTAS deyimleri için sistemin performansını doğrusal olarak değiştirir
  • PolyBase yük işlemleri 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ını artırır.

Hizmet Düzeyi Hedefi

Hizmet Düzeyi Hedefi (SLO), veri ambarının maliyet ve performans düzeyini belirleyen ölçeklenebilirlik ayarıdır. 2. Nesil hizmet düzeyleri, işlem veri ambarı birimleri (cDWU) olarak ölçülür, örneğin DW2000c. 1. Nesil hizmet düzeyleri DWUs(DW2000 gibi) ile ölçülür.

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

Not

Ayrılmış SQL havuzu (eski SQL DW) 100 cDWU'ya kadar düşük işlem katmanlarını desteklemek için yeni ölçek özellikleri ekledi. Şu anda 1. Nesil'de daha düşük işlem katmanları gerektiren mevcut veri ambarları artık ek ücret ödemeden kullanılabilen 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 bkz. 2. Nesil'e yükseltme.

T-SQL' SERVICE_OBJECTIVE ayarı, ayrılmış SQL havuzunuz (eski adı DW) için hizmet SQL belirler.

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

Performans Katmanları ve Data Warehouse Birimleri

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

  • 1. Nesil veri ambarları, Data Warehouse Birimleri (DWU) olarak ölçülür.
  • 2. Nesil veri ambarları, işlem ve Data Warehouse (cDWU) olarak ölçülür.

Hem DWU'lar hem de cDWU'lar, işlem ölçeğini genişletmeyi veya genişletmeyi ve veri ambarlarını kullanmak zorunda olmadığınız zaman işlem duraklatma desteği sağlar. Bu işlemlerin hepsi isteğe bağlıdır. 2. Nesil, performansı artırmak için işlem düğümlerinde yerel disk tabanlı önbellek kullanır. Sistemi ölçeklendirin veya duraklatın, önbellek geçersiz kılınmış ve bu nedenle en iyi performansa ulaşılamadan önce bir önbellek uzama süresi gerekir.

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

Kapasite sınırları

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

Kaç veri ambarı birimine ihtiyacım var?

İdeal veri ambarı birimi sayısı, iş yükünüze ve sisteme yüklemiş olduğunuz veri miktarına çok bağlıdır.

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

  1. Başlangıç olarak daha küçük bir DWU seçin.
  2. Verileri sisteme yüklerken uygulama performansınızı izleyebilir ve seçtiğiniz DWUS sayısını gözlemleyebilirsiniz.
  3. Yoğun etkinliğin düzenli dönemleri için ek gereksinimleri belirleme. Etkinlikte önemli artışlar ve artışlar görülen iş yüklerinin sık ölçeklendirileneme ihtiyacı olabilir.

Ayrılmış SQL havuzu (eski SQL DW), çok büyük miktarlarda işlem ve sorgu boyutuna sahip veri sağlanabilir bir ölçek geliştirme sistemidir.

Ölçeklendirmeye, özellikle de daha büyük DWU'larda gerçek özelliklerini görmek için, CPU'ları beslemek için yeterli veriye sahip olduğundan emin olmak için ölçeklediğiniz veri kümesinde ölçeklendirmenizi öneririz. Ölçek testi için en az 1 TB kullanılması önerilir.

Not

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

İzinler

Veri ambarı birimlerini değiştirmek için ALTER DATABASE içinde 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. SQL Server Nesne Gezgini'de Visual Studio.
  2. Bağlan sunucuyla ilişkili ana veritabanına SQL.
  3. Dinamik yönetim sys.database_service_objectives seçin. Örnek aşağıda 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

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

  1. veritabanını Azure portal,veritabanınızı açın ve Ölçeklendir'e tıklayın.

  2. Ölçeklendir'inaltında kaydırıcıyı sola veya sağa hareket ettirerek DWU ayarını değiştirebilirsiniz.

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

PowerShell

Not

Bu makalede, Azure ile etkileşim kurmak için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

DWUs'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 amacını DW1000 olarak ayarlar.

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

Daha fazla bilgi için bkz. Ayrılmış SQL havuzu için PowerShell cmdlet'leri (eski SQL DW)

T-SQL

T-SQL geçerli DWUsettings'i görüntülüyor, ayarları değiştirebilir ve ilerlemeyi kontrol edebilirsiniz.

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

  1. Bağlan ile ilişkili ana veritabanına bağlantı oluşturun.
  2. ALTER DATABASE TSQL deyimini kullanın. Aşağıdaki örnek, MySQLDW veritabanı için hizmet düzeyi hedeflerini DW1000c olarak ayarlar.
ALTER DATABASE MySQLDW
MODIFY (SERVICE_OBJECTIVE = 'DW1000c')
;

REST API'leri

DWUs'ları değiştirmek için Veritabanı Oluştur veya Güncelleştir REST API. Aşağıdaki örnek, MyServer sunucusunda barındırılan MySQLDW veritabanı için hizmet düzeyi amacını DW1000c olarak ayarlar. Sunucu ResourceGroup1 adlı bir Azure kaynak grubundadı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"
    }
}

Daha fazla REST API için bkz. Ayrılmış SQL havuzu için REST API'leri (eski SQL DW).

DWU değişikliklerinin durumunu denetleme

DWU değişikliklerinin tamamlanması birkaç dakika sürebilir. Otomatik olarak ölçeklendirıyorsanız, başka bir eyleme devam etmeden önce belirli işlemlerin tamamlandığından emin olmak için mantık uygulamayı göz önünde bulundurabilirsiniz.

Veritabanı durumunun çeşitli uç noktalar üzerinden denetlenerek otomasyonu doğru bir şekilde gerçekleştirebilirsiniz. Portal, bir işlem tamamlandıktan ve veritabanlarının geçerli durumuna yönelik bildirim sağlar, ancak durumun program aracılığıyla denetlenilmesine izin vermez.

Veritabanı durumunu, veritabanıyla birlikte ölçeğin ölçeğini Azure portal.

DWU değişikliklerinin durumunu kontrol etmek için:

  1. Bağlan ilişkili ana veritabanına geri yükleme.
  2. Veritabanı durumunu kontrol etmek için aşağıdaki sorguyu gönderin.
SELECT    *
FROM      sys.databases
;
  1. İşlem durumunu kontrol etmek için aşağıdaki sorguyu gönderin

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

Bu DMV, ayrılmış SQL havuzu (eski adı SQL DW) üzerinde işlem ve işlem durumu (IN_PROGRESS veya COMPLETED) gibi çeşitli yönetim işlemleri hakkında bilgi döndürür.

Ölçeklendirme iş akışı

Ölçeklendirme işlemi başlatan sistem ilk olarak tüm açık oturumları sontar ve tutarlı bir durum elde etmek için açık işlemleri geri alar. Ölçeklendirme işlemleri için ölçeklendirme yalnızca bu işlem geri alma işlemi tamamlandıktan sonra gerçekleşir.

  • Ölçek ö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ğlı olur.
  • Ölçek aşağı ölçeklendirme işlemi için sistem tüm işlem düğümlerini ayırır ve ardından yalnızca gerekli düğümleri depolama katmanına yeniden ekler.

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ı.