全部产品
Search
文档中心

PolarDB:Penggunaan pengarsipan data dingin

更新时间:Nov 11, 2025

Topik ini menjelaskan cara menggunakan fitur pengarsipan data dingin. Sebelum memulai, konfirmasi format arsip dan pastikan kluster Anda memenuhi persyaratan. Untuk informasi selengkapnya, lihat Perbandingan format arsip dan Persyaratan versi.

Cakupan

  • Mengarsipkan ke format CSV

    • Untuk kluster Edisi Kluster, diperlukan salah satu versi kernel berikut:

      • MySQL 8.0.1 revisi 8.0.1.1.47 atau yang lebih baru.

      • MySQL 8.0.2 revisi 8.0.2.2.10 atau yang lebih baru.

    • Untuk kluster Kluster Multi-master (Limitless) Edisi, diperlukan versi kernel 8.0.1.0.13 atau yang lebih baru.

  • Mengarsipkan ke format ORC

    • Untuk kluster Edisi Kluster, diperlukan versi revisi 8.0.2.2.30 atau yang lebih baru.

    • Untuk kluster Kluster Multi-master (Limitless) Edisi, diperlukan versi revisi 8.0.2.2.30 atau yang lebih baru.

Arsipkan data dingin

Anda harus terlebih dahulu mengaktifkan pengarsipan data dingin. Setelah fitur diaktifkan, Anda dapat mengarsipkan data dari tabel standar atau tabel partisi.

Kueri data dingin

  • Tabel standar

    Tidak peduli format arsip yang Anda pilih, Anda dapat mengkueri data yang diarsipkan tanpa mengubah cara Anda mengakses tabel tersebut.

  • Tabel partisi

    • Arsipkan ke tabel eksternal OSS: Untuk mengkueri data yang diarsipkan, Anda harus mengubah metode akses Anda. Artinya, Anda harus mengkueri tabel arsip tertentu. Untuk informasi selengkapnya, lihat Arsipkan tabel partisi ke tabel eksternal OSS.

    • Arsipkan tabel partisi: Setelah diarsipkan, tabel menjadi tabel partisi hibrida. Untuk informasi selengkapnya, lihat Kueri partisi hibrida.

      Anda dapat mengkueri data partisi yang menggunakan engine berbeda dengan salah satu metode berikut:

      • Jika Anda menyetel parameter hybrid_partition_query_mix_engine_enabled ke ON di Konsol, hasil kueri akan berisi data di partisi yang tidak menggunakan engine InnoDB. Contoh:

        SELECT * FROM t1;

        t1 adalah tabel partisi hibrida.

      • Jika Anda menyetel parameter hybrid_partition_query_mix_engine_enabled ke OFF di Konsol, Anda dapat mengkueri data di partisi tertentu. Contoh:

        SELECT * FROM t1 partition (p1);

        t1 adalah tabel partisi hibrida. p1 adalah partisi tersebut.

Catatan

Data dingin yang diarsipkan untuk satu tabel disimpan dalam beberapa file. Untuk mengoptimalkan kinerja kueri saat Anda mengkueri data dingin, Anda dapat menggunakan kueri paralel. Untuk informasi selengkapnya, lihat Kueri paralel untuk data dingin.

Ubah data dingin

Jika Anda jarang perlu memodifikasi data dingin yang disimpan di OSS, Anda dapat menggunakan pernyataan ALTER untuk memindahkan data dingin dari OSS kembali ke PolarDB untuk dimodifikasi. Saat data dipindahkan kembali, data dingin asli di OSS akan dihapus secara otomatis. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali data tabel yang telah diperbarui ke OSS.

Tabel standar

Sintaksis

ALTER TABLE table_name ENGINE[=]engine_name;

Parameter

Parameter

Deskripsi

table_name

Nama tabel OSS yang akan dipindahkan kembali.

engine_name

Jenis engine setelah operasi failback.

Catatan penggunaan

Tabel OSS bersifat read-only dan tidak mendukung operasi modifikasi seperti INSERT, UPDATE, atau DELETE. Untuk memodifikasi data dingin yang diarsipkan, Anda harus mengonversi tabel OSS menjadi tabel read-write, seperti tabel InnoDB. Jika Anda mencoba memodifikasi tabel OSS yang bersifat read-only, pesan kesalahan berikut akan dikembalikan:

1036 - Table 't' is read only

Contoh

Pindahkan tabel OSS t dari database oss_test kembali ke PolarDB.

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

Modifikasi data di tabel InnoDB t. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali tabel t dari engine InnoDB ke OSS. Misalnya:

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

atau

ALTER TABLE t ENGINE = CSV STORAGE OSS;

Tabel partisi

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

Definisi partisi. Ini harus sama dengan partition_definition dari partisi yang ingin Anda pindahkan kembali.

Contoh

Pindahkan data di partisi p1 dari tabel partisi t dari OSS kembali ke PolarDB.

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

Hapus data dingin

Catatan
  • Hanya kluster PolarDB for MySQL dengan versi berikut yang mendukung penghapusan file yang sesuai dari OSS:

    • 8.0.1 dengan versi minor 8.0.1.1.42 atau yang lebih baru.

    • 8.0.2 dengan versi minor 8.0.2.2.23 atau yang lebih baru.

  • Jika versi minor kluster Anda tidak memenuhi persyaratan, Anda tidak dapat menghapus file yang sesuai dari OSS. Anda harus meningkatkan versi minor kluster Anda. Untuk informasi selengkapnya, lihat Kelola versi minor.

Setelah Anda menghapus tabel dari OSS atau memindahkan tabel dari OSS kembali ke PolarDB, file yang sesuai di OSS tidak dihapus secara otomatis. Jika Anda memastikan bahwa data tersebut tidak lagi diperlukan, Anda dapat menghapus file yang sesuai dari OSS. Untuk informasi selengkapnya, lihat Hapus file yang sesuai dari OSS.

  • Tabel standar dan tabel eksternal OSS

    Hapus tabel yang diarsipkan menggunakan pernyataan DROP TABLE, lalu hapus file yang sesuai di OSS menggunakan perintah CALL dbms_oss.delete_table_file('database_name', 'table_name');.

  • Tabel partisi

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

Menghapus file yang sesuai di OSS merupakan operasi asinkron. File tersebut benar-benar dihapus hanya setelah semua node di kluster tidak lagi bergantung padanya. Selain itu, proses ini mungkin mengalami latensi selama periode lalu lintas tinggi.

Opsi FORCE STORAGE OSS

Catatan

Saat ini, opsi FORCE STORAGE OSS hanya tersedia pada kluster PolarDB for MySQL yang menjalankan versi 8.0.2 dengan versi revisi 8.0.2.2.29 atau yang lebih baru.

  • Tabel standar dan tabel eksternal OSS

    DROP TABLE table_name [FORCE STORAGE OSS];
    Catatan

    Opsi FORCE STORAGE OSS dalam perintah DROP TABLE menyediakan metode pembersihan satu langkah. Opsi ini secara otomatis menghapus file penyimpanan OSS terkait saat Anda menghapus skema tabel.

  • Tabel partisi

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

    Anda dapat menggunakan opsi FORCE STORAGE OSS bersama klausa DROP PARTITION dari pernyataan ALTER TABLE untuk menghapus metadata partisi dan file penyimpanan OSS yang sesuai 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 mencakup mekanisme penggantian paksa yang secara otomatis mengganti file dengan nama yang sama.

Perbandingan format

Gunakan perbandingan berikut untuk memilih format yang sesuai untuk mengarsipkan data dingin.

Catatan
  • Berlaku batasan saat Anda mengarsipkan tabel standar, tabel eksternal OSS, dan tabel partisi. Tinjau batasan ini dengan cermat sebelum mengarsipkan data agar tidak berdampak pada bisnis Anda.

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

  • Metode pengarsipan tabel partisi:

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

    • Arsipkan partisi ke tabel eksternal OSS: Metode ini memindahkan data dari partisi ke tabel eksternal OSS baru yang terpisah. Partisi asli kemudian dihapus dari tabel sumber.

Item perbandingan

CSV

ORC

Format open-source

Ya

Ya

Metode pengarsipan

Pengarsipan manual:

Kecepatan pengarsipan

Cepat

Catatan

Hanya mendukung pengarsipan single-threaded.

Lambat

Catatan

Hanya mendukung pengarsipan single-threaded.

Kecepatan kueri

  • Lambat. Tanpa indeks dan menggunakan kueri berurutan, kinerja kueri sekitar seperlima hingga sepersepuluh dari mesin penyimpanan InnoDB.

  • Lebih cepat daripada format ORC pada node penyimpanan baris.

Catatan

Mendukung pembacaan data baik single-threaded maupun multi-threaded.

  • Buruk. Tanpa indeks dan menggunakan kueri berurutan, kinerja kueri sekitar seperlima hingga sepersepuluh dari mesin penyimpanan InnoDB.

  • Cocok untuk kueri AP pada node penyimpanan kolom terpisah.

Catatan

Hanya mendukung pembacaan data single-threaded.

Dukungan transaksi

Tidak

Tidak

Kemampuan pengindeksan

Tidak

Tidak

Cara memodifikasi data yang diarsipkan

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

Penggunaan ruang penyimpanan

Sama dengan ruang penyimpanan yang digunakan oleh tabel di engine InnoDB tanpa indeks.

Untuk jumlah data yang sama, format ORC menggunakan 45% dari ruang penyimpanan yang dibutuhkan oleh format CSV.

Pencadangan dan pemulihan

Tidak didukung.

Catatan

Operasi pencadangan tidak mencadangkan data dingin yang diarsipkan di OSS. Oleh karena itu, Anda tidak dapat menggunakan cadangan untuk memulihkan database atau tabel, memulihkan dari cadangan, atau melakukan pemulihan pada titik waktu.

Dampak setelah pengarsipan