All Products
Search
Document Center

PolarDB:Online Copy DDL

Last Updated:Mar 15, 2026

PolarDB for MySQL memperkenalkan fitur Online Copy DDL yang mengurangi gangguan bisnis akibat operasi Copy DDL tradisional—seperti MODIFY COLUMN atau konversi antara tabel standar dan tabel partisi—yang memegang kunci metadata (MDL) sepanjang eksekusi.

Informasi Latar Belakang

Selama eksekusi Copy DDL standar, MySQL memegang kunci MDL-SNW (Shared No Write), yang secara terus-menerus memblokir semua operasi tulis (INSERT/UPDATE/DELETE) pada tabel. Hal ini dapat menyebabkan penumpukan koneksi dan, dalam kasus parah, kegagalan sistem. Online Copy DDL mengoptimalkan mekanisme penguncian selama fase penyalinan data. Dengan tetap menjamin konsistensi data, fitur ini memungkinkan operasi baca dan tulis berjalan secara konkuren, sehingga secara signifikan meningkatkan ketersediaan bisnis selama eksekusi DDL.

Lingkup

PolarDB for MySQL versi 8.0.2 dan revisi 8.0.2.2.33.1 atau lebih baru. Untuk mengonfirmasi versi kluster, tanyakan nomor versi.

Catatan

Fitur Online Copy DDL saat ini sedang dalam rilis bertahap. Untuk menggunakannya, buka Quota Center. Temukan kuota dengan ID polarm_82_online_copy_ddl, lalu klik **Request** pada kolom **Operation** yang sesuai untuk mengaktifkan fitur tersebut. Saat mengajukan permintaan, sertakan ID kluster yang akan diaktifkan (misalnya, pc-xxx).

Batasan

Operasi yang didukung:

  • Konversi antara tabel standar dan tabel partisi.

  • Pernyataan MODIFY COLUMN. Modifikasi posisi kolom secara bersamaan tidak didukung.

Operasi atau objek yang tidak didukung:

  • Tabel yang berisi kolom tipe JSON.

  • Tabel yang berisi indeks spasial (SPATIAL INDEX).

  • Tabel yang berisi global secondary indexes (GSI).

  • Tabel partisi hibrid.

  • Kluster multi-master (Limitless).

  • Sesi yang telah mengeksekusi LOCK TABLES pada tabel tersebut.

  • Pernyataan DDL yang secara eksplisit menentukan ALGORITHM=COPY dan LOCK=SHARED atau LOCK=EXCLUSIVE.

Catatan

Sebelum mengeksekusi operasi DDL, gunakan fitur EXPLAIN DDL untuk memastikan apakah operasi tersebut mendukung Online Copy DDL.

Penggunaan

Aktifkan fitur Online Copy DDL dengan mengatur parameter loose_polar_support_online_copy_ddl_algorithm. Untuk pernyataan MODIFY COLUMN, aktifkan juga parameter loose_polar_support_online_copy_ddl_algorithm_for_modify. Untuk instruksi detail, lihat Setel parameter kluster dan parameter node. Deskripsi parameter sebagai berikut:

Parameter

Level

Deskripsi

loose_polar_support_online_copy_ddl_algorithm

Global

Sakelar utama untuk Online Copy DDL. Rentang nilai:

  • ON: Mengaktifkan Online Copy DDL.

  • OFF (default): Menonaktifkan Online Copy DDL.

loose_polar_support_online_copy_ddl_algorithm_for_modify

Global

Sakelar Online Copy DDL khusus untuk MODIFY COLUMN. Rentang nilai:

  • ON: Mengaktifkan kemampuan online untuk MODIFY COLUMN.

  • OFF (default): Menonaktifkannya.

Metode 1: Menentukan Algoritma Secara Eksplisit (Direkomendasikan)

Paksa penggunaan Online Copy DDL dengan menentukan ALGORITHM=COPY, LOCK=NONE:

CREATE TABLE t(a int);
ALTER TABLE t MODIFY COLUMN a BIGINT DEFAULT NULL, ALGORITHM=COPY, LOCK=NONE;
Catatan

Jika Anda menggunakan pernyataan di atas dan menerima error ERROR 1846 (0A000): LOCK=NONE is not supported. Reason: COPY algorithm requires a lock. Try LOCK=SHARED., operasi modifikasi tipe kolom tersebut saat ini tidak mendukung algoritma Online Copy DDL. Pastikan parameter loose_polar_support_online_copy_ddl_algorithm telah diaktifkan dan tinjau kembali batasan dengan cermat.

Metode 2: Memilih Algoritma Optimal Secara Otomatis (Perilaku Default)

Jika Anda tidak menentukan algoritma atau menggunakan DEFAULT, sistem akan secara otomatis memilih metode eksekusi yang paling sesuai:

-- Metode 1: DEFAULT eksplisit
ALTER TABLE t MODIFY COLUMN a BIGINT DEFAULT NULL, ALGORITHM=DEFAULT, LOCK=DEFAULT;

-- Metode 2: Tidak mencantumkan sama sekali (setara)
ALTER TABLE t MODIFY COLUMN a BIGINT DEFAULT NULL;
Catatan

Sistem pertama-tama akan mencoba Online Copy DDL. Jika kondisi tidak terpenuhi, sistem secara otomatis kembali ke Copy DDL tradisional yang mengunci tabel, sehingga memastikan DDL berhasil diselesaikan.