Doku Veri Ambarı'nda veri kümeleme kullanma (Önizleme)

Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı

Önemli

Bu özellik önizleme aşamasındadır.

Doku Veri Ambarı'nda veri kümelemesi, daha hızlı sorgu performansı ve daha düşük işlem kullanımı için verileri düzenler. Bu öğreticide, kümelenmiş tablolar oluşturmaktan bunların verimliliğini denetlemeye kadar veri kümeleme ile tablo oluşturma adımları adım adım izlenmiştir.

Önkoşullar

  • Aktif aboneliğe sahip bir Microsoft Fabric kullanıcı hesabı.
  • Microsoft Fabric özellikli çalışma alanınız olduğundan emin olun: Çalışma alanı oluşturma.
  • Zaten bir Ambar oluşturduğunuzdan emin olun. Yeni bir Ambar oluşturmak için Bkz. Microsoft Fabric'te Ambar Oluşturma.
  • T-SQL ve veri sorgulama hakkında temel bilgiler.

Örnek verileri içe aktar

Bu öğreticide NY Taxi örnek veri kümesi kullanılır. NY Taxi verilerini Ambarınıza aktarmak için. Örnek verileri Veri Ambarı'na yükleme öğreticisini kullanın.

Veri kümeleme ile bir tablo oluşturun

Bu öğretici için NYTaxi tablosunun iki kopyasına ihtiyacımız vardır: öğreticiden içeri aktarılan tablonun normal kopyası ve veri kümeleme kullanan bir kopya. Özgün NYTaxi tablosunu temel alarak (CTAS) kullanarak CREATE TABLE AS SELECT yeni bir tablo oluşturmak için aşağıdaki komutu kullanın:

CREATE TABLE nyctlc_With_DataClustering 
WITH (CLUSTER BY (lpepPickupDatetime)) 
AS SELECT * FROM nyctlc

Uyarı

Örnekte, Örnek verileri Veri Ambarı'na Yükleme öğreticisindeki NY Taxi veri kümesine verilen tablo adı varsayılır. Tablonuz için farklı bir ad kullandıysanız, komutu ayarlayıp nyctlc yerine tablonuzun adını koyun.

Bu komut, lpepPickupDatetime sütununda veri kümeleme ile özgün NYTaxi tablosunun tam bir kopyasını oluşturur. Ardından, sorgulama için bu sütunu kullanacağız.

Sorgu verileri

NYTaxi tablosunda bir sorgu çalıştırın ve karşılaştırma için NYTaxi_With_DataClustering tablosunda aynı sorguyu yineleyin.

Uyarı

Bu analiz için, Doku Veri Ambarı'nın önbelleğe alma özelliklerini kullanmadan her iki çalıştırmanın da soğuk önbellek performansına bakmak yararlı olur. Bu nedenle, Sorgu İçgörüleri'nde sonuçlara bakmadan önce her sorguyu tam olarak bir kez çalıştırın.

Genellikle Depo'da sıklıkla kullanılan bir sorgu kullanırız. Bu sorgu, tarihler 2008-12-31 ile 2014-06-30arasındaki yıla göre ortalama ücret miktarını hesaplar:

SELECT
    YEAR(lpepPickupDatetime), 
    AVG(fareAmount) as [Average Fare]
FROM 
    NYTaxi
WHERE 
    lpepPickupDatetime BETWEEN '2008-12-31' AND '2014-06-30'
GROUP BY 
    YEAR(lpepPickupDatetime)
ORDER BY 
    YEAR(lpepPickupDatetime) DESC
OPTION (LABEL = 'Regular');

Uyarı

Bu sorguda kullanılan etiket seçeneği, tablonun sorgu ayrıntılarını daha sonra Regular kullanarak veri kümeleme kullananla karşılaştırdığımızda kullanışlıdır.

Ardından, tam olarak aynı sorguyu yineleyeceğiz, ancak veri kümelediğini kullanan tablonun sürümünde:

SELECT 
    YEAR(lpepPickupDatetime), 
    AVG(fareAmount) as [Average Fare]
FROM 
    NYTaxi_With_DataClustering
WHERE 
    lpepPickupDatetime BETWEEN '2008-12-31' AND '2014-06-30'
GROUP BY 
    YEAR(lpepPickupDatetime)
ORDER BY 
    YEAR(lpepPickupDatetime) DESC
OPTION (LABEL = 'Clustered');

İkinci sorgu, bu sorguyu daha sonra Clustered ile tanımlamamıza olanak tanımak için etiketini kullanır.

Veri kümelemenin etkinliğini denetleme

Kümeleme ayarladıktan sonra, Query Insights'ı kullanarak etkinliğini değerlendirebilirsiniz. Doku Veri Ambarı'ndaki Sorgu İçgörüleri geçmiş sorgu yürütme verilerini yakalar ve uzun süre çalışan veya sık yürütülen sorguları tanımlama gibi eyleme dönüştürülebilir içgörüler halinde toplar.

Bu durumda, normal ve kümelenmiş durumlar arasında taranan verilerdeki farkı karşılaştırmak için Sorgu İçgörüleri'ni kullanırız.

Aşağıdaki sorguyu kullanın:

SELECT 
    label, 
    submit_time, 
    row_count,
    total_elapsed_time_ms, 
    allocated_cpu_time_ms, 
    result_cache_hit, 
    data_scanned_disk_mb, 
    data_scanned_memory_mb, 
    data_scanned_remote_storage_mb, 
    command 
FROM 
    queryinsights.exec_requests_history 
WHERE 
    command LIKE '%NYTaxi%' 
    AND label IN ('Regular','Clustered')
ORDER BY 
    submit_time DESC;

Bu sorgu, exec_requests_history görünümünden ayrıntıları getirir. Daha fazla bilgi için bkz. queryinsights.exec_requests_history (Transact-SQL).

Sorgu sonuçları aşağıdaki yollarla filtreler:

  • Yalnızca komut adındaki metni içeren NYTaxi satırları getirir (test sorgularında kullanıldığı gibi)
  • Yalnızca etiket değerinin normal veya kümelenmiş olduğu satırları getirir

Uyarı

Sorgu ayrıntılarınızın Sorgu İçgörüleri'nde kullanılabilir duruma gelmesi birkaç dakika sürebilir. Sorgu İçgörüleri sorgunuz sonuç döndürmezse birkaç dakika sonra yeniden deneyin.

Bu sorguyu çalıştırdığınızda aşağıdaki sonuçları gözlemliyoruz:

İki etiket için sorgu yürütme ölçümlerini karşılaştıran tablo: Kümelenmiş ve Normal. Normal sorgu daha fazla kaynak kullandı.

Her iki sorgunun da 6 satır sayısı ve benzer gönderme süreleri vardır. Sorgu Clustered 1794, total_elapsed_time_ms 1676 ve allocated_cpu_time_ms 77,519 sayısını gösterirdata_scanned_remote_storage_mb. Sorguda Regulartotal_elapsed_time_ms 2651, allocated_cpu_time_ms 2600 ve data_scanned_remote_storage_mb 177,700 gösterilir. Bu sayılar, her iki sorgu da aynı sonuçları döndürse de sürümün Clustered sürümden Regular yaklaşık 36% daha az CPU süresi kullandığını ve diskte yaklaşık 56% daha az veri taradığını gösterir. Her iki sorgu çalıştırmasında da önbellek kullanılmadı. Bunlar, sorgu yürütme süresini ve kaynak tüketimini azaltmaya ve lpepPickupDatetime sütununu veri kümelemesi için güçlü bir aday yapmaya yardımcı olan önemli sonuçlardır.

Uyarı

Bu, yaklaşık 76 milyon satır ve 2 GB veri hacmine sahip küçük bir tablodur. Bu sorgu toplamasında yalnızca altı satır (aralıktaki her yıl için bir satır) döndürse de, sonuçlar toplanmadan önce sağlanan tarih aralığında yaklaşık 8,3 milyon satırı tarar. Daha büyük veri hacimlerine sahip gerçek üretim verileri daha önemli sonuçlar sağlayabilir. Sonuçlarınız, sorgular sırasında kapasite boyutuna, önbelleğe alınan sonuçlara veya eşzamanlılığa bağlı olarak farklılık gösterebilir.