AnalyticDB for MySQL menyediakan fitur lake cache untuk menyimpan objek Object Storage Service (OSS) yang sering diakses pada NVMe SSD berperforma tinggi. Fitur ini meningkatkan efisiensi pembacaan data OSS, terutama dalam skenario dengan kebutuhan bandwidth besar untuk pembacaan data berulang. Sebagai contoh, pengguna dapat memerlukan analisis data dari salinan data yang sama. Topik ini menjelaskan manfaat, skenario, dan cara menggunakan fitur lake cache.
Prasyarat
Sebuah kluster Enterprise Edition, Basic Edition, atau Data Lakehouse Edition AnalyticDB for MySQL telah dibuat.
Ikhtisar
Cara kerjanya
Berikut adalah penjelasan tentang cara kerja fitur lake cache:
Ketika klien lake cache mengirimkan permintaan baca ke OSS, permintaan tersebut diteruskan ke node master lake cache untuk mendapatkan metadata objek.
Node master lake cache mengembalikan metadata objek ke klien lake cache.
Klien lake cache menggunakan metadata objek untuk mengirimkan permintaan ke node pekerja lake cache untuk objek OSS.
Jika objek yang diminta tersedia di node pekerja lake cache, node pekerja mengembalikan objek tersebut ke klien lake cache.
Jika objek yang diminta tidak tersedia di node pekerja lake cache, fitur lake cache mengambil objek dari OSS. Kemudian, fitur lake cache mengembalikan objek tersebut ke klien lake cache dan menyimpannya di ruang cache.
Manfaat
Latensi milidetik
NVMe SSD yang digunakan oleh fitur lake cache memberikan latensi baca dalam milidetik.
Throughput meningkat
Bandwidth yang disediakan oleh fitur lake cache meningkat secara linier dengan ukuran cache. Throughput maksimum burst bisa mencapai ratusan Gbit/s.
Densitas throughput tinggi
Fitur lake cache memberikan throughput tinggi untuk sejumlah kecil data untuk memenuhi kebutuhan baca burst untuk data panas.
Skalabilitas elastis
Fitur lake cache memungkinkan Anda menambah atau mengurangi ruang cache sesuai kebutuhan bisnis untuk mencegah pemborosan sumber daya dan mengurangi biaya. Ukuran cache berkisar antara 10 GB hingga 200.000 GB.
Penyimpanan dan komputasi terpisah
Dibandingkan dengan ruang cache pada node komputasi, fitur lake cache memisahkan sumber daya penyimpanan dan komputasi serta memungkinkan Anda memodifikasi ukuran cache di konsol AnalyticDB for MySQL.
Konsistensi data
Fitur lake cache secara otomatis mengidentifikasi dan menyimpan objek OSS yang diperbarui untuk memastikan mesin komputasi membaca data terbaru.
Metrik kinerja dan kebijakan cache
Parameter | Deskripsi |
Bandwidth cache | Bandwidth cache dihitung dengan menggunakan rumus berikut: Sebagai contoh, jika Anda menetapkan ukuran cache menjadi 10 TB untuk fitur lake cache, bandwidth baca dihitung dengan menggunakan rumus berikut: (5 × 10) Gbit/s = 50 Gbit/s. |
Ukuran cache | Ukuran cache dapat berkisar antara 10 GB hingga 200000 GB. Fitur lake cache menyediakan bandwidth untuk data yang di-cache berdasarkan ukuran cache yang Anda tentukan. Hingga 5 Gbit/s bandwidth tersedia untuk setiap 1 TB ukuran cache. Bandwidth yang disediakan oleh fitur lake cache tidak dibatasi oleh bandwidth standar yang disediakan oleh OSS.OSS Jika bisnis Anda memerlukan ukuran cache yang lebih besar, ajukan tiket. |
Kebijakan penghapusan cache | Jika ruang cache yang digunakan melebihi ukuran cache yang Anda tentukan, sistem menggunakan kebijakan penghapusan Least Recently Used (LRU) untuk menghilangkan data yang di-cache. Kebijakan penghapusan LRU memastikan bahwa data yang sering diakses dipertahankan dan data yang jarang diakses dihapus terlebih dahulu. Ini secara signifikan meningkatkan pemanfaatan cache. |
Pengujian kinerja
Dalam pengujian ini, query TPC-H dieksekusi untuk memeriksa apakah fitur lake cache dari AnalyticDB for MySQL dapat meningkatkan efisiensi akses data OSS. Dibandingkan dengan akses langsung ke data OSS, fitur lake cache meningkatkan efisiensi akses data sebesar 2,7 kali. Tabel berikut menunjukkan hasil pengujian.
Tipe | Ukuran cache | Ukuran dataset | Spesifikasi sumber daya Spark | Durasi eksekusi |
Fitur lake cache diaktifkan | 12 TB | 10 TB | 2 core, 8 GB (medium) | 7.219 detik |
Akses langsung ke data OSS | Tidak ada | 10 TB | 2 core, 8 GB (medium) | 19.578 detik |
Aturan penagihan
Setelah mengaktifkan fitur lake cache, Anda akan dikenakan biaya untuk ruang cache yang digunakan berdasarkan metode penagihan bayar sesuai pemakaian. Untuk informasi lebih lanjut, lihat Harga untuk Enterprise Edition dan Basic Edition dan Harga untuk Data Lakehouse Edition.
Catatan penggunaan
Fitur lake cache hanya didukung di wilayah berikut: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Shenzhen), Singapura, AS (Virginia), dan Indonesia (Jakarta).
PentingJika Anda ingin menggunakan fitur lake cache di wilayah lain, ajukan tiket.
Jika terjadi gangguan pada perangkat keras cache, kueri data tidak terganggu tetapi melambat. Setelah data yang di-cache diprefetch dari OSS, kecepatan kueri dipulihkan.
Ketika ruang cache yang digunakan oleh fitur lake cache mencapai batas atas, fitur lake cache mengganti objek yang jarang diakses di ruang cache dengan objek yang sering diakses. Jika Anda tidak ingin mengganti objek yang disimpan di ruang cache, Anda dapat meningkatkan ukuran cache untuk fitur lake cache.
Mengaktifkan fitur lake cache
Masuk ke konsol AnalyticDB for MySQL. Di sudut kiri atas konsol, pilih wilayah. Di panel navigasi di sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster.
Di bagian Configuration Information halaman Cluster Information, klik Configure di sebelah Lake Cache.
Di kotak dialog Lake Cache, aktifkan Lake Cache dan tentukan ukuran cache.
Jika terjadi kesalahan saat menentukan ukuran cache, ajukan tiket.
Klik OK.
CatatanSetelah mengaktifkan Lake Cache, Anda dapat melihat ukuran cache yang ditentukan dengan mengikuti langkah-langkah sebelumnya.
Menggunakan fitur lake cache
Setelah Anda mengaktifkan fitur lake cache, Anda dapat menentukan parameter spark.adb.lakecache.enabled untuk pekerjaan Spark untuk mempercepat pembacaan data OSS.OSS Contoh kode:
Pengembangan Spark SQL
-- Berikut ini hanya contoh penggunaan LakeCache. Modifikasi konten dan jalankan program spark Anda.
SET spark.adb.lakecache.enabled=true;
-- Berikut ini adalah pernyataan sql Anda
SHOW databases;Pengembangan Spark JAR
{
"comments": [
"-- Berikut ini hanya contoh penggunaan LakeCache. Modifikasi konten dan jalankan program spark Anda."
],
"args": ["oss://testBucketName/data/readme.txt"],
"name": "spark-oss-test",
"file": "oss://testBucketName/data/example.py",
"conf": {
"spark.adb.lakecache.enabled": "true"
}
}Jika Anda ingin menggunakan fitur lake cache bersama dengan mesin XIHE, ajukan tiket.
Lihat informasi pemantauan tentang fitur lake cache
Setelah mengaktifkan fitur lake cache, Anda dapat memeriksa apakah aplikasi Spark yang dikirimkan menggunakan fitur lake cache di konsol CloudMonitor. Anda juga dapat melihat informasi pemantauan tentang fitur lake cache, seperti jumlah data yang dibaca dari ruang cache. Ikuti langkah-langkah berikut:
Masuk ke konsol Cloud Monitor.
Di panel navigasi di sebelah kiri, pilih .
Geser pointer ke kartu AnalyticDB for MySQL dan klik AnalyticDB for mysql 3.0 - Data Lakehouse Edition.
Temukan kluster AnalyticDB for MySQL yang ingin Anda pantau dan klik Monitoring Charts di kolom Actions.
Klik tab LakeCache Metrics untuk melihat detail tentang metrik lake cache.
Tabel berikut menggambarkan metrik lake cache.
Metrik
Deskripsi
LakeCache Cache Hit Ratio(%)
Rasio hit cache. Rumus: Jumlah permintaan baca yang mengenai cache / Total jumlah permintaan baca.
LakeCache Cache Usage(B)
Ruang cache yang digunakan. Satuan: byte.
Total Amount of Historical Cumulative Read Data of LakeCache(B)
Jumlah total data yang dibaca dari ruang cache. Satuan: byte.