Azure Synapse Analytics'te ayrılmış SQL havuzu için iş yükü sınıflandırması
Bu makalede, Azure Synapse'te ayrılmış SQL havuzlarıyla gelen isteklere bir iş yükü grubu atamanın iş yükü sınıflandırma işlemi ve önem derecesi açıklanmaktadır.
Sınıflandırma
İş yükü yönetimi sınıflandırması, kaynak sınıfları ve önem derecesi atanarak isteklere iş yükü ilkelerinin uygulanmasını sağlar.
Veri ambarı iş yüklerini sınıflandırmanın birçok yolu olsa da, en basit ve en yaygın sınıflandırma yük ve sorgudur. Ekleme, güncelleştirme ve silme deyimleriyle veri yüklersiniz. Seçmeleri kullanarak verileri sorgularsınız. Veri ambarı çözümü genellikle yük etkinliği için daha fazla kaynak içeren daha yüksek bir kaynak sınıfı atama gibi bir iş yükü ilkesine sahip olur. Farklı bir iş yükü ilkesi, yük etkinliklerine kıyasla daha düşük önem düzeyi gibi sorgulara uygulanabilir.
Ayrıca yükünüzü alt sınıflandırabilir ve iş yüklerinizi sorgulayabilirsiniz. Alt sınıflandırma, iş yükleriniz için daha fazla denetim sağlar. Örneğin, sorgu iş yükleri küp yenilemelerinden, pano sorgularından veya geçici sorgulardan oluşabilir. Bu sorgu iş yüklerinin her birini farklı kaynak sınıfları veya önem ayarlarıyla sınıflandırabilirsiniz. Yük, alt sınıflandırmadan da yararlanabilir. Büyük dönüştürmeler daha büyük kaynak sınıflarına atanabilir. Hava durumu verileri veya sosyal veri akışı öncesinde önemli satış verilerinin yüklendiğinden emin olmak için daha yüksek öneme sahip olabilir.
Tüm deyimler kaynak gerektirmediğinden veya yürütmeyi etkilemek için öneme ihtiyaç duyduğu için sınıflandırılmamıştır. DBCC
komutları, BEGIN
, COMMIT
ve ROLLBACK TRANSACTION
deyimleri sınıflandırılmamış.
Sınıflandırma işlemi
Ayrılmış SQL havuzu sınıflandırması bugün kullanıcılara sp_addrolemember kullanılarak kendisine karşılık gelen bir kaynak sınıfı atanmış bir role atanarak elde edilir. Bir kaynak sınıfında oturum açma dışında istekleri niteleyebilme özelliği bu yetenekle sınırlıdır. CREATE WORKLOAD CLASSIFIER söz dizimiyle sınıflandırma için daha zengin bir yöntem kullanılabilir. Bu söz dizimi ile, ayrılmış SQL havuzu kullanıcıları parametre aracılığıyla workload_group
bir isteğe önem ve ne kadar sistem kaynağı atandığı atayabilir.
Sınıflandırma ağırlıklama
Sınıflandırma sürecinin bir parçası olarak, hangi iş yükü grubunun atandığını belirlemek için ağırlıklama gerçekleştirilir. Ağırlık aşağıdaki gibi olur:
Sınıflandırıcı Parametresi | Weight |
---|---|
MEMBERNAME:USER | 64 |
MEMBERNAME:ROLE | 32 |
WLM_LABEL | 16 |
WLM_CONTEXT | 8 |
START_TIME/END_TIME | 4 |
MEMBERNAME
parametresi zorunludur. Ancak, belirtilen üye adı veritabanı rolü yerine veritabanı kullanıcısıysa, kullanıcı için ağırlık daha yüksektir ve bu nedenle sınıflandırıcı seçilir.
Bir kullanıcı, birden çok sınıflandırıcıda atanmış veya eşleştirilmiş farklı kaynak sınıflarına sahip birden çok rolün üyesiyse, kullanıcıya en yüksek kaynak sınıfı ataması verilir. Bu davranış, mevcut kaynak sınıfı atama davranışıyla tutarlıdır.
Not
Yönetilen kimliklerin davranışını sınıflandırmak, Azure Synapse çalışma alanlarındaki ayrılmış SQL havuzu ile tek başına ayrılmış SQL havuzu (eski adı SQL DW) arasında farklılık gösterir. Atanan kimliği tek başına ayrılmış SQL havuzu yönetilen kimliği korurken, Azure Synapse çalışma alanları için yönetilen kimlik olarak dbo
çalışır. Bu ayar değiştirilemez. Varsayılan olarak dbo rolü smallrc olarak sınıflandırılır. dbo rolü için sınıflandırıcı oluşturmak, smallrc dışında bir iş yükü grubuna istek atamaya olanak tanır. Tek başına dbo sınıflandırma için çok genelse ve daha geniş etkilere sahipse, dbo rol sınıflandırmasıyla birlikte etiket, oturum veya zamana bağlı sınıflandırma kullanmayı göz önünde bulundurun.
Smallrc dışında dinamik kaynak sınıfları önceden tanımlanmış veritabanı rolleri olarak uygulanır. Smallrc bir veritabanı rolü olarak görünmez, ancak Varsayılan kaynak sınıfıdır.
Sistem sınıflandırıcıları
İş yükü sınıflandırması, sistem iş yükü sınıflandırıcılarına sahiptir. Sistem sınıflandırıcıları, mevcut kaynak sınıfı rol üyeliklerini normal öneme sahip kaynak sınıfı kaynak ayırmalarıyla eşler. Sistem sınıflandırıcıları bırakılamaz. Sistem sınıflandırıcılarını görüntülemek için aşağıdaki sorguyu çalıştırabilirsiniz:
SELECT * FROM sys.workload_management_workload_classifiers where classifier_id <= 12
Kaynak sınıfı atamalarını sınıflandırıcılarla karıştırma
Sizin yerinize oluşturulan sistem sınıflandırıcıları, iş yükü sınıflandırmasına geçiş için kolay bir yol sağlar. Sınıflandırma önceliği olan kaynak sınıfı rol eşlemelerinin kullanılması, önem derecesine sahip yeni sınıflandırıcılar oluşturmaya başladığınızda yanlış sınıflandırmaya neden olabilir.
Aşağıdaki senaryoyu değerlendirin:
- Mevcut bir veri ambarı, daha büyük kaynak sınıfı rolüne atanmış bir veritabanı kullanıcısı DBAUser'a sahiptir. Kaynak sınıfı ataması ile yapıldı
sp_addrolemember.
- Veri ambarı artık iş yükü yönetimiyle güncelleştirildi.
- Yeni sınıflandırma söz dizimini test etmek için, veritabanı rolü DBARole (DBAUser'ın üyesi olduğu), bunları mediumrc ve yüksek önem düzeyine eşleyen bir sınıflandırıcı oluşturmuştur.
- DBAUser bir sorguyu oturum açtığında ve çalıştırdığında, sorgu daha büyük bir sorguya atanır. Çünkü bir kullanıcı rol üyeliğinden önceliklidir.
Yanlış sınıflandırma sorunlarını gidermeyi kolaylaştırmak için, iş yükü sınıflandırıcıları oluştururken kaynak sınıfı rol eşlemelerini kaldırmanızı öneririz. Aşağıdaki kod mevcut kaynak sınıfı rol üyeliklerini döndürür. İlgili kaynak sınıfından döndürülen her üye adı için sp_droprolemember çalıştırın.
SELECT r.name AS [Resource Class]
, m.name AS membername
FROM sys.database_role_members rm
JOIN sys.database_principals AS r ON rm.role_principal_id = r.principal_id
JOIN sys.database_principals AS m ON rm.member_principal_id = m.principal_id
WHERE r.name IN ('mediumrc','largerc','xlargerc','staticrc10','staticrc20','staticrc30','staticrc40','staticrc50','staticrc60','staticrc70','staticrc80');
--for each row returned run in the previous query
EXEC sp_droprolemember '[Resource Class]', membername;
İlgili içerik
- Sınıflandırıcı oluşturma hakkında daha fazla bilgi için bkz . CREATE WORKLOAD CLASSIFIER (Transact-SQL).
- İş yükü sınıflandırıcısı oluşturma İş yükü sınıflandırıcısı oluşturma hızlı başlangıcına bakın.
- İş Yükü Önemini Yapılandırma ve İş Yükü Yönetimini yönetme ve izleme ile ilgili nasıl yapılır makalelerine bakın.
- Sorguları ve atanan önemi görüntülemek için bkz . sys.dm_pdw_exec_requests .