AnalyticDB for MySQL lake cache özelliğini sunarak sık erişilen OSS dosyalarını yüksek performanslı NVMe SSD'lerde önbelleğe alır ve OSS veri okuma işlemlerini hızlandırır. Bu özellik, özellikle birden fazla analistin aynı veri kümesini sorguladığı gibi yüksek bant genişliği gerektiren ve tekrarlayan veri okumaları içeren senaryolar için idealdir. Bu konuda lake cache'in faydaları, kullanım alanları ve kullanımı açıklanmaktadır.
Ön koşullar
Bir AnalyticDB for MySQL Enterprise Edition, Basic Edition veya Data Lakehouse Edition kümeniz olmalıdır.
Genel bakış
Çalışma mantığı
Lake cache şu şekilde çalışır:
Lake cache istemcisi, OSS verilerine yönelik okuma isteklerini lake cache hızlandırıcısına iletir. İstemci daha sonra dosya meta verilerini istemek üzere bir lake cache master düğümüne bağlanır.
Lake cache master düğümü, dosya meta verilerini lake cache istemcisine döndürür.
-
Meta verilere dayanarak lake cache istemcisi, OSS verilerini almak için bir lake cache worker'a istek gönderir:
Hedef dosya lake cache worker'ın önbellek alanında bulunuyorsa dosya doğrudan istemciye döndürülür.
Hedef dosya önbellek alanında yoksa lake cache hızlandırıcısı dosyayı OSS üzerinden alır. Hızlandırıcı daha sonra dosyayı istemciye döndürür ve gelecekteki istekler için önbelleğe kaydeder.
Faydalar
-
Milisaniye düzeyinde gecikme süresi
Lake cache hızlandırıcısı, milisaniye düzeyinde okuma gecikme süresi sağlamak için NVMe SSD'leri kullanır.
-
Yüksek aktarım hızı
Hızlandırıcının bant genişliği, önbellek alanı boyutuyla doğrusal olarak ölçeklenir ve saniyede yüzlerce GB'a kadar anlık aktarım hızı sunar.
-
Yüksek aktarım hızı yoğunluğu
Hızlandırıcı, küçük veri kümeleri için yüksek aktarım hızı sağlar ve sıcak veriler için anlık okuma taleplerini karşılar.
-
Esnek ölçeklendirme
Kaynak israfını önlemek ve maliyetleri azaltmak amacıyla iş ihtiyaçlarınıza göre önbellek alanını manuel olarak artırabilir veya azaltabilirsiniz. Önbellek alanı 10 GB ile 200.000 GB arasında ölçeklendirilebilir.
-
Depolama ve işlemeyi ayırma
Hesaplama düğümlerindeki önbelleğin aksine lake cache hızlandırıcısı bağımsız bir bileşendir ve boyutu çevrimiçi olarak ayarlanabilir.
-
Veri tutarlılığı
OSS içindeki bir dosya güncellendiğinde lake cache hızlandırıcısı değişikliği otomatik olarak algılar ve yeni sürümü önbelleğe alır. Bu sayede hesaplama motoru her zaman en son verileri okur.
Performans ölçümleri ve önbellekten çıkarma ilkesi
|
|
|
|
|
Bant genişliği Örneğin, lake cache hızlandırıcısının 10 TB önbellek alanı varsa okuma bant genişliği (5 × 10) GB/s = 50 GB/s olur. |
|
|
Değer 10 GB ile 200.000 GB arasında olabilir. Lake cache hızlandırıcısı, yapılandırılan önbellek alanı boyutuna göre önbelleğe alınan veriler için aktarım hızı sağlar. Her terabayt (TB) önbellek alanı 5 GB/s bant genişliği sunar. Hızlandırıcı tarafından sağlanan aktarım hızı, standart OSSOSS ek olarak uygulanır ve bununla sınırlı değildir. Daha büyük bir kapasite talep etmek için bir destek kaydı açın. |
|
|
|
Performans
AnalyticDB for MySQL üzerinde TPC-H kıyaslaması temel alınarak lake cache'in etkinleştirilmesi ve OSS depolama alanına doğrudan erişim olmak üzere iki yöntem karşılaştırılmıştır. Bu testte lake cache özelliğinin etkinleştirilmesi veri erişim verimliliğini 2,7 kat artırmıştır. Ayrıntılı test sonuçları aşağıda verilmiştir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Faturalandırma
Lake cache alanı kullandıkça öde modeliyle faturalandırılır. Daha fazla bilgi için bkz. Enterprise Edition ve Basic Edition fiyatlandırması ve Data Lakehouse Edition fiyatlandırması.
Kullanım notları
-
Lake cache yalnızca aşağıdaki bölgelerde kullanılabilir: Çin (Hangzhou), Çin (Şanghay), Çin (Pekin), Çin (Zhangjiakou), Çin (Shenzhen), Singapur, ABD (Silikon Vadisi), ABD (Virginia) ve Endonezya (Cakarta).
ÖnemliLake cache özelliğini diğer bölgelerde kullanmak istiyorsanız bir destek kaydı açın.
Bir önbellek donanım arızası oluşursa performans düşebilir ancak veri sorguları kesinti veya hata olmadan çalışmaya devam eder. Önbelleğe alınan veriler OSS'ten yeniden yüklenir ve işlem tamamlandığında sorgu hızı geri kazanılır.
Yapılandırılan önbellek alanı dolduğunda hızlandırıcı, önbellekten çıkarma ilkesine dayanarak daha az sık erişilen dosyaların yerine daha sık erişilen dosyaları koyar. Dosyaların önbellekten çıkarılmasını önlemek için önbellek alanını artırın.
Lake cache'i etkinleştirin
AnalyticDB for MySQL konsoluna giriş yapın. Konsolun sol üst köşesinde bir bölge seçin. Sol gezinme bölmesinde Clusters seçeneğine tıklayın. Yönetmek istediğiniz kümeyi bulun ve küme kimliğine tıklayın.
Cluster Information sayfasına gidin. Configuration Information bölümünde Lake Cache yanındaki Configure seçeneğine tıklayın.
Lake Cache iletişim kutusunda Lake Cache anahtarını açın ve Disk Cache Settings parametrelerini yapılandırın.
OK seçeneğine tıklayın.
Lake Cache özelliğini etkinleştirdikten sonra yapılandırılan önbellek alanı boyutunu görüntülemek için aynı adımları izleyebilirsiniz.
Lake cache'i kullanın
Lake cache'i etkinleştirdikten sonra OSS verilerini okurken Spark iş yapılandırmanızda spark.adb.lakecache.enabled parametresini yapılandırarak OSS veri okuma işlemlerini hızlandırabilirsiniz. Aşağıda bir örnek verilmiştir:
Spark SQL
-- This is an example of using lake cache. Modify the code to run your Spark program.
SET spark.adb.lakecache.enabled=true;
-- Add your SQL statements here.
SHOW databases;
Spark JAR
{
"comments": [
"-- This is an example of using lake cache. Modify the code to run your Spark program."
],
"args": ["oss://testBucketName/data/readme.txt"],
"name": "spark-oss-test",
"file": "oss://testBucketName/data/example.py",
"conf": {
"spark.adb.lakecache.enabled": "true"
}
}
Lake cache hızlandırıcısını XIHE engine ile kullanmak istiyorsanız bir destek kaydı açın.
Lake cache'i izleyin
Lake cache'i etkinleştirdikten sonra CloudMonitor konsolunu kullanarak Spark uygulamalarınızın önbelleği kullandığını doğrulayabilir ve okunan veri miktarı gibi ölçümleri görüntüleyebilirsiniz. Bunun için aşağıdaki adımları uygulayın:
Cloud Monitor konsoluna giriş yapın.
Sol gezinme bölmesinde seçeneğini belirleyin.
AnalyticDB for MySQL kartının üzerine gelin ve AnalyticDB for MySQL 3.0 - Data Lakehouse Edition seçeneğine tıklayın.
Hedef kümeyi bulun ve Actions sütunundaki Monitoring Charts seçeneğine tıklayın.
-
Ayrıntıları görüntülemek için LakeCache Metrics sekmesine tıklayın.
Aşağıdaki tabloda izleme ölçümleri açıklanmaktadır.
Ölçüm
Açıklama
LakeCache Cache Hit Ratio (%)
Önbellek tarafından karşılanan okuma isteklerinin yüzdesi. Formül: (Önbellek İsabetleri / Toplam Okuma İstekleri) × %100.
LakeCache Cache Usage (B)
Kullanılan önbellek alanı miktarı (bayt cinsinden).
Total Data Read from LakeCache (B)
Önbellek alanından okunan toplam veri miktarı (bayt cinsinden).