Sebelum mengarsipkan data dingin, pastikan format arsip yang Anda inginkan dan verifikasi bahwa kluster Anda memenuhi persyaratan. Untuk informasi lebih lanjut, lihat Perbandingan format arsip dan Prasyarat.
Cakupan penerapan
Pengarsipan dalam format CSV
Jika edisi produk adalah Edisi Kluster, versi Milvus harus salah satu dari berikut ini:
MySQL 8.0.1, versi minor 8.0.1.1.47 atau lebih baru.
MySQL 8.0.2, versi revisi 8.0.2.2.10 atau lebih baru.
Untuk Edisi Multi-master Kluster (Limitless), versi kernel harus 8.0.1.0.13 atau lebih baru.
Pengarsipan dalam format ORC
Untuk Edisi Kluster, versi revisi harus 8.0.2.2.30 atau lebih baru.
Untuk Edisi Multi-master Kluster (Limitless), versi revisi harus 8.0.2.2.30 atau lebih baru.
Pengarsipan dalam format X-Engine
Pengarsipan 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.
Pengarsipan tabel partisi: MySQL 8.0.2 dengan revisi 8.0.2.2.12 atau lebih baru.
Pengarsipan sebagai tabel berorientasi kolom X-Engine: MySQL 8.0.2 dengan revisi 8.0.2.2.33 atau lebih baru.
Arsipkan data dingin
Arsipkan ke OSS: Anda harus terlebih dahulu mengaktifkan pengarsipan data dingin. Saat mengarsipkan data dingin, Anda dapat memilih untuk mengarsipkan tabel umum atau tabel partisi.
Tabel umum
Tabel partisi
Anda dapat mengarsipkan secara manual partisi tertentu dari tabel partisi di tempatnya atau mengarsipkannya ke tabel eksternal OSS. Untuk informasi lebih lanjut, lihat Arsipkan partisi di tempat atau Arsipkan partisi ke tabel eksternal OSS.
Buat kebijakan manajemen siklus hidup data (DLM) untuk mengarsipkan data dingin secara otomatis. Untuk informasi lebih lanjut, lihat Arsipkan data dingin secara otomatis.
Arsipkan ke X-Engine: Anda harus terlebih dahulu mengaktifkan pengarsipan data dingin dan engine kompresi tinggi (X-Engine). Saat mengarsipkan data dingin, Anda dapat memilih untuk mengarsipkan tabel umum atau tabel partisi.
Tabel umum
Tabel partisi
Anda dapat mengarsipkan secara manual partisi tertentu dari tabel partisi ke partisi X-Engine. Untuk informasi lebih lanjut, lihat Arsipkan data ke X-Engine.
Buat kebijakan manajemen siklus hidup data (DLM) untuk mengarsipkan data dingin secara otomatis. Untuk informasi lebih lanjut, lihat Arsipkan tabel partisi ke X-Engine.
Kueri data dingin
Tabel umum
Terlepas dari format arsip yang Anda pilih, Anda dapat melakukan kueri terhadap data yang diarsipkan tanpa mengubah cara akses tabel.
Tabel partisi
Arsipkan ke tabel eksternal OSS: Melakukan kueri terhadap data ini memerlukan metode akses yang berbeda: Anda harus melakukan kueri terhadap tabel arsip tertentu. Untuk informasi lebih lanjut, lihat Arsipkan partisi ke tabel eksternal OSS.
Arsipkan partisi di tempat: Tabel menjadi tabel partisi hibrida setelah diarsipkan. Untuk informasi lebih lanjut, lihat Kueri partisi hibrida.
Anda dapat melakukan kueri terhadap partisi pada engine penyimpanan yang berbeda dengan tiga cara:
Atur parameter
hybrid_partition_query_mix_engine_enabledke ON. Kueri kemudian akan 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_enabledke OFF. Kueri kemudian hanya akan mengembalikan data dari partisi InnoDB dan X-Engine. Contoh:-- t1 adalah tabel partisi hibrida. SELECT * FROM t1;Lakukan kueri terhadap partisi tertentu berdasarkan nama. Ini akan 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);
Sistem menyimpan data dingin yang diarsipkan dalam format multi-file untuk setiap tabel. Untuk mengoptimalkan performa kueri, gunakan kueri paralel. Untuk informasi lebih lanjut, lihat Kueri paralel pada data dingin.
Modifikasi data dingin
Untuk memodifikasi data dingin yang disimpan di Object Storage Service (OSS) secara tidak sering, gunakan pernyataan ALTER untuk memindahkannya kembali ke storage space PolarDB guna dimodifikasi. Sistem kemudian secara otomatis akan menghapus data tersebut dari OSS. Setelah Anda memodifikasi data, Anda dapat mengarsipkan kembali data tabel tersebut 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 pernyataan INSERT, UPDATE, atau DELETE. 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 onlyContoh
Pindahkan tabel OSS t dari database oss_test kembali ke storage space PolarDB.
ALTER TABLE `oss_test`.`t` ENGINE = InnoDB;Modifikasi data dalam tabel InnoDB t. Setelah modifikasi selesai, arsipkan kembali tabel t 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
Untuk memodifikasi data dingin dalam tabel partisi, kluster PolarDB for MySQL Anda harus menggunakan 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 |
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
Hanya kluster PolarDB for MySQL dengan versi berikut yang mendukung penghapusan file terkait dari OSS:
8.0.1 dengan versi minor 8.0.1.1.42 atau lebih baru.
8.0.2 dengan versi minor 8.0.2.2.23 atau lebih baru.
Jika versi minor kluster Anda tidak memenuhi persyaratan, Anda tidak dapat menghapus file terkait dari OSS. Kami menyarankan Anda melakukan upgrade versi minor kluster Anda. Untuk informasi lebih lanjut, lihat Kelola 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 terkait di OSS sebagai berikut. Untuk informasi lebih lanjut, lihat Hapus file terkait di OSS.
Tabel umum dan tabel eksternal OSS
Gunakan
DROP TABLEuntuk menghapus tabel yang diarsipkan. Kemudian, jalankan perintahCALL dbms_oss.delete_table_file('database_name', 'table_name');untuk menghapus file terkait di OSS.Tabel partisi
Jalankan perintah
CALL dbms_oss.delete_table_file('database_name', 'table_name');untuk menghapus file terkait di OSS.
Operasi penghapusan file terkait di OSS dilakukan secara asinkron. File benar-benar dihapus hanya setelah semua node dalam kluster tidak lagi bergantung padanya. Proses ini mungkin tertunda saat traffic sedang tinggi.
Opsi FORCE STORAGE OSS
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];CatatanOpsi 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];CatatanKlausa DROP PARTITION pada pernyataan ALTER TABLE, ketika digunakan dengan opsi FORCE STORAGE OSS, memungkinkan Anda menghapus metadata tabel partisi dan file penyimpanan OSS terkait secara sinkron.
CHANGE PARTITION ENGINE
ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = CSV|ORC [FORCE STORAGE OSS]CatatanFitur pengarsipan data dingin CHANGE PARTITION ENGINE menyediakan mekanisme overwrite paksa yang secara otomatis mengganti file dengan nama yang sama.
Perbandingan format arsip
Gunakan perbandingan berikut untuk membantu Anda memilih format yang tepat untuk mengarsipkan data dingin Anda.
Pengarsipan tabel standar, tabel eksternal OSS, dan tabel partisi memiliki batasan tertentu. Tinjau batasan ini sebelum mengarsipkan data agar tidak berdampak pada bisnis Anda.
Data dingin yang diarsipkan disimpan di bucket Object Storage Service (OSS) default sistem, bukan di bucket milik Anda. Saat ini, Anda hanya dapat melihat daftar data yang diarsipkan di Konsol PolarDB.
Penjelasan metode pengarsipan tabel partisi:
Pengarsipan Tabel Partisi: Mengarsipkan partisi tertentu dalam tabel partisi di tempatnya. Data tetap berada di tabel asli, tetapi media penyimpanan untuk partisi tersebut berubah dari PolarDB (penyimpanan panas) ke OSS (penyimpanan dingin), dan tabel 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.
Item | 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 storage space PolarStore. |
Kecepatan kueri |
Catatan Mendukung pembacaan data baik single-threaded maupun multi-threaded. |
Catatan Hanya mendukung pembacaan data single-threaded. |
|
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 dari OSS kembali ke storage space PolarDB. | Anda dapat melakukan operasi DML pada tabel yang diarsipkan. | |
Ruang penyimpanan yang digunakan | Ruang penyimpanan setara dengan tabel tanpa indeks di engine InnoDB. | Untuk volume data yang sama, menggunakan 45% dari ruang penyimpanan yang dibutuhkan oleh format CSV. | Dibandingkan dengan engine InnoDB, ruang penyimpanan dapat dikompresi hingga 10%–50% dari ukuran aslinya. Rasio kompresi spesifik tergantung pada karakteristik data. |
Pencadangan dan pemulihan | Tidak didukung. Catatan
| Didukung. | |
Dampak setelah pengarsipan |
|
| Setelah diarsipkan, Anda dapat melakukan kueri terhadap data yang diarsipkan tanpa mengubah cara akses tabel. |