Azure Synapse Analytics 'te adanmış SQL havuzu için iş yükü sınıflandırması

bu makalede, Azure Synapse 'de adanmış SQL havuzlarıyla bir iş yükü grubu ve gelen isteklere önem vermenin iş yükü sınıflandırması süreci açıklanmaktadır.

Sınıflandırma

İş yükü yönetimi sınıflandırması, kaynak sınıfları ve önemiatanarak iş yükü ilkelerinin isteklere uygulanmasını sağlar.

Veri ambarı iş yüklerini sınıflandırmanın birçok yolu olmakla kalmaz, en basit ve en yaygın sınıflandırma Load ve Query 'dir. INSERT, Update ve DELETE deyimleriyle veri yüklersiniz. Seçim ' i kullanarak verileri sorgulayın. Veri ambarı çözümü, genellikle daha fazla kaynakla daha yüksek bir kaynak sınıfı atama gibi yükleme etkinliğine yönelik bir iş yükü ilkesine sahip olur. Yük etkinlikleriyle karşılaştırıldığında daha düşük önem düzeyi gibi sorgulara farklı bir iş yükü ilkesi uygulanabilir.

Ayrıca, yük ve sorgu iş yüklerinizi de alt sınıflandırın. Alt sınıflandırma, iş yüklerinizde 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üklerinden her birini, farklı kaynak sınıflarıyla veya önem ayarlarına göre sınıflandırabilirsiniz. Yük, alt sınıflandırmadan da yararlanabilir. Büyük dönüşümler, daha büyük kaynak sınıflarına atanabilir. Önemli satış verilerinin, hava durumu verilerinden veya sosyal veri akışından önce yükleyici olduğundan emin olmak için daha yüksek önem düzeyi kullanılabilir.

Tüm deyimler, kaynak gerektirmediğinden veya yürütmeyi etkilemek için önem duymadığından sınıflandırılmazlar. DBCC komutları, BEGIN, COMMıT ve ROLLBACK TRANSACTION deyimleri sınıflandırılmıyor.

Sınıflandırma işlemi

adanmış SQL havuzu için sınıflandırma, sp_addrolememberkullanılarak kendisine atanmış karşılık gelen kaynak sınıfına sahip bir role kullanıcı atanarak bugün elde edilir. Bir kaynak sınıfına bir oturum açma ötesinde istekleri niteleyebilme özelliği bu özellikle sınırlıdır. Artık sınıflandırma için daha zengin bir yöntem oluşturma Iş yükü sınıflandırıcı sözdizimi ile kullanılabilir. bu söz dizimi ile, adanmış SQL havuzu kullanıcıları önem ve parametre aracılığıyla bir isteğe ne kadar sistem kaynağı atandığını atayabilir workload_group .

Not

Sınıflandırma, istek başına temelinde değerlendirilir. Tek bir oturumdaki birden çok istek farklı şekilde sınıflandırılabilir.

Sınıflandırma ağırlığı

Sınıflandırma sürecinin bir parçası olarak, hangi iş yükü grubunun atandığını belirleyen ağırlığa yer verilir. Ağırlığa şu şekilde geçilir:

Sınıflandırıcı parametresi Ağırlık
MEMBERNAME: KULLANıCı 64
MEMBERNAME: ROL 32
WLM_LABEL 16
WLM_CONTEXT 8
START_TIME/END_TIME 4

membernameParametresi zorunludur. Ancak, belirtilen MemberName bir veritabanı rolü yerine bir veritabanı kullanıcısı ise, Kullanıcı ağırlığı 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ış, varolan kaynak sınıfı atama davranışı ile tutarlıdır.

Sistem sınıflandırıcıları

İş yükü sınıflandırmasında sistem iş yükü sınıflandırıcıları vardır. Sistem sınıflandırıcıları, var olan kaynak sınıfı rolü üyeliklerini, normal öneme sahip kaynak sınıfı kaynak tahsisatlarına eşler. Sistem sınıflandırıcıları bırakılamaz. Sistem sınıflandırıcıları görüntülemek için aşağıdaki sorguyu çalıştırabilirsiniz:

SELECT * FROM sys.workload_management_workload_classifiers where classifier_id <= 12

Sınıflandırıcılarla kaynak sınıfı atamalarını karıştırma

Sizin adınıza oluşturulan sistem sınıflandırıcıları, iş yükü sınıflandırmasına geçirmek için kolay bir yol sağlar. Sınıflandırma önceliğiyle kaynak sınıfı rol eşlemelerini kullanmak, önem derecesine sahip yeni sınıflandırıcılar oluşturmaya başladığınızda yanlış sınıflandırmaya neden olabilir.

Şu senaryoyu göz önünde bulundurun:

  • Mevcut bir veri ambarında, largerc kaynak sınıfı rolüne atanan bir veritabanı kullanıcısı DBAUser vardır. Kaynak sınıfı ataması sp_addrolemember yapıldı.
  • Veri ambarı artık iş yükü yönetimi ile güncelleştirildi.
  • Yeni sınıflandırma söz dizimini test etmek için, DBARole veritabanı rolü (DBAUser 'ın üyesi olduğu), bunları ana RC ve yüksek önem derecesine eşleyerek oluşturulmuş bir sınıflandırıcıdır.
  • DBAUser oturum açar ve bir sorgu çalıştırdığında sorgu largerc 'ye atanır. Bir Kullanıcı bir rol üyeliğinden öncelikli olduğundan.

Hatalı sınıflandırmayla ilgili sorun 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, var olan kaynak sınıfı rolü üyeliklerini döndürür. Karşılık gelen 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
sp_droprolemember '[Resource Class]', membername

Sonraki adımlar