Ketika tabel besar menyebabkan query menjadi lambat atau ruang penyimpanan hampir habis, gunakan fitur Pembersihan Data Historis di Data Management (DMS) untuk secara otomatis menghapus data lama, meningkatkan performa database, dan mencegah masalah stabilitas.
Prasyarat
Database harus berbasis MySQL.
Instans database harus menggunakan mode kontrol Stable Change atau Security Collaboration. Untuk informasi selengkapnya tentang Mode Kontrol, lihat Control Mode.
Prosedur
- Masuk ke DMS console V5.0.
Di bilah navigasi atas, pilih .
CatatanDalam mode simple DMS, klik ikon
di pojok kiri atas, lalu pilih . Pada halaman pengajuan tiket Data Change, konfigurasikan parameter tiket lalu klik Submit.
Tabel berikut menjelaskan beberapa parameter tersebut.
Parameter
Deskripsi
Database
Pilih database yang memiliki izin perubahan. Anda tidak dapat mengajukan tiket hanya dengan izin read-only atau izin tingkat tabel. Untuk informasi selengkapnya, lihat View My Permissions.
Deletion Settings
Masukkan Table Name, Time Field, Time Accuracy, Retention Period (Days), dan Filter Condition (Nullable). Sistem akan secara otomatis menghasilkan skrip pembersihan berdasarkan informasi ini.
CatatanUntuk tabel logis, masukkan nama tabel logis.
Periode retensi menentukan kapan data dihapus secara otomatis. Misalnya, periode retensi 7 hari akan menghapus data yang lebih tua dari 7 hari.
Contoh: Jika Table Name adalah
api_call_record_11, Time Field adalahgmt_create, Retention Period adalah7, dan Filter Condition adalahstatus = 1 or status=2, maka pernyataan SQL berikut akan dihasilkan:DELETE FROM `api_call_record_11` WHERE `gmt_create` < SUBDATE(CURDATE(),INTERVAL 7 DAY) AND (status = 1 or status=2);Schedule
DMS melakukan pemindaian seluruh tabel selama pembersihan data dan menghapus data dalam Batch berdasarkan primary key atau unique key non-null. Jadwalkan eksekusi pada jam sepi dengan frekuensi rendah untuk meminimalkan dampak terhadap performa database.
CatatanWaktu eksekusi aktual tugas terjadwal dapat menyimpang hingga satu menit dari waktu yang dijadwalkan.
Interval minimum untuk eksekusi terjadwal adalah satu jam. Secara default, tugas dijalankan setiap hari pukul 02.00.
Policy Configuration
Anda dapat menentukan durasi eksekusi. Tugas akan secara otomatis berhenti setelah berjalan selama durasi yang ditentukan untuk menghindari dampak terhadap layanan selama jam sibuk.
Execute Task Without End Time.
Specify End Time (Hours): Tetapkan durasi eksekusi untuk mencegah bottleneck pada pipeline sinkronisasi downstream (seperti DTS atau AnalyticDB) yang berdampak pada performa DMS.
Setelah menentukan durasi, Anda dapat mengaktifkan Periodically Optimize Table (Defragmentasi), yang secara default dinonaktifkan. Fitur ini menjalankan OPTIMIZE TABLE setelah jumlah siklus pembersihan tertentu. Interval default adalah 60 siklus. Misalnya, dengan interval 60, sistem akan menjalankan OPTIMIZE TABLE setiap 60 kali pembersihan.
CatatanFitur
OPTIMIZE TABLEhanya didukung untuk database RDS for MySQL dan PolarDB for MySQL.Durasi operasi
OPTIMIZE TABLEdibatasi oleh durasi eksekusi yang ditentukan dalam konfigurasi kebijakan. OperasiOPTIMIZE TABLEakan berhenti ketika durasi eksekusi tugas berakhir.
Change Stakeholder
Stakeholder yang ditentukan dapat melihat dan berkolaborasi dalam tiket tersebut. Pengguna lain tidak dapat mengaksesnya, kecuali administrator dan DBA.
Setelah mengajukan tiket, Anda dapat mengaktifkan pemeriksaan replication lag, menetapkan ambang batas, dan memodifikasi SQL.
(Opsional) Untuk mencegah replication lag berlebihan yang dapat memengaruhi alih bencana instans primary/standby, aktifkan pemeriksaan replication lag dan tetapkan ambang batasnya.
Pada bagian Basic Information, klik chunk option untuk menetapkan ambang batas replication lag yang wajar dalam satuan detik. Jika replication lag melebihi ambang batas, eksekusi SQL akan dihentikan.
CatatanSaat ini, fitur ini hanya didukung untuk database ApsaraDB RDS for MySQL.
(Opsional) Modifikasi SQL.
Setelah mengajukan tiket, sistem secara otomatis melakukan Pemeriksaan Awal SQL. Jika Pemeriksaan Awal gagal, Anda dapat memodifikasi SQL berdasarkan alasan kegagalan tersebut dan mencoba lagi.
CatatanSebelum mengajukan untuk persetujuan, Anda dapat memodifikasi konfigurasi eksekusi batch dan penjadwalan. Setelah diajukan, pengaturan ini tidak dapat diubah.
Klik Submit. Untuk instans dalam mode Security Collaboration, tiket kemudian dikirim untuk persetujuan sesuai aturan yang dikonfigurasi. Untuk instans dalam mode Stable Change, tiket disetujui secara otomatis.
Setelah tiket disetujui, sistem secara otomatis menghasilkan tugas terjadwal dan mengirim email kepada Pemilik tiket. Di bagian Basic Information, Anda dapat mengklik View Scheduled Tasks untuk melihat informasi penjadwalan. Anda juga dapat melakukan operasi berikut.
Pause Schedule
CatatanJika Anda perlu menonaktifkan jadwal secara permanen, buka halaman detail tiket untuk Historical Data Cleanup, klik Close Ticket di pojok kanan atas, masukkan alasan, lalu klik Submit.
Resume Schedule
CatatanSetelah tiket ditutup, Anda harus mengajukan tiket baru untuk melanjutkan jadwal.
Change Ticket Owner
Pengguna yang mengajukan tiket secara default menjadi Pemilik. Hanya Pemilik tiket yang dapat menjeda atau melanjutkan jadwal. Notifikasi email untuk setiap eksekusi terjadwal juga dikirim eksklusif kepada Pemilik.
Setelah tugas terjadwal dibuat, sistem mengeksekusi skrip SQL yang dihasilkan sesuai kebijakan penjadwalan yang dikonfigurasi. Anda dapat melihat semua informasi penjadwalan dan detail setiap eksekusi di dalam tiket.
CatatanPada setiap waktu terjadwal, sistem memeriksa apakah tugas pembersihan untuk tiket tersebut sedang berjalan. Jika tugas sedang berlangsung, tugas baru tidak akan dibuat. Oleh karena itu, Anda harus mengonfigurasi frekuensi eksekusi secara tepat.
FAQ
Q: Apakah menjalankan
OPTIMIZE TABLEsebagai bagian dari tugas Pembersihan Data Historis berdampak pada bisnis?A: Tergantung. Operasi
OPTIMIZE TABLEtidak akan berdampak pada bisnis jika Anda telah mengaktifkan Lock-free Schema Change untuk instans target. Jika Lock-free Schema Change belum diaktifkan, lakukan operasiOPTIMIZE TABLEpada jam sepi untuk meminimalkan dampak terhadap bisnis. Untuk mengaktifkan Lock-free Schema Change, lihat Enable the lock-free schema change feature.Q: Bagaimana cara menghentikan operasi
OPTIMIZE TABLEyang berlangsung terlalu lama?A: Buka halaman Ticket Details dan jeda tugas di bagian Execute.