AnalyticDB for MySQL menyediakan fitur lake cache yang menyimpan file yang sering diakses dari OSS pada SSD NVMe berkinerja tinggi untuk mempercepat pembacaan data OSS. Fitur ini ideal untuk skenario yang membutuhkan bandwidth tinggi dan melibatkan pembacaan data berulang, misalnya ketika beberapa analis perlu melakukan kueri terhadap set data yang sama. Topik ini menjelaskan manfaat, kasus penggunaan, dan cara menggunakan lake cache.
Prasyarat
Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Ikhtisar
Cara kerja
Lake cache bekerja sebagai berikut:
-
Klien lake cache meneruskan permintaan baca data OSS ke akselerator lake cache. Klien kemudian terhubung ke node master lake cache untuk meminta metadata file.
-
Node master lake cache mengembalikan metadata file tersebut ke klien lake cache.
-
Berdasarkan metadata tersebut, klien lake cache mengirim permintaan ke pekerja lake cache untuk mengambil data OSS:
-
Jika file target berada dalam ruang cache pekerja lake cache, file tersebut langsung dikembalikan ke klien.
-
Jika file target tidak berada dalam ruang cache, akselerator lake cache mengambil file tersebut dari OSS. Akselerator kemudian mengembalikan file tersebut ke klien dan menyimpannya dalam cache untuk permintaan selanjutnya.
-
Manfaat
-
Latensi tingkat milidetik
Akselerator lake cache menggunakan SSD NVMe untuk memberikan latensi baca tingkat milidetik.
-
Throughput tinggi
Bandwidth akselerator meningkat secara linear seiring ukuran ruang cache, menawarkan throughput burst hingga ratusan GB/s.
-
Kerapatan throughput tinggi
Akselerator memberikan throughput tinggi untuk dataset kecil, memenuhi kebutuhan baca burst untuk data hot.
-
Skalabilitas elastis
Anda dapat secara manual menambah atau mengurangi ruang cache sesuai kebutuhan bisnis untuk mencegah pemborosan resource dan mengurangi biaya. Ruang cache dapat diskalakan dari 10 GB hingga 200.000 GB.
-
Penyimpanan dan komputasi terpisah
Berbeda dengan cache pada node komputasi, akselerator lake cache merupakan komponen independen, dan ukurannya dapat disesuaikan secara online.
-
Konsistensi data
Ketika file di OSS diperbarui, akselerator lake cache secara otomatis mendeteksi perubahan tersebut dan menyimpan versi baru dalam cache, sehingga mesin komputasi selalu membaca data terbaru.
Metri performa dan kebijakan penggantian cache
|
Parameter |
Deskripsi |
|
Bandwidth akselerator |
Bandwidth dihitung dengan rumus: Sebagai contoh, jika akselerator lake cache memiliki ruang cache 10 TB, bandwidth baca adalah (5 × 10) GB/s = 50 GB/s. |
|
Ruang cache akselerator lake cache |
Nilai dapat berkisar dari 10 GB hingga 200.000 GB. Akselerator cache danau menyediakan throughput untuk data yang di-cache berdasarkan ukuran ruang cache yang dikonfigurasi. Setiap terabyte (TB) ruang cache menyediakan bandwidth 5 GB/s. Throughput yang disediakan oleh akselerator merupakan tambahan dan tidak dibatasi oleh standar OSSOSS. Untuk meminta kapasitas yang lebih besar, kirimkan tiket. |
|
Kebijakan penggantian cache |
Ketika cache penuh, sistem menggunakan kebijakan Least Recently Used (LRU) untuk mengganti data. Kebijakan ini menghapus data yang paling jarang diakses terlebih dahulu guna memaksimalkan efisiensi cache. |
Performa
AnalyticDB for MySQL diuji berdasarkan benchmark TPC-H untuk membandingkan dua metode: mengaktifkan lake cache dan mengakses langsung OSS storage space. Dalam pengujian ini, mengaktifkan fitur lake cache meningkatkan efisiensi akses data sebesar 2,7 kali lipat. Untuk hasil pengujian lengkap, lihat berikut ini:
|
Type |
Ruang cache |
Ukuran dataset |
Sumber daya Spark |
Durasi kueri |
|
lake cache diaktifkan |
12 TB |
Dataset TPC-H 10 TB |
Medium (2 core, 8 GB) |
7219 detik |
|
Akses langsung OSS |
N/A |
Dataset TPC-H 10 TB |
Medium (2 core, 8 GB) |
19.578 s |
Tagihan
Ruang lake cache ditagih berdasarkan skema pay-as-you-go. Untuk informasi selengkapnya, lihat Harga untuk Edisi Perusahaan dan Edisi Dasar dan Harga untuk Edisi Data Lakehouse.
Catatan penggunaan
-
Lake cache hanya tersedia di wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Shenzhen), Singapura, AS (Silicon Valley), AS (Virginia), dan Indonesia (Jakarta).
PentingJika Anda ingin menggunakan fitur lake cache di wilayah lain, kirimkan tiket.
-
Jika terjadi kegagalan perangkat keras cache, kueri data tetap berjalan tanpa gangguan atau error, meskipun performa mungkin menurun. Data yang dicache dimuat ulang dari OSS, dan kecepatan kueri pulih setelah proses selesai.
-
Ketika ruang cache yang dikonfigurasi penuh, akselerator mengganti file yang jarang diakses dengan file yang lebih sering diakses berdasarkan kebijakan penggantian cache. Untuk mencegah file diganti, perbesar ruang cache.
Aktifkan lake cache
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.
-
Buka halaman Cluster Information. Di bagian Configuration Information, klik Configure di samping Lake Cache.
-
Pada kotak dialog Lake Cache, aktifkan sakelar Lake Cache dan konfigurasikan Disk Cache Settings.
-
Klik OK.
Setelah Anda mengaktifkan Lake Cache, Anda dapat mengikuti langkah-langkah yang sama untuk melihat ukuran ruang cache yang telah dikonfigurasi.
Gunakan lake cache
Setelah Anda mengaktifkan lake cache, saat membaca data OSS, Anda dapat mempercepat pembacaan data OSS dengan mengonfigurasi parameter spark.adb.lakecache.enabled dalam konfigurasi job Spark Anda. Berikut ini contohnya:
Spark SQL
-- Ini adalah contoh penggunaan lake cache. Modifikasi kode ini untuk menjalankan program Spark Anda.
SET spark.adb.lakecache.enabled=true;
-- Tambahkan pernyataan SQL Anda di sini.
SHOW databases;
Spark JAR
{
"comments": [
"-- Ini adalah contoh penggunaan lake cache. Modifikasi kode ini untuk menjalankan 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 akselerator lake cache dengan mesin XIHE, kirimkan tiket.
Pantau lake cache
Setelah Anda mengaktifkan lake cache, Anda dapat menggunakan konsol CloudMonitor untuk memverifikasi bahwa aplikasi Spark Anda menggunakan cache dan melihat metrik seperti volume data yang dibaca. Untuk melakukannya, ikuti langkah-langkah berikut:
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi sebelah kiri, pilih .
-
Arahkan kursor ke kartu AnalyticDB for MySQL dan klik AnalyticDB for MySQL 3.0 - Data Lakehouse Edition.
-
Temukan kluster target dan klik Monitoring Charts di kolom Actions.
-
Klik tab LakeCache Metrics untuk melihat detailnya.
Tabel berikut menjelaskan metrik pemantauan tersebut.
Metrik
Deskripsi
LakeCache Cache Hit Ratio (%)
Persentase permintaan baca yang dipenuhi oleh cache. Rumus: (Cache Hits / Total Read Requests) × 100%.
LakeCache Cache Usage (B)
Jumlah ruang cache yang digunakan, dalam byte.
Total Data Read from LakeCache (B)
Total jumlah data yang dibaca dari ruang cache, dalam byte.