Aracılığıyla paylaş


Ö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 verilerin bazı bölümleri işleme düğümlerinde, SSD'de ve hatta RAM'de önbelleğe alınır.

Gerçek Zamanlı Zeka, 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 verilerin bazı bölümleri 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 erişim hızı daha yavaştır.

Ö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 kabul edilebilir. Bu gibi durumlarda ekipler genellikle verileri sıcak tutmak için ödeme yerine daha düşük sorgu performansını tercih eder.

Önbelleğe alma ilkesini veritabanı, tablo veya gerçekleştirilmiş görünüm düzeyinde 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 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 ne ölçüde oluşturulduğunu 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 en yüksek değer) kullanılır.

Not

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

Varsayılan olarak, etkin ilke şeklindedirnull. 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 bir set deyim 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 metin ekleyin. Olası değerler ve hotcacheşeklindedirall.

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, set istemci isteği özelliğinden önceliklidir. 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, tablo/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 depolamada depolanacaktır. 56 günlük verilerin tamamı üzerinde sorgu çalıştırabilirsiniz.