Saat melakukan shard pada database, perubahan DDL pada satu shard harus diterapkan secara simultan di semua shard. Selain itu, hindari operasi yang rumit bila memungkinkan. Fitur desain skema DMS mengatasi hal ini dengan memperlakukan tabel yang di-shard sebagai satu tabel logis, sehingga Anda dapat mendefinisikan dan mempromosikan perubahan skema lintas lingkungan tanpa mengelola setiap shard secara individual. Topik ini menjelaskan cara menggunakan desain skema untuk tabel logis.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Database salah satu tipe berikut:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, atau database MySQL dari sumber lain
OceanBase
Instans yang dikelola dalam mode Security Collaboration. Untuk detailnya, lihat Lihat mode kontrol instans.
Database logis bertipe lingkungan pengembangan yang dikonfigurasi sebagai database dasar (fase desain), dan database logis bertipe lingkungan produksi yang dikonfigurasi sebagai database target (fase rilis). Untuk detailnya, lihat Database logis dan Ubah tipe lingkungan instans.
Izin untuk mengubah database dasar dan database yang diperlukan
Database dasar dan database target harus bertipe sama. Misalnya, jika database dasar adalah MySQL, maka database target juga harus MySQL.
Secara default, aturan keamanan MySQL menetapkan lingkungan fase desain sebagai pengembangan dan lingkungan fase rilis sebagai produksi. Sesuaikan proses R&D sesuai kebutuhan Anda. Untuk detailnya, lihat Desain skema.
Desain dan terapkan perubahan skema
Perubahan skema mengikuti promosi tiga tahap: desain pada database dasar (pengembangan) → terapkan ke database dasar → promosikan ke database target (produksi). Setiap tahap memerlukan pengajuan tiket dan, tergantung pada aturan keamanan Anda, persetujuan.
Langkah 1: Buat tiket desain skema
Masuk ke Konsol DMS V5.0.
Pada bilah navigasi atas, pilih Database Development > Schema Change > Schema Design.
Dalam mode simple, arahkan penunjuk ke ikon
di pojok kiri atas dan pilih All functions > Database Development > Schema Change > Schema Design.Pada halaman Schema DesignTickets, klik Schema Design di pojok kanan atas.
Atur parameter berikut lalu klik Submit.
Parameter Deskripsi Change Base Database Database logis untuk desain skema. Pilih database dalam mode Security Collaboration. Tipe lingkungan harus sesuai dengan standar R&D dalam aturan keamanan database tersebut. Untuk detailnya, lihat Desain skema. Change Stakeholder Pemangku kepentingan yang dapat melihat detail tiket serta membantu pengembangan dan persetujuan. Administrator DMS dan administrator basis data (DBA) selalu dapat melihat detail tiket; pengguna lain hanya dapat melihat jika ditambahkan di sini.
Langkah 2: Definisikan skema tabel logis
Definisikan tabel logis menggunakan antarmuka grafis (GUI) atau Pernyataan SQL.
Gunakan GUI
Klik Create Logical Table.
Atur informasi dasar, kolom, dan indeks menggunakan tab Basic Info, Column Info, dan Index Info.
Klik Partition Table Topology, lalu masukkan ekspresi shard pada bidang Logical Table Expression. Untuk sintaks lengkap ekspresi, lihat Ekspresi tabel logis.
PeringatanMemodifikasi ekspresi shard akan menghapus tabel asli dan membuat tabel baru. Tindakan ini tidak dapat dibatalkan.
Klik Calculate Table Topology Distribution untuk melihat pratinjau nama-nama shard dan distribusi fisiknya di seluruh database. Pratinjau menampilkan setiap nama shard dan database fisik yang dipetakan. Jika hasilnya tidak sesuai harapan, sesuaikan ekspresi lalu hitung ulang.
Klik Save.
Gunakan Pernyataan SQL
Klik Import SQL Statements.
Masukkan pernyataan
CREATE TABLEatauALTER TABLE, lalu klik OK. Contoh berikut membuat dua tabel,orders_logic_[05]danorders_logic_[06], menggunakan ekspresi range:CREATE TABLE `orders_logic_[05-06]` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key', `gmt_create` datetime NOT NULL COMMENT 'create time', `gmt_modified` datetime NOT NULL COMMENT 'modify time', PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET=utf8 COMMENT='Create Logical Table';Pada tab Create Logical Table: orders_logic_[05-06], tinjau informasi dan skema tabel, lalu klik Save.
Hindari memodifikasi ekspresi shard pada tabel yang sudah ada.
Langkah 3: Tinjau hasil Pemeriksaan Awal
Setelah disimpan, DMS menjalankan Pemeriksaan Awal terhadap hampir 40 standar R&D untuk pembuatan tabel, modifikasi bidang, dan perubahan indeks. Perubahan skema hanya masuk ke tahap persetujuan setelah Pemeriksaan Awal lolos.
| Hasil | Aksi |
|---|---|
| Passed | Klik Confirm Changes and Submit to Save untuk melanjutkan. |
| Warning | Klik Ignore the warning and continue to save untuk melanjutkan, atau klik Close, perbaiki skema sesuai standar R&D, lalu klik Save lagi. |
| Error | Klik Close, identifikasi dan perbaiki penyebabnya sesuai standar R&D, lalu klik Save lagi. |
Setelah Pemeriksaan Awal lolos, DMS akan mengarahkan Anda ke tab Project Homepage. Pada tab Tables Changed in Project, tinjau, modifikasi, atau hapus tabel sesuai kebutuhan sebelum melanjutkan ke tahap persetujuan.
Langkah 4: Terapkan perubahan ke database dasar
Klik Perform Changes to Base Database.
Pada panel Perform Changes to Base Database, atur Execution Strategy, Canary Mode, dan Canary Action, lalu klik Submit.
Setelah disetujui, DMS secara otomatis menerapkan perubahan skema ke database dasar. Lacak progres pada tab Change Execution History—status dilaporkan per database fisik. Untuk memverifikasi hasilnya, buka tab SQLConsole untuk database dasar.
Secara default, Anda harus mengajukan tiket untuk perubahan skema. Anda juga dapat menggunakan aturan keamanan kustom. Misalnya, Anda dapat menentukan bahwa tidak diperlukan persetujuan untuk perubahan skema di database pengembangan. Anda juga dapat menentukan pengguna yang berwenang menyetujui tiket perubahan skema di database produksi.
Langkah 5: Promosikan ke database produksi
Klik Go to Next Node, lalu konfirmasi pada dialog.
Pada tab Project Homepage, klik Perform Changes to Target Database.
Pada panel Perform Changes to Target Database, pilih database tujuan lalu klik Submit.
Untuk menerapkan perubahan skema ke beberapa database produksi sekaligus, klik Add Multiple Databases.
Setelah disetujui, DMS secara otomatis menerapkan perubahan ke database produksi. Verifikasi hasilnya pada tab SQLConsole untuk database produksi.
Klik Go to Next Node, lalu konfirmasi pada dialog.
Setelah tiket ditutup, klik langkah apa pun untuk meninjau catatan perubahan dan penerbitan.
Langkah berikutnya
Konfigurasikan algoritma perutean untuk menentukan bagaimana kueri diarahkan ke shard yang tepat. Untuk detailnya, lihat Konfigurasikan algoritma perutean.