All Products
Search
Document Center

Data Management:Schema design

Last Updated:Mar 29, 2026

Modul Schema Design dalam Data Management Service (DMS) mengelola perubahan skema dari tahap desain hingga publikasi. Gunakan modul ini untuk menetapkan aturan validasi, mengatur ambang batas risiko, dan mengonfigurasi proses persetujuan agar setiap perubahan skema memenuhi standar tim Anda sebelum mencapai lingkungan produksi.

Cara kerja

Tiket desain skema melewati dua tahap:

  1. Save changes — DMS memvalidasi header tabel, bidang, dan indeks terhadap aturan desain Anda sebelum menyimpan.

  2. Apply changes — DMS menghitung tingkat risiko berdasarkan aturan identifikasi risiko Anda, lalu mengarahkan tiket melalui proses persetujuan yang sesuai.

Ketika satu tiket mencakup beberapa instans—misalnya, mendesain di lingkungan pengujian dan mempublikasikan ke produksi—basic configuration items, aturan desain, dan aturan identifikasi risiko diterapkan pada base database (lingkungan pengujian). Namun, proses persetujuan menggunakan aturan keamanan yang dikonfigurasi untuk lingkungan produksi.

Konsep utama

Proses R&D

Proses R&D menentukan siklus hidup lengkap tiket desain skema dan merupakan item konfigurasi paling penting dalam modul Schema Design.

Satu proses terdiri dari dua jenis node:

Jenis nodeDeskripsi
DesignMenentukan lingkungan tempat perubahan skema didesain. Dihasilkan secara default dan tidak dapat dihapus.
PublishMempublikasikan perubahan skema setelah desain. Anda dapat menambahkan beberapa node Publish.

Setiap node memiliki parameter berikut:

ParameterDeskripsi
Node nameNama hingga 10 karakter.
Database environmentLingkungan tempat node dijalankan.
Execution strategyImmediately: dijalankan segera setelah node disetujui. Periodically: dijalankan pada waktu terjadwal. Jika node disetujui sebelum waktu terjadwal, eksekusi tetap mengikuti jadwal. Jika disetujui setelah jadwal, node dibatalkan dan tidak dijalankan.
Can go backApakah node Publish dapat kembali ke node Design.
Can skipApakah node saat ini dapat dilewati.
AnchorMenandai node sebagai titik henti. Setelah node anchor dipublikasikan, node berikutnya diblokir dan tiket masuk ke status Published.
ActionsOperasi yang tersedia pada node Publish, termasuk menghapus node tersebut.
Untuk secara otomatis memajukan tiket ke status Ended setelah publikasi, tetapkan node terakhir dalam proses R&D sebagai anchor, lalu aktifkan Advance ticket to the Ended state when published.

Checkpoint

DMS mengevaluasi perubahan skema pada dua tahap, masing-masing dengan serangkaian checkpoint:

Saving changes — memvalidasi struktur sebelum menyimpan:

  • Save Changes and Validate Header

  • Save Changes and Validate Field

  • Save Changes and Validate Index

Applying changes — mengidentifikasi risiko dan menetapkan persetujuan:

  • Table Creation Risk Control

  • Field Change Risk Control

  • Index Change Risk Control

  • SQL Execution Risk Control

  • Approval Rule Validation

Empat checkpoint pertama menghitung tingkat risiko untuk perubahan Data Definition Language (DDL). Checkpoint Approval Rule Validation mengarahkan tiket ke proses persetujuan yang sesuai berdasarkan tingkat risiko tersebut.

Jika Approval Rule Validation tidak dikonfigurasi, DMS menggunakan fallback ke Default approval template for schema design yang ditetapkan dalam basic configuration items.

Faktor dan aksi

Aturan keamanan ditulis sebagai pernyataan Domain-Specific Language (DSL) menggunakan faktor dan aksi.

Faktor adalah variabel bawaan yang memberikan konteks tentang perubahan—misalnya, tipe tabel, ukuran tabel, atau lingkungan. Nama faktor menggunakan awalan @fac. diikuti nama tampilannya.

Faktor berikut tersedia untuk checkpoint Schema Design:

FaktorDeskripsi
@fac.table_kindTipe tabel yang diubah. Nilai: new (baru dibuat), old (sudah ada).
@fac.column_kindTipe bidang yang diubah. Nilai: new (baru dibuat), old (sudah ada).
@fac.xxxx_oldNilai saat ini dari bidang atau indeks yang sudah ada, digunakan untuk perbandingan.
@fac.column_is_primaryApakah bidang tersebut merupakan primary key. Nilai: true, false.
@fac.column_type_support_defaultApakah tipe data bidang mendukung nilai default. Nilai: true (misalnya, CHAR), false (misalnya, TEXT).
@fac.index_kindTipe indeks yang diubah. Nilai: new, old.
@fac.index_column_countJumlah bidang dalam indeks.
@fac.change_typeTipe operasi DDL. Nilai: new (tambah), modify, delete.
@fac.altered_table_sizeUkuran tabel yang diubah, dalam MB.
@fac.online_executeApakah perubahan dapat dijalankan di lingkungan online. Nilai: true, false.
@fac.change_risk_levelTingkat risiko yang dihitung. Nilai: high, middle, low.
@fac.env_typeNama tampilan tipe lingkungan, seperti DEV atau PRODUCT. Lihat Ubah tipe lingkungan suatu instans.

Actions adalah operasi yang dilakukan DMS ketika kondisi aturan terpenuhi. Nama aksi menggunakan awalan @act. diikuti nama tampilannya.

Aksi berikut tersedia untuk checkpoint Schema Design:

AksiDeskripsi
@act.block_submitMemblokir pengiriman perubahan skema dan menampilkan pesan error. Digunakan dalam proses save changes. Format: @act.block_submit 'Alasan'.
@act.show_warningMenampilkan peringatan tanpa memblokir pengiriman. Digunakan dalam proses save changes. Format: @act.show_warning 'Pesan'.
@act.mark_middle_riskMenandai perubahan skema sebagai risiko menengah. Digunakan dalam identifikasi risiko. Format: @act.mark_middle_risk 'Alasan'.
@act.mark_high_riskMenandai perubahan skema sebagai risiko tinggi. Digunakan dalam identifikasi risiko. Format: @act.mark_high_risk 'Alasan'.
@act.forbid_submit_publishMenolak tiket. Digunakan dalam validasi aturan persetujuan. Format: @act.forbid_submit_publish 'Alasan'.
@act.do_not_approveMenentukan ID templat persetujuan. Untuk informasi lebih lanjut, lihat Konfigurasi proses persetujuan.
@act.choose_approve_template
@act.choose_approve_template_with_reason

Templat aturan keamanan

DMS menyediakan templat aturan keamanan yang telah ditentukan sebelumnya untuk setiap checkpoint. Aktifkan langsung atau sesuaikan agar sesuai dengan kebutuhan Anda.

Templat dikelompokkan berdasarkan cakupannya:

Aturan penamaan dan struktur (diterapkan pada checkpoint validasi header dan bidang)

  • Nama tabel tidak boleh mengandung kata kunci tertentu

  • Panjang nama tabel dibatasi

  • Tabel baru harus memiliki deskripsi

  • Tabel baru harus menggunakan nama huruf kecil

  • Tabel baru harus memiliki primary key

  • Tabel baru harus memiliki unique key

  • Tabel baru harus memiliki bidang tertentu

  • Nama bidang tidak boleh mengandung kata kunci tertentu

  • Bidang baru harus memiliki deskripsi

  • Nama bidang harus menggunakan huruf besar atau kecil

Batasan bidang (diterapkan pada checkpoint validasi bidang)

  • Bidang non-null yang ditambahkan ke tabel yang sudah ada harus memiliki nilai default

  • Bidang yang sudah ada dan diubah dari nullable menjadi non-null harus memiliki nilai default

  • Bidang primary key harus bertipe INTEGER

  • Semua bidang dalam tabel baru harus diberi nilai

  • Panjang bidang CHAR dibatasi

  • Panjang bidang VARCHAR dibatasi

Aturan indeks (diterapkan pada checkpoint validasi indeks)

  • Nama indeks tidak boleh mengandung kata kunci tertentu

  • Nama indeks harus menggunakan huruf besar atau kecil

  • Indeks baru harus berupa unique index

  • Indeks baru harus berupa normal index

  • Indeks baru harus bertipe FULLTEXT

  • Indeks baru harus bertipe SPATIAL

  • Jumlah bidang primary key dibatasi

  • Jumlah bidang dalam indeks dibatasi

  • Jumlah indeks per tabel dibatasi; peringatan dikirim saat ambang batas tercapai

Risk identification rules (diterapkan pada checkpoint kontrol risiko)

  • Jumlah shard tabel dalam tabel logis dibatasi

  • Jumlah primary key per tabel dibatasi

  • Jumlah indeks per tabel dibatasi

  • Bidang tertentu tidak boleh dihapus

  • Tipe data bidang untuk bidang baru dibatasi

  • Bidang tidak boleh diganti namanya menjadi nama tertentu

  • Bidang tidak boleh diubah menjadi tipe data tertentu

  • Primary key tidak boleh dihapus

  • Indeks tidak boleh dihapus

  • Primary key tidak boleh diubah menjadi indeks biasa

  • Kolom primary key tidak boleh mengandung bidang tertentu

  • Indeks normal tidak boleh diubah

  • Tipe indeks baru dibatasi

  • Instans tidak boleh merupakan core instance

  • Tabel tidak boleh menggunakan mesin penyimpanan tertentu

  • Tabel dikunci ketika ukurannya melebihi batas yang ditentukan

Aturan routing persetujuan (diterapkan pada checkpoint Approval Rule Validation)

  • Perubahan DDL pada skema database diblokir

  • Perubahan DDL pada skema database produksi diblokir

  • Perubahan DDL di lingkungan pengujian tidak memerlukan persetujuan

  • Proses persetujuan berbeda diterapkan untuk tingkat risiko berbeda di lingkungan produksi

Item konfigurasi lainnya

Item KonfigurasiDeskripsi
Field type configurationTipe data yang didukung untuk bidang yang baru ditambahkan.
Index type configurationTipe data yang didukung untuk indeks yang baru ditambahkan.
Table creation templateTemplat yang telah memuat sebelumnya bidang dan indeks yang telah dikonfigurasi saat membuat tabel. Opsional—gunakan hanya jika tim Anda memerlukan struktur tabel standar.
Table character setsSet karakter yang tersedia saat membuat tabel, seperti utf8 dan utf8mb4.
Prohibit modifying the original field data typeMencegah perubahan tipe data bidang yang sudah ada saat memodifikasi tabel.
Prohibit deleting original fieldsMencegah penghapusan bidang yang sudah ada saat memodifikasi tabel. Menghapus bidang berisiko tinggi—aktifkan pengaturan ini kecuali Anda memiliki alasan khusus untuk tidak melakukannya.
Prohibit renaming original fieldsMencegah penggantian nama bidang yang sudah ada saat memodifikasi tabel. Mengganti nama bidang berisiko tinggi—aktifkan pengaturan ini kecuali Anda memiliki alasan khusus untuk tidak melakukannya.
Enable non-peer publishingSecara default, perubahan pada suatu tabel hanya dapat dipublikasikan ke tabel dengan nama yang sama di database lain. Aktifkan opsi ini untuk mempublikasikan perubahan ke tabel apa pun.
Peringatan

Penerbitan non-peer membawa risiko tinggi. Aktifkan hanya untuk kebutuhan khusus.

Ubah templat persetujuan default

  1. Masuk ke Konsol DMS V5.0.

  2. Arahkan pointer ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and Specifications (DBS) > Security Rules.

    Dalam mode normal, pilih Security and Specifications (DBS) > Security Rules di bilah navigasi atas.
  3. Arahkan pointer ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.

  4. Arahkan pointer ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and disaster recovery (DBS) > Security Rules.

    Catatan

    Jika Anda menggunakan Konsol DMS dalam mode normal, pilih Security and disaster recovery (DBS) > Security Rules di bilah navigasi atas.

  5. Temukan set aturan keamanan yang akan diubah dan klik Edit di kolom Actions.

  6. Di panel navigasi kiri halaman Details, klik tab Schema Design.

  7. Klik Basic Configuration Items.

  8. Temukan Default approval template for schema design dan klik Edit di kolom Actions.

  9. Pada kotak dialog Change Configuration Item, klik Switch Approval Template.

  10. Temukan templat yang akan diterapkan dan klik Select di kolom Actions.

    Untuk melewati persetujuan tiket, klik Reset to Free of Approval.
  11. Klik Submit.

Buat aturan keamanan

  1. Masuk ke Konsol DMS V5.0.

  2. Arahkan pointer ke ikon 2023-01-28_15-57-17.png di pojok kiri atas dan pilih All Features > Security and Specifications (DBS) > Security Rules.

    Dalam mode normal, pilih Security and Specifications (DBS) > Security Rules di bilah navigasi atas.
  3. Temukan set aturan keamanan yang akan diubah dan klik Edit di kolom Actions.

  4. Di panel navigasi kiri halaman Details, klik tab Schema Design.

  5. Klik Create Rule di samping Actions.

  6. Pada kotak dialog Create Rule - Schema Design, atur parameter berikut:

    ParameterWajibDeskripsi
    CheckpointsYaCheckpoint untuk aturan ini. Lihat Checkpoint.
    Template databaseTidakTemplat bawaan sebagai dasar aturan. Setelah memilih checkpoint, klik Load from Template Database untuk menelusuri templat yang tersedia. Lihat Templat aturan keamanan.
    Rule nameYaNama kustom untuk aturan. Diisi otomatis saat memuat dari templat.
    Rule DSLYaPernyataan DSL yang menentukan logika aturan. Diisi otomatis saat memuat dari templat.
  7. Klik Submit.

  8. Temukan aturan yang baru dibuat (secara default berstatus Disabled) dan klik Enable di kolom Actions.

  9. Pada pesan konfirmasi, klik OK.