Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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
NYTaxisatı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:
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.