Önbelleğe alma ilkesi (sık erişimli ve soğuk önbellek)

Azure Veri Gezgini, hızlı sorgu performansı sağlamak için çok katmanlı bir veri önbelleği sistemi kullanır. Veriler Azure Blob Depolama gibi güvenilir depolama alanında depolanır, ancak daha hızlı erişim için veriler işleme düğümlerinde, SSD'de ve hatta RAM'de önbelleğe alınır.

Real-Time Analytics, hızlı sorgu performansı sağlamak için çok katmanlı bir veri önbelleği sistemi kullanır. Veriler OneLake gibi güvenilir depolama alanında depolanır, ancak daha hızlı erişim için veriler işleme düğümlerinde, SSD'de ve hatta RAM'de önbelleğe alınır.

Önbelleğe alma ilkesi, önbelleğe alınması gereken verileri seçmenizi sağlar. Sık erişimli verilerde önbelleğe alma ilkesi ayarlayarak sık erişimli veri önbelleği ile soğuk veri önbelleği arasında ayrım yapabilirsiniz. Sık erişimli veriler daha hızlı sorgu performansı için yerel SSD depolama alanında tutulurken, soğuk veriler güvenilir depolama alanında depolanır ve bu da daha ucuz ama daha yavaş erişim sağlar.

Önbellek, sık erişimli veriler için yerel SSD diskinin %95'ini kullanır. Yeterli alan yoksa, en son veriler tercihen önbellekte tutulur. Kalan %5, sık erişimli olarak kategorilere ayrılmamış veriler için kullanılır. Bu tasarım, çok sayıda soğuk veri yükleyen sorguların önbellekten sık erişimli verileri çıkarmamasını sağlar.

Alınan tüm veriler önbelleğe alınırken en iyi sorgu performansı elde edilir. Ancak, bazı veriler sık erişimli önbellekte tutulma masrafını garanti etmeyebilir. Örneğin, seyrek erişilen eski günlük kayıtları daha az önemli olarak kabul edilebilir. Böyle durumlarda ekipler genellikle verileri sıcak tutmak için ödeme yerine daha düşük sorgu performansını tercih eder.

Veritabanı, tablo veya gerçekleştirilmiş görünüm düzeyinde önbelleğe alma ilkesini değiştirmek için yönetim komutlarını kullanın.

Küme, veritabanı, tablo veya gerçekleştirilmiş görünüm düzeyinde önbelleğe alma ilkesini değiştirmek için yönetim komutlarını kullanın.

İpucu

Kümeniz, kümenin toplam RAM'ine sığan ara sonuç kümelerine sahip geçici sorgular için tasarlanmıştır. Harita azaltma gibi büyük işler için ara sonuçları kalıcı depolamada depolamak yararlı olabilir. Bunu yapmak için sürekli bir dışarı aktarma işi oluşturun. Bu özellik, HDInsight veya Azure Databricks gibi hizmetleri kullanarak uzun süre çalışan toplu sorgular yapmanıza olanak tanır.

Önbelleğe alma ilkesi nasıl uygulanır?

Veriler alındığında sistem, veri alımının tarih ve saatini ve oluşturulan kapsamı izler. Önbelleğe alma ilkesini değerlendirmek için uzantının alma tarih ve saat değeri (veya bir kapsam önceden var olan birden çok uzantıdan oluşturulmuşsa maksimum değer) kullanılır.

Not

alma özelliğini creationTimekullanarak alım tarihi ve saati için bir değer belirtebilirsiniz. Bunu yaparken, tablonun geçerli Kapsam birleştirme ilkesindeki özelliğinin için creationTimeayarladığınız değerlerle hizalandığından emin olunLookback.

Varsayılan olarak, geçerli ilke şeklindedir null. Bu, tüm verilerin sık erişimli olarak kabul edildiği anlamına gelir. null Tablo düzeyinde bir ilke, ilkenin veritabanından devralınacağı anlamına gelir. Tablo düzeyinde olmayannull bir ilke, veritabanı düzeyinde bir ilkeyi geçersiz kılar.

Sık erişimli önbelleğe sorguların kapsamını belirleme

Sorguları çalıştırırken kapsamı yalnızca sık erişimli önbellekteki sorgu verileriyle sınırlayabilirsiniz.

Not

Veri kapsamı yalnızca tablolar ve gerçekleştirilmiş görünümler gibi önbelleğe alma ilkelerini destekleyen varlıklar için geçerlidir. Dış tablolar ve satır deposundaki veriler gibi diğer varlıklar için yoksayılır.

Çeşitli sorgu olasılıkları vardır:

  • Sorguya adlı query_datascope bir istemci isteği özelliği ekleyin. Olası değerler: default, allve hotcache.
  • Sorgu metninde deyimini set kullanın: set query_datascope='...'. Olası değerler, istemci isteği özelliğiyle aynıdır.
  • datascope=... Sorgu gövdesinde tablo başvurusundan hemen sonra bir metin ekleyin. Olası değerler ve hotcachedeğerleridirall.

default değeri, sorgunun tüm verileri kapsaması gerektiğini belirleyen küme varsayılan ayarlarının kullanımını gösterir.

Farklı yöntemler arasında bir tutarsızlık varsa, istemci isteği özelliğinden önceliklidir set . Tablo başvurusu için bir değer belirtmek her ikisinde de önceliklidir.

Örneğin, aşağıdaki sorguda tüm tablo başvuruları, kapsamı tüm veriler olarak belirlenmiş ikinci "T" başvurusu dışında yalnızca sık erişimli önbellek verilerini kullanır:

set query_datascope="hotcache";
T | union U | join (T datascope=all | where Timestamp < ago(365d)) on X

Önbelleğe alma ilkesi ile bekletme ilkesi karşılaştırması

Önbelleğe alma ilkesi bekletme ilkesinden bağımsızdır:

  • Önbelleğe alma ilkesi, kaynakların önceliklerini belirlemeyi tanımlar. Önemli veriler için sorgular daha hızlıdır.
  • Bekletme ilkesi, tablodaki/veritabanındaki sorgulanabilir verilerin kapsamını tanımlar (özellikle). SoftDeletePeriod

Beklenen sorgu desenine göre maliyet ve performans arasında en uygun dengeyi elde etmek için bu ilkeyi yapılandırın.

Örnek:

  • SoftDeletePeriod = 56d
  • hot cache policy = 28d

Örnekte, son 28 günlük veriler küme SSD'sinde ve ek 28 günlük veriler Azure blob depolama alanında depolanacaktır. 56 günlük verilerin tamamı üzerinde sorgu çalıştırabilirsiniz.