Menghapus dan memperbarui data dalam tabel basis data dapat menyebabkan data disimpan secara tidak berurutan di disk. Hal ini menciptakan fragmentasi ruang, yang membuang-buang ruang disk dan menurunkan kinerja. Database Autonomy Service (DAS) mendukung pemulihan fragmen otomatis. Selama jendela pemeliharaan instans, DAS secara otomatis menjalankan perintah `Optimize Table` atau `Alter Table` pada instans utama untuk memulihkan fragmen ruang tabel dan mengoptimalkan penggunaan ruang.
Prasyarat
Instans tersebut adalah instans ApsaraDB RDS untuk MySQL yang menjalankan salah satu edisi berikut: Edisi Ketersediaan Tinggi, Edisi Perusahaan, atau Edisi Kluster.
Instans tersebut dibuat 14 hari atau lebih lalu.
Instans tersebut memiliki spesifikasi CPU minimal 4 core.
Tabel fisik dari instans menggunakan engine InnoDB.
Informasi latar belakang
Berikut adalah penyebab umum fragmentasi ruang tabel:
Catatan dihapus, dan ruang aslinya tidak dapat digunakan kembali.
Catatan diperbarui, biasanya di bidang panjang variabel, dan ruang aslinya tidak dapat digunakan kembali.
Penyisipan catatan menyebabkan pemisahan halaman, yang mengurangi faktor pengisian halaman.
Pemeriksaan pra-optimasi
DAS menjalankan perintah Optimize Table atau Alter Table pada instans utama untuk memulihkan fragmen ruang tabel. Sebelum operasi Automatic Fragment Recycling, DAS secara otomatis melakukan pemeriksaan berikut pada basis data untuk meminimalkan dampak pada kinerja dan ruang basis data. Operasi Automatic Fragment Recycling dimulai hanya setelah semua pemeriksaan berhasil dilakukan.
Jika salah satu dari pemeriksaan berikut gagal, operasi Automatic Fragment Recycling pada tabel yang sesuai akan segera berhenti.
Ruang tersedia dari instans setidaknya tiga kali lipat dari ruang fisik tabel yang akan dipulihkan.
CatatanSebagai contoh, untuk memulihkan fragmen untuk Tabel_1, yang menempati 30 GB ruang fisik, basis data harus memiliki setidaknya 90 GB ruang bebas.
Tabel tidak memiliki indeks teks penuh (FULLTEXT).
Jika pemeriksaan gagal, DAS menunggu 1 hingga 5 menit dan kemudian menjalankannya kembali. Jika pemeriksaan tidak berhasil selama jendela pemeliharaan, DAS akan mencoba kembali selama jendela pemeliharaan berikutnya. Setelah pemeriksaan berhasil, DAS melakukan Automatic Fragment Recycling.
Tidak ada pekerjaan cadangan yang sedang berjalan pada instans.
Tidak ada operasi evolusi skema yang sedang berlangsung.
DAS memeriksa utilisasi CPU dari instans dan memperkirakan waktu yang diperlukan untuk Automatic Fragment Recycling. Ini memverifikasi bahwa utilisasi CPU berada di bawah 70% selama periode waktu yang sama pada hari sebelumnya dan minggu sebelumnya, serta bahwa utilisasi CPU berada di bawah 80% tepat sebelum operasi dimulai.
CatatanSebagai contoh, jika sebuah tabel menempati 90 GB ruang fisik dan pemulihan fragmen diperkirakan memakan waktu 30 menit dan dijadwalkan mulai pada 03:00 tanggal 10 Desember, kondisi berikut harus dipenuhi:
Utilisasi CPU dari 03:00 hingga 03:30 pada 9 Desember 2020, harus kurang dari 70%.
Utilisasi CPU dari 03:00 hingga 03:30 pada 3 Desember 2020, harus kurang dari 70%.
Utilisasi CPU pada 03:00 tanggal 10 Desember 2020, harus kurang dari 80%.
Tidak ada pernyataan SQL yang membutuhkan waktu lebih dari 3 detik untuk dieksekusi yang sedang berjalan pada tabel target.
Tidak ada transaksi tertunda. Transaksi tertunda adalah transaksi yang memegang kunci tetapi belum dikomit selama lebih dari 15 detik.
Jumlah sesi aktif pada instans kurang dari 64.
Jika pemeriksaan gagal, Anda tidak dapat menggunakan fitur Automatic Fragment Recycling. Anda dapat memulihkan fragmen ruang tabel dengan menjalankan perintah OPTIMIZE TABLE secara manual. Untuk informasi lebih lanjut, lihat Gunakan perintah OPTIMIZE TABLE untuk melepaskan ruang tabel instance MySQL.
Aktifkan Layanan Terkelola Alibaba Cloud untuk DAS
Sebelum Anda dapat menggunakan fitur Automatic Fragment Reclamation, Anda harus mengaktifkan Layanan Terkelola Alibaba Cloud untuk DAS untuk instans target. Jika layanan ini sudah diaktifkan, Anda dapat melewati bagian ini.
Masuk ke Konsol DAS.
Di panel navigasi di sebelah kiri, klik .
Di halaman Instances, temukan instans target dan klik Enable di kolom Managed Service.
Di halaman yang muncul, pilih Subscription Duration dan klik Enable.
Pemulihan Fragmen Otomatis
Buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Kemudian, temukan instans RDS dan klik ID instans tersebut.
Di panel navigasi di sebelah kiri, pilih . Di halaman Autonomy Center, klik Autonomy Service Switch.
Di tab , aktifkan saklar utama untuk layanan otonomi. Kemudian, di tab Optimization and Throttling, aktifkan Automatic Fragment Reclamation.
Setelah Anda mengaktifkan Automatic Fragment Reclamation, konfigurasikan parameter berikut dan klik OK.
PentingKetika status ruang dari instans basis data mencapai ambang batas yang ditentukan, DAS melakukan pemulihan fragmen otomatis selama O&M Window dari instans basis data.
Parameter
Deskripsi
Tablespace >
Ukuran minimum tabel fisik tunggal untuk memicu pemulihan fragmen otomatis. Nilainya berkisar antara 5 GB hingga 100 GB. Nilai default adalah 10 GB.
Tabel tunggal besar dapat mengakibatkan waktu pemulihan yang lama. Pilih nilai yang sesuai sesuai kebutuhan.
CatatanJika ruang tabel semua tabel dalam instans basis data lebih kecil dari 5 GB atau lebih besar dari 100 GB, sistem tidak akan melakukan pemulihan fragmen.
Fragmentation Percentage >
Tingkat fragmentasi tabel fisik tunggal untuk memicu pemulihan fragmen otomatis. Nilainya berkisar antara 10% hingga 99%. Nilai default adalah 20%.
Tingkat fragmentasi tinggi mengurangi frekuensi optimasi ruang. Pilih nilai yang sesuai sesuai kebutuhan.
CatatanJika tingkat fragmentasi semua tabel dalam instans basis data lebih rendah dari 10%, sistem tidak akan melakukan pemulihan fragmen.
CatatanSebagai contoh, jika Anda mengatur Tablespace > menjadi 5 GB dan Tablespace > menjadi 10%, pemulihan fragmen otomatis dipicu untuk semua tabel yang berukuran 5 GB hingga 100 GB dan memiliki tingkat fragmentasi 10% atau lebih tinggi.
(Opsional) Konfigurasikan Alert Template dan berlangganan peringatan untuk menerima notifikasi tepat waktu tentang status Automatic Fragment Reclamation dari instans basis data.
Sistem merekomendasikan templat peringatan dan menambahkan aturan peringatan untuk peristiwa otonomi yang sesuai. Ikuti petunjuk untuk menyelesaikan konfigurasi.
CatatanJika templat peringatan sudah dikonfigurasikan untuk instans, ikuti petunjuk untuk menambahkan aturan peringatan yang sesuai untuk peristiwa otonomi ke templat tersebut.
Untuk mengonfigurasi templat peringatan dan aturan peringatan sendiri, lihat Konfigurasikan templat peringatan dan Konfigurasikan aturan peringatan.
Pilih Alert Contact Group untuk menerima notifikasi peringatan.
Klik Add Contact untuk menambahkan kontak peringatan baru.
Klik Add Contact Group untuk menambahkan kelompok kontak peringatan baru.
Klik Modify atau Remove di sebelah kontak untuk memodifikasi atau menghapus informasi kontak tersebut.
Untuk informasi lebih lanjut, lihat Kelola kontak peringatan.
Konfirmasi Linked Instance.
Klik Submit Configuration dan konfirmasi konfigurasi peringatan di kotak dialog yang muncul.