All Products
Search
Document Center

PolarDB:Menggunakan pengarsipan data dingin

Last Updated:Aug 01, 2026

Sebelum mengarsipkan data dingin, konfirmasikan format arsip yang diinginkan dan pastikan kluster Anda memenuhi persyaratan. Untuk informasi selengkapnya, lihat Perbandingan format arsip dan Prasyarat.

Cakupan penerapan

  • Mengarsipkan ke format CSV

    • Edisi kluster adalah Edisi Kluster:

      • Arsipkan tabel standar:

        • MySQL 8.0.1 dengan revisi 8.0.1.1.47 atau lebih baru.

        • MySQL 8.0.2 dengan revisi 8.0.2.2.10 atau lebih baru.

      • Arsipkan tabel partisi:

        • MySQL 8.0.2 dengan revisi 8.0.2.2.34.1 atau lebih baru.

    • Edisi kluster adalah Kluster Multi-master (Limitless) Edition:

      • MySQL 8.0.1 dengan revisi 8.0.1.0.13 atau lebih baru.

  • Mengarsipkan ke format ORC

    • Edisi kluster adalah Edisi Kluster:

      • Arsipkan tabel standar: MySQL 8.0.2 dengan revisi 8.0.2.2.30 atau lebih baru.

      • Arsipkan tabel partisi: MySQL 8.0.2 dengan revisi 8.0.2.2.34.1 atau lebih baru.

    • Edisi kluster adalah Kluster Multi-master (Limitless) Edition: MySQL 8.0.2 dengan revisi 8.0.2.2.30 atau lebih baru.

  • Mengarsipkan ke format X-Engine

    • Arsipkan tabel standar:

      • MySQL 8.0.1 dengan revisi 8.0.1.1.31 atau lebih baru.

      • MySQL 8.0.2 dengan revisi 8.0.2.2.12 atau lebih baru.

    • Arsipkan tabel partisi: MySQL 8.0.2 dengan revisi 8.0.2.2.12 atau lebih baru.

    • Arsipkan ke tabel column-store X-Engine: MySQL 8.0.2 dengan revisi 8.0.2.2.34.1 atau lebih baru.

Parameter

Saat menggunakan fitur pengarsipan data dingin, Anda dapat mengonfigurasi parameter berikut pada halaman Parameters kluster Anda sesuai kebutuhan bisnis.

Parameter

Level

Deskripsi

loose_polar_dlm_storage_mode

Global

Sakelar untuk fitur pengarsipan data dingin otomatis (DLM). Nilai yang valid:

  • OFF (default): Penyimpanan DLM dinonaktifkan. Penjadwal tidak dijalankan dan tidak ada operasi pengarsipan yang dilakukan.

  • RO (tidak direkomendasikan): Penyimpanan DLM hanya-baca (read-only). Partisi data dingin yang diarsipkan dapat dikueri, tetapi tidak ada operasi penulisan pengarsipan baru yang dilakukan. Nilai ini jarang digunakan di lingkungan produksi.

  • RW (direkomendasikan): Penyimpanan DLM baca-tulis (read-write). Penjadwal dijalankan dan mendukung pengarsipan otomatis berdasarkan kebijakan DLM, serta data yang diarsipkan juga dapat dikueri.

Catatan
  • Parameter ini hanya berlaku untuk kluster MySQL 8.0.2 dengan versi revisi 8.0.2.2.34.1 atau lebih baru.

  • Setelah Anda mengaktifkan pengarsipan data dingin, sistem secara otomatis mengatur parameter ini menjadi RW. Tidak diperlukan modifikasi manual.

  • Jika Anda hanya menggunakan engine kompresi tinggi X-Engine untuk mengarsipkan tabel partisi (tanpa pengarsipan data dingin OSS), Anda harus mengatur parameter ini secara manual menjadi RW untuk mengaktifkan penjadwalan DLM.

loose_allow_create_hybrid_partition

Global

Mengontrol apakah pembuatan atau pengarsipan tabel partisi yang berisi partisi dengan engine non-InnoDB diperbolehkan. Nilai yang valid:

  • OFF (default): Pembuatan tabel partisi yang berisi partisi dengan engine non-InnoDB dilarang. Semua partisi harus menggunakan engine InnoDB.

  • ON (direkomendasikan): Pembuatan tabel partisi yang berisi partisi dengan engine non-InnoDB diperbolehkan. Anda dapat menentukan OSS (CSV/ORC) atau engine X-Engine pada level partisi.

Catatan
  • Parameter ini hanya berlaku untuk kluster MySQL 8.0.2 dengan versi revisi 8.0.2.2.34.1 atau lebih baru.

  • Setelah Anda mengaktifkan pengarsipan data dingin, sistem mungkin secara otomatis mengatur parameter ini menjadi ON tergantung pada versinya.

loose_use_oss_meta

Global / Session

Mengontrol apakah manajemen metadata (meta) OSS diaktifkan untuk tabel OSS. Parameter loose_csv_oss_file_filter bergantung pada parameter ini. Nilai yang valid:

  • ON: Manajemen metadata OSS diaktifkan. Informasi meta ditulis saat tabel OSS dibuat atau diarsipkan. Daftar file kemudian diambil dengan membaca metadata, yang mendukung fitur penyaringan loose_csv_oss_file_filter.

  • OFF: Manajemen metadata OSS dinonaktifkan. Tidak ada informasi meta yang ditulis. Metadata diperoleh dengan langsung mencantumkan file OSS, dan loose_csv_oss_file_filter tidak didukung.

loose_csv_oss_file_filter

Global / Session

Mengontrol apakah penyaringan tingkat file (File Filter) diaktifkan saat mengkueri tabel OSS. Fitur ini menggunakan statistik min/max dan filter Bloom untuk melewatkan file data yang tidak relevan dan mengurangi jumlah data OSS yang dipindai. Fitur ini memerlukan parameter loose_use_oss_meta diaktifkan. Nilai yang valid:

  • OFF: Penyaringan file dinonaktifkan. Semua file data dalam tabel OSS dipindai selama kueri.

  • ON (direkomendasikan): Penyaringan file diaktifkan. Selama kueri, loose_csv_oss_file_filter digunakan bersama kondisi WHERE untuk meningkatkan performa kueri.

dlm_prune_archiving_oss_partitions

Global / Session

Sakelar untuk pemangkasan otomatis partisi OSS yang diarsipkan oleh fitur Manajemen Siklus Hidup Data (DLM). Saat operasi DML (UPDATE/DELETE) dieksekusi, sistem secara otomatis memangkas partisi yang sedang diarsipkan ke OSS (ORC/CSV) dan partisi yang telah diarsipkan ke OSS. Hal ini mencegah operasi DML diblokir oleh proses pengarsipan dan menyelesaikan konflik antara DML dan DDL. Nilai yang valid:

  • ON (default, direkomendasikan): Operasi DML (UPDATE/DELETE) secara otomatis memangkas partisi yang sedang diarsipkan ke OSS.

  • OFF: Operasi DML tidak secara otomatis memangkas partisi yang sedang diarsipkan ke OSS.

hybrid_partition_query_mix_engine_enabled

Global / Session

Sakelar untuk pemangkasan kueri otomatis. Saat kueri SELECT dieksekusi, sistem secara otomatis memangkas partisi OSS (ORC/CSV) untuk mencegah kueri lambat akibat akses ke data dingin. Nilai yang valid:

  • OFF (default, direkomendasikan): Kueri secara otomatis memangkas partisi OSS.

  • ON (tidak direkomendasikan): Kueri tidak secara otomatis memangkas partisi OSS.

Mengarsipkan data dingin

Kueri data dingin

  • Tabel umum

    Terlepas dari format arsip yang Anda pilih, Anda dapat mengkueri data yang diarsipkan tanpa mengubah cara akses tabel.

  • Tabel partisi

    • Arsipkan ke tabel eksternal OSS: Mengkueri data ini memerlukan metode akses yang berbeda: Anda harus mengkueri tabel arsip tertentu. Untuk informasi selengkapnya, lihat Arsipkan partisi ke tabel eksternal OSS.

    • Arsipkan partisi secara in-place: Tabel menjadi tabel partisi hibrida setelah pengarsipan. Untuk informasi selengkapnya, lihat Kueri partisi hibrida.

      Anda dapat mengkueri partisi pada engine penyimpanan yang berbeda dengan tiga cara:

      • Atur parameter hybrid_partition_query_mix_engine_enabled menjadi ON. Kueri kemudian mengembalikan data dari partisi InnoDB, X-Engine, dan OSS. Contoh:

        -- t1 adalah tabel partisi hibrida.
        SELECT * FROM t1;
      • Atur parameter hybrid_partition_query_mix_engine_enabled menjadi OFF. Kueri kemudian hanya mengembalikan data dari partisi InnoDB dan X-Engine. Contoh:

        -- t1 adalah tabel partisi hibrida.
        SELECT * FROM t1;
      • Kueri partisi tertentu berdasarkan nama. Ini mengambil data dari partisi yang ditentukan, terlepas dari engine penyimpanannya. Contoh:

        -- t1 adalah tabel partisi hibrida, dan p1 adalah nama partisi yang akan dikueri.
        SELECT * FROM t1 partition (p1);
Catatan

Sistem menyimpan data dingin yang diarsipkan dalam format multi-file untuk setiap tabel. Untuk mengoptimalkan performa kueri, gunakan kueri paralel. Untuk informasi selengkapnya, lihat Kueri paralel pada data dingin.

Memodifikasi data dingin

Untuk memodifikasi data dingin yang disimpan di Object Storage Service (OSS) secara jarang, gunakan pernyataan ALTER untuk memindahkannya kembali ke storage space PolarDB untuk dimodifikasi. Sistem kemudian secara otomatis menghapus data tersebut dari OSS. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali data tabel ke OSS.

Tabel umum

Sintaksis

ALTER TABLE table_name ENGINE[=]engine_name;

Parameter

Parameter

Deskripsi

table_name

Nama tabel OSS yang akan dipindahkan kembali ke storage space PolarDB.

engine_name

Engine penyimpanan yang akan digunakan setelah tabel dipindahkan kembali.

Catatan penggunaan

Tabel OSS bersifat read-only. Anda tidak dapat memodifikasinya menggunakan pernyataanINSERT,UPDATE, atauDELETE. Untuk memodifikasi data dingin yang diarsipkan, Anda harus mengonversi tabel OSS menjadi tabel read-write, seperti tabel InnoDB. Upaya memodifikasi tabel OSS read-only akan menghasilkan error berikut:

1036 - Table 't' is read only

Contoh

Pindahkan tabel OSS t dari database oss_test kembali ke storage space PolarDB.

ALTER TABLE `oss_test`.`t` ENGINE = InnoDB;

Modifikasi data dalam tabel InnoDBt. Setelah modifikasi selesai, arsipkan kembali tabelt dari engine InnoDB ke OSS. Contoh:

ALTER TABLE t ENGINE = CSV CONNECTION = 'default_oss_server';

atau

ALTER TABLE t ENGINE = CSV STORAGE OSS;

Tabel partisi

Catatan

Untuk memodifikasi data dingin dalam tabel partisi, kluster PolarDB for MySQL Anda harus berada pada versi 8.0.2 dengan versi revisi 8.0.2.2.34 atau lebih baru.

Sintaksis

ALTER TABLE table_name REORGANIZE PARTITION part_name INTO (partition_definition);

Parameter

Parameter

Deskripsi

table_name

Nama tabel OSS yang akan dipindahkan kembali.

part_name

Nama partisi yang akan dipindahkan kembali.

partition_definition

Harus konsisten dengan partition_definition dari partisi yang ingin Anda pindahkan kembali.

Contoh

Pindahkan data dalam partisi p1 dari tabel partisi t, yang diarsipkan di OSS, kembali ke storage space PolarDB.

ALTER TABLE t REORGANIZE PARTITION p1 INTO(PARTITION p1 values less than(100));

Hapus data dingin

Catatan
  • Fitur ini hanya didukung pada kluster PolarDB for MySQL yang menjalankan versi berikut:

    • Versi 8.0.1, dan versi minor harus 8.0.1.1.42 atau lebih baru.

    • Versi 8.0.2, dan versi minor harus 8.0.2.2.23 atau lebih baru.

  • Jika versi minor kluster Anda tidak memenuhi persyaratan di atas, Anda tidak dapat menghapus file yang sesuai di OSS. Tingkatkan versi minor kluster Anda. Untuk informasi selengkapnya, lihat manajemen versi minor.

Setelah Anda menghapus tabel di OSS atau mengimpornya kembali ke storage space PolarDB, file di OSS tidak dihapus secara otomatis. Setelah Anda memastikan bahwa data tersebut tidak lagi diperlukan, hapus file yang sesuai di OSS sebagai berikut. Untuk informasi selengkapnya, lihat Hapus file yang sesuai di OSS.

  • Tabel umum dan tabel eksternal OSS

    Gunakan DROP TABLE untuk menghapus tabel yang diarsipkan. Kemudian, jalankan perintah CALL dbms_oss.delete_table_file('database_name', 'table_name'); untuk menghapus file yang sesuai di OSS.

  • Tabel partisi

    Jalankan perintah CALL dbms_oss.delete_table_file('database_name', 'table_name'); untuk menghapus file yang sesuai di OSS.

Operasi penghapusan file yang sesuai di OSS dilakukan secara asinkron. File tersebut benar-benar dihapus hanya setelah semua node dalam kluster tidak lagi bergantung padanya. Proses ini mungkin tertunda saat traffic tinggi.

Opsi FORCE STORAGE OSS

Catatan

Opsi FORCE STORAGE OSS untuk menghapus paksa file OSS hanya didukung pada kluster PolarDB for MySQL 8.0.2 dengan versi minor 8.0.2.2.29 atau lebih baru.

  • Tabel umum dan tabel eksternal OSS

    DROP TABLE table_name [FORCE STORAGE OSS];
    Catatan

    Opsi FORCE STORAGE OSS pada perintah DROP TABLE menyediakan fitur pembersihan satu klik. Fitur ini secara otomatis menghapus file penyimpanan OSS terkait saat Anda menghapus struktur tabel.

  • Tabel partisi

    ALTER TABLE table_name DROP PARTITION part_name [FORCE STORAGE OSS];
    Catatan

    Klausa DROP PARTITION pada pernyataan ALTER TABLE, saat digunakan dengan opsi FORCE STORAGE OSS, memungkinkan Anda menghapus metadata tabel partisi dan file penyimpanan OSS-nya secara sinkron.

  • CHANGE PARTITION ENGINE

      ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV|ORC [FORCE STORAGE OSS]
    Catatan

    Fitur pengarsipan data dingin CHANGE PARTITION ENGINE menyediakan mekanisme overwrite paksa yang secara otomatis mengganti file dengan nama yang sama.

Perbandingan format pengarsipan

Saat mengarsipkan data dingin, Anda dapat mengevaluasi dan memilih format yang sesuai berdasarkan perbandingan berikut.

Catatan
  • Pengarsipan tabel standar, tabel eksternal OSS, dan tabel partisi memiliki batasan spesifik. Tinjau batasan ini sebelum mengarsipkan untuk menghindari dampak pada bisnis Anda.

  • Setelah data dingin diarsipkan, data tersebut disimpan di bucket Object Storage Service (OSS) default yang disediakan sistem, bukan di OSS milik Anda. Saat ini, Anda hanya dapat melihat daftar data yang diarsipkan di Konsol PolarDB.

  • Metode pengarsipan tabel partisi:

    • Arsipkan tabel partisi: Mengarsipkan partisi secara in-place. Data tetap berada di tabel asli, tetapi media penyimpanan untuk partisi tersebut berubah dari PolarDB (penyimpanan panas) ke OSS (penyimpanan dingin). Tabel menjadi tabel partisi hibrida yang berisi partisi panas dan dingin.

    • Arsipkan partisi ke tabel eksternal OSS: Memindahkan data partisi keluar dari tabel dan menyimpannya di tabel eksternal OSS baru yang independen. Partisi asli dihapus dari tabel sumber.

Item perbandingan

CSV

ORC

X-Engine

Format open-source

Ya

Ya

Tidak

Metode pengarsipan

Pengarsipan manual:

Kecepatan pengarsipan

Cepat

Catatan

Hanya mendukung pengarsipan single-threaded.

Lambat

Catatan

Hanya mendukung pengarsipan single-threaded.

Cepat

Catatan

Data diarsipkan ke penyimpanan PolarStore.

Kecepatan kueri

  • Relatif lambat. Tanpa indeks dan menggunakan kueri sekuensial, performa kueri sekitar 1/5 hingga 1/10 dari engine penyimpanan InnoDB.

  • Lebih cepat daripada format ORC pada node row store.

Catatan

Mendukung pembacaan baik single-threaded maupun multi-threaded.

  • Relatif lambat. Tanpa indeks dan menggunakan kueri sekuensial, performa kueri sekitar 1/5 hingga 1/10 dari engine penyimpanan InnoDB.

  • Cocok untuk kueri AP melalui node column store khusus.

Catatan

Hanya mendukung pembacaan single-threaded.

  • Cepat. Data disimpan di penyimpanan PolarStore, sehingga kecepatan kueri jauh lebih cepat daripada data dingin OSS, tetapi sekitar 30% lebih lambat daripada InnoDB.

  • Tabel row-store cocok untuk kueri TP, sedangkan tabel column-store cocok untuk kueri AP pada node column store.

Dukungan transaksi

Tidak

Tidak

Ya

Kemampuan pengindeksan

Tidak

Tidak

Ya

Cara memodifikasi data yang diarsipkan

Tabel yang diarsipkan di OSS bersifat read-only. Untuk memodifikasi data, Anda harus mengimpornya kembali dari OSS ke penyimpanan PolarDB.

Tabel yang diarsipkan mendukung operasi DML.

Penggunaan ruang penyimpanan

Sama dengan tabel InnoDB tanpa indeks.

Untuk jumlah data yang sama, ORC menggunakan sekitar 45% ruang penyimpanan yang digunakan CSV.

Mengompresi data menjadi 10%–50% dari ukuran InnoDB-nya. Rasio kompresi aktual tergantung pada karakteristik data.

Pencadangan dan pemulihan

Tidak didukung.

Catatan
  • Object Storage Service (OSS) menyediakan ketahanan data 99,9999999999% (dua belas angka 9) dan ketersediaan data 99,995%, yang secara praktis menghilangkan risiko kehilangan data dingin.

  • Saat Anda melakukan pencadangan PolarDB, data dingin yang diarsipkan di OSS tidak dicadangkan. Oleh karena itu, pemulihan database dan tabel, pemulihan berbasis cadangan, serta pemulihan pada titik waktu tidak didukung.

Didukung.

Dampak setelah pengarsipan

Setelah pengarsipan, Anda dapat mengkueri data yang diarsipkan tanpa mengubah metode akses.