All Products
Search
Document Center

AnalyticDB:Penyimpanan bertingkat data hot dan cold

Last Updated:May 14, 2026

AnalyticDB for MySQL memungkinkan Anda menyimpan partisi hot dan cold pada media penyimpanan terpisah—SSD untuk data hot dan Object Storage Service (OSS) untuk data cold—sehingga Anda memperoleh kinerja kueri cepat di tempat yang penting sekaligus menjaga biaya penyimpanan tetap rendah.

Penting

Penyimpanan bertingkat hanya berlaku untuk tabel yang dipartisi berdasarkan tanggal atau waktu. Kluster harus menjalankan versi minor 3.1.3.3 atau lebih baru dan termasuk dalam salah satu edisi berikut: Enterprise Edition, Basic Edition, Data Lakehouse Edition, atau Data Warehouse Edition mode Elastic. Untuk memeriksa atau memperbarui versi minor, masuk ke AnalyticDB for MySQL console dan buka bagian Configuration Information pada halaman Cluster Information.

Pilih kebijakan penyimpanan

AnalyticDB for MySQL menyediakan tiga kebijakan penyimpanan. Gunakan tabel berikut untuk memilih kebijakan yang tepat sesuai workload Anda:

Storage policy Where data is stored Best for Cost
Hot storage Semua data di SSD Tabel yang sering dikueri dengan persyaratan latensi ketat Tertinggi
Cold storage Semua data di OSS (zone-redundant storage, ZRS) Data arsip yang jarang atau tidak pernah diakses Terendah
Mixed storage Partisi hot di SSD, partisi cold di OSS Tabel besar yang dipartisi berdasarkan waktu, di mana data terbaru aktif dan data lama jarang dikueri Sedang

Memilih antar kebijakan:

  • Gunakan hot storage ketika latensi kueri sangat kritis dan Anda mengakses sebagian besar data secara rutin.

  • Gunakan cold storage untuk data yang diarsipkan dan hampir tidak pernah dikueri.

  • Gunakan mixed storage untuk workload time-series seperti tabel log, riwayat pesanan, dan data pemantauan—pilihan paling umum untuk tabel partisi besar.

Cara kerja mixed storage

Saat Anda memilih mixed storage, Anda menentukan jumlah partisi hot (N). AnalyticDB for MySQL mengurutkan semua partisi berdasarkan nilai kunci partisi secara descending: N partisi teratas adalah partisi hot yang disimpan di SSD, sedangkan sisanya adalah partisi cold yang disimpan di OSS.

Ketika partisi ditambahkan atau jumlah partisi hot diubah, sistem secara otomatis mengurutkan ulang dan melakukan migrasi data untuk mempertahankan distribusi yang benar. Untuk detailnya, lihat Dampak perubahan jumlah partisi.

Tetapkan kebijakan penyimpanan

Saat pembuatan tabel

Tentukan kebijakan menggunakan parameter storage_policy dalam pernyataan CREATE TABLE Anda:

CREATE TABLE your_table (
    ...
)
PARTITION BY ...
PROPERTIES (
    "storage_policy" = "MIXED",   -- HOT, COLD, atau MIXED
    "hot_partition_count" = "5"   -- Diperlukan saat storage_policy = MIXED
);

Untuk tabel yang sudah ada

Gunakan ALTER TABLE untuk mengubah kebijakan penyimpanan. Setelah menjalankan pernyataan ini, Anda dapat melacak progres migrasi—lihat Kueri progres perubahan kebijakan penyimpanan.

-- Beralih ke mixed storage dengan 5 partisi hot
ALTER TABLE your_table
SET PROPERTIES (
    "storage_policy" = "MIXED",
    "hot_partition_count" = "5"
);

Untuk referensi sintaks lengkap, lihat CREATE TABLE dan ALTER TABLE.

Penting

Setelah Anda menetapkan atau mengubah kebijakan penyimpanan, migrasi data antara penyimpanan hot dan cold memerlukan pekerjaan BUILD agar selesai. Anda dapat melihat ukuran data cold dan hot yang diperbarui setelah pekerjaan BUILD selesai. Jika tidak terjadi perubahan data setelah Anda menetapkan kebijakan, sistem tidak akan secara otomatis memicu BUILD. Dalam kasus ini, Anda harus menjalankan BUILD TABLE secara manual untuk memicu migrasi data.

Tagihan

Setelah Anda mengaktifkan penyimpanan bertingkat data hot dan cold, penyimpanan data cold dikenai biaya pay-as-you-go terpisah, yang ditagih secara independen dari penyimpanan data hot. Untuk detail harga, lihat Pricing.

Gunakan storage plans untuk mengimbangi biaya penyimpanan.

Dampak perubahan jumlah partisi

Saat partisi baru dimasukkan

Semua partisi diurutkan ulang untuk mempertahankan tepat N partisi hot. Partisi dengan nilai kunci terkecil diturunkan statusnya dari hot menjadi cold.

Contoh: hot_partition_count bernilai 5. Partisi baru 20241226 (nilai kunci terbesar) dimasukkan. Setelah pekerjaan BUILD, sistem mempromosikan 20241226 menjadi hot dan memindahkan 20241221 (partisi hot terkecil sebelumnya) ke cold.

image

Saat Anda mengubah jumlah partisi hot

  • Meningkat dari N ke M (M > N): M - N partisi cold (dengan nilai kunci terbesar) dipromosikan menjadi hot.

  • Menurun dari N ke M (M < N): N - M partisi hot (dengan nilai kunci terkecil) diturunkan menjadi cold.

Contoh — meningkat dari 5 ke 6: Partisi 20241220 (kunci partisi cold terbesar) dipindahkan dari cold ke hot.

image

Contoh — menurun dari 5 ke 4: Partisi 20241221 (kunci partisi hot terkecil) dipindahkan dari hot ke cold.

image

Kueri kebijakan penyimpanan

Kueri untuk semua tabel

SELECT * FROM information_schema.table_usage;

Kueri untuk tabel tertentu

SELECT * FROM information_schema.table_usage
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parameter respons

Parameter Description
table_schema Nama database
table_name Nama tabel
storage_policy Kebijakan penyimpanan: HOT, COLD, atau MIXED
hot_partition_count Jumlah partisi hot (setelah shard di-union; mungkin melebihi nilai yang dikonfigurasi—lihat catatan di bawah)
cold_partition_count Jumlah partisi cold
rt_total_size Ukuran total data real-time (rt_data_size + rt_index_size). Satuan: byte
rt_data_size Ukuran data real-time. Satuan: byte
rt_index_size Ukuran data primary key dan indeks dalam data real-time. Satuan: byte
hot_total_size Ukuran total data dalam partisi hot (hot_data_size + hot_index_size). Satuan: byte
hot_data_size Ukuran data dalam partisi hot. Satuan: byte
hot_index_size Ukuran data primary key dan indeks dalam partisi hot. Satuan: byte
cold_total_size Ukuran total data dalam partisi cold (cold_data_size + cold_index_size). Satuan: byte
cold_data_size Ukuran data dalam partisi cold. Satuan: byte
cold_index_size Ukuran data primary key dan indeks dalam partisi cold. Satuan: byte

Catatan penggunaan:

  • Semua nilai ukuran (rt_*, hot_*, cold_*) berubah seiring operasi INSERT, UPDATE, DELETE, dan BUILD dijalankan.

  • Jika hot_total_size dan cold_total_size keduanya bernilai 0 setelah penulisan data, data tersebut disinkronkan secara real time. rt_total_size mencerminkan ukuran saat ini. Jalankan pernyataan BUILD untuk mengonversi data real-time menjadi data historis, setelah itu hot_total_size dan cold_total_size akan terisi.

  • hot_partition_count yang dikonfigurasi menentukan jumlah partisi hot per shard. hot_partition_count yang dikueri merupakan hasil union seluruh shard dan mungkin lebih besar jika distribusi partisi berbeda antar shard.

Contoh — nilai hot_partition_count yang dikueri vs. nilai yang dikonfigurasi:

Tabel A memiliki dua shard dan hot_partition_count dikonfigurasi sebagai 2.

  • Shard 1: P4, P5 adalah hot; P1, P2, P3 adalah cold.

  • Shard 2: P3, P4 adalah hot; P1, P2 adalah cold.

Nilai yang dikueri adalah hasil union: {P4, P5} ∪ {P3, P4} = {P3, P4, P5}, sehingga hot_partition_count mengembalikan nilai 3.

image

Kueri progres perubahan kebijakan penyimpanan

Setelah menjalankan ALTER TABLE untuk mengubah kebijakan penyimpanan, lacak progres migrasi dari information_schema.storage_policy_modify_progress.

Kueri untuk semua tabel

SELECT * FROM information_schema.storage_policy_modify_progress;

Kueri untuk tabel tertentu

SELECT * FROM information_schema.storage_policy_modify_progress
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parameter respons

Parameter Description
table_schema Nama database
table_name Nama tabel
task_id ID pekerjaan perubahan kebijakan penyimpanan
source_storage_policy Kebijakan penyimpanan awal: HOT, COLD, atau MIXED
source_hot_partition_count Jumlah partisi hot sebelum perubahan
dest_storage_policy Kebijakan penyimpanan baru: HOT, COLD, atau MIXED
dest_hot_partition_count Jumlah partisi hot setelah perubahan
hot_to_cold_partition_count Jumlah partisi yang dipindahkan dari hot ke cold
cold_to_hot_partition_count Jumlah partisi yang dipindahkan dari cold ke hot
hot_to_cold_data_size Ukuran data yang dipindahkan dari hot ke cold. Satuan: byte
cold_to_hot_data_size Ukuran data yang dipindahkan dari cold ke hot. Satuan: byte
hot_data_size_before_change Ukuran data hot sebelum perubahan. Satuan: byte
cold_data_size_before_change Ukuran data cold sebelum perubahan. Satuan: byte
hot_data_size_after_change Ukuran data hot setelah perubahan. Satuan: byte
cold_data_size_after_change Ukuran data cold setelah perubahan. Satuan: byte
start_time Awal rentang waktu perubahan kebijakan penyimpanan
update_time Akhir rentang waktu perubahan kebijakan penyimpanan
progress Progres perubahan. Satuan: %
status Status perubahan: INIT (belum dimulai), RUNNING (sedang berjalan), atau FINISH (selesai)