全部产品
Search
文档中心

AnalyticDB:Diagnostik penyimpanan

更新时间:Nov 10, 2025

Jika terjadi masalah pada tabel—seperti kesenjangan data, bidang partisi yang tidak wajar, atau indeks berlebihan—Anda dapat melakukan diagnostik terhadap kewajaran bidang partisi, bidang distribusi, dan tabel replikasi melalui halaman Storage Diagnostics di Konsol AnalyticDB for MySQL. Anda juga dapat mengoptimalkan skema berdasarkan saran optimasi data panas dan dingin serta saran optimasi indeks untuk mengurangi biaya dan meningkatkan efisiensi.

Catatan penggunaan

  • Fitur diagnostik indeks dan optimasi data panas dan dingin hanya didukung oleh kluster AnalyticDB for MySQL versi V3.1.4 atau lebih baru.

  • Saran optimasi data panas dan dingin serta saran optimasi indeks diperoleh dari analisis data historis dan karakteristik kueri. Jika data dan karakteristik kueri stabil, saran tersebut tetap valid. Namun, jika data dan karakteristik kueri berubah secara signifikan, saran tersebut mungkin kurang relevan sebagai referensi. Disarankan agar Anda menentukan penerapan saran tersebut berdasarkan karakteristik bisnis Anda.

Diagnostik tabel

Diagnostik kemiringan tabel

Saat membuat tabel, Anda dapat menggunakan klausa DISTRIBUTED BY HASH untuk menentukan kunci distribusi. AnalyticDB for MySQL kemudian menghitung nilai hash untuk kunci distribusi dan mendistribusikan baris data ke berbagai shard berdasarkan nilai hash tersebut. Jika data tidak merata di seluruh node penyimpanan, terjadi kemiringan ruang disk yang dapat menyebabkan disk terkunci lebih awal dan memengaruhi penulisan data.

Kriteria diagnostik

AnalyticDB for MySQL melakukan diagnostik kemiringan tabel pada tabel yang berisi lebih dari 10.000 baris. Kesenjangan data dihitung sebagai berikut:

  1. Hapus shard dengan ukuran terbesar dan hitung ukuran rata-rata shard yang tersisa.

  2. Jika ukuran sebuah shard lebih besar dari ukuran rata-rata shard × ambang batas atau lebih kecil dari ukuran rata-rata shard / ambang batas, tabel tersebut dianggap miring. Nilai default ambang batas adalah 3, dengan rentang [0, 10000000000]. Anda dapat mengubah ambang batas dengan menjalankan pernyataan SET ADB_CONFIG RC_DATA_SKEW_THRESHOLD=Nilai;.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Klik tab Table Diagnostics untuk melihat detail Table Skew Diagnostics .

    Storage Node Disk Usage

    Anda dapat melihat penggunaan disk setiap node penyimpanan dalam grafik untuk menentukan apakah terdapat kemiringan ruang disk. Jika terdapat kemiringan ruang disk, gunakan informasi dalam daftar Top 10 Skewed Tables untuk mengoptimalkan tabel yang miring. Jika tidak terdapat kemiringan ruang disk tetapi daftar Top 10 Skewed Tables berisi tabel miring, Anda tetap harus mengoptimalkan tabel-tabel tersebut untuk mencegah dampak negatif terhadap kinerja kueri kluster.

    Top 10 Skewed Tables

    Bagian ini menampilkan tabel miring, diurutkan secara menurun berdasarkan ukuran total data. Anda dapat mengklik View Skew Details di kolom Actions untuk melihat jumlah baris pada setiap shard dan menentukan tingkat kemiringan tabel tersebut.

Metode optimasi

Anda dapat menggunakan salah satu metode berikut untuk menyelesaikan masalah:

Optimasi tabel panas dan dingin

AnalyticDB for MySQL menganalisis frekuensi akses tabel untuk mengidentifikasi tabel yang jarang digunakan dan memberikan saran optimasi. Anda dapat menggunakan saran ini untuk memodifikasi kebijakan penyimpanan data panas dan dingin tabel tersebut. Untuk informasi selengkapnya tentang penyimpanan bertingkat data panas dan dingin, lihat Tiered storage of hot and cold data.

Kriteria diagnostik

AnalyticDB for MySQL memberikan saran optimasi untuk tabel panas yang tidak diakses dalam 15 hari terakhir dan memiliki laju akses kurang dari 1%.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Pada tab Table Diagnostics , klik Hot and Cold Table Optimization .

  4. Pada tab Available Optimization Suggestions, klik Enable di pojok kanan atas untuk mengaktifkan fitur optimasi tabel panas dan dingin. Jika fitur ini sudah diaktifkan untuk kluster saat ini, Anda dapat melewati langkah ini.

  5. Anda dapat mengklik Available Optimization Suggestions dan Applied Optimization Suggestions untuk melihat saran yang tersedia dan yang telah diterapkan.

    Parameter

    Deskripsi

    Suggestion ID

    ID saran optimasi.

    SQL

    Tabel dan definisi terkait yang perlu diubah sesuai saran optimasi.

    Optimization Type

    Optimasi tabel panas dan dingin.

    Optimization Suggestion

    Saran optimasi spesifik yang diberikan untuk jenis optimasi tersebut.

    Expected Optimization Benefits

    Manfaat yang diharapkan setelah saran optimasi diterapkan.

    Catatan

    Manfaat optimasi yang diharapkan merupakan nilai perkiraan yang diukur berdasarkan data historis dan hanya untuk referensi.

    Operation guide

    Anda dapat mengklik Apply untuk menerapkan saran optimasi pada suatu tabel.

    Catatan
    • Setelah Anda mengklik Apply, AnalyticDB for MySQL langsung mengubah kebijakan penyimpanan tabel menjadi COLD. Jika Anda ingin mengubah kebijakan penyimpanan menjadi MIXED atau HOT, jalankan pernyataan ALTER untuk memodifikasi kebijakan penyimpanan secara manual. Untuk informasi selengkapnya, lihat Storage policies.

    • Jika Anda setuju untuk menerapkan saran optimasi, klik Apply. Setelah Anda mengklik Apply untuk suatu tabel, pernyataan ALTER dijalankan pada kluster dan saran tersebut ditampilkan pada tab Applied Optimization Suggestions.

    • Operasi Apply memiliki efek yang sama dengan menjalankan pernyataan ALTER pada klien. Operasi ini tidak dapat dibatalkan. Lakukan dengan hati-hati.

    • Penerapan saran optimasi beserta eksekusi pernyataan SQL-nya hanya dapat diselesaikan setelah operasi BUILD yang dipicu secara otomatis pada tabel selesai. Sebelum operasi BUILD dipicu, saran berada dalam status Running. Setelah operasi BUILD dipicu, status saran berubah menjadi Completed.

Diagnostik tabel replikasi

Di AnalyticDB for MySQL, Anda dapat membuat tabel replikasi menggunakan klausa DISTRIBUTED BY BROADCAST. Tabel replikasi menyimpan salinan identik datanya di setiap shard. Jika beban kerja kueri Anda melibatkan join yang sering dan berkonkurensi tinggi antara tabel besar dan tabel kecil (misalnya, menggabungkan tabel besar A dengan tabel kecil B), Anda dapat menjadikan tabel kecil tersebut sebagai tabel replikasi. Hal ini mengurangi transfer data untuk tabel kecil di jaringan internal kluster dan meningkatkan kinerja konkurensi. Namun, tabel replikasi memiliki kinerja penulisan yang buruk dan mengonsumsi banyak ruang penyimpanan, yang dapat memengaruhi kinerja penulisan keseluruhan kluster AnalyticDB for MySQL.

Kriteria diagnostik

Jika tabel replikasi berisi lebih dari 20.000 catatan, tabel tersebut dianggap tidak wajar.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Pada tab Table Diagnostics , klik Replicated Table Diagnostics .

Metode optimasi

Anda perlu membuat tabel standar dan memigrasikan data. Untuk informasi selengkapnya, lihat CREATE TABLE.

Diagnostik partisi

Diagnostik tabel partisi

Jika Anda membuat tabel partisi yang berisi bidang partisi tidak wajar, masalah berikut dapat terjadi:

  • Jika suatu partisi berisi banyak data dan pekerjaan BUILD dijalankan pada partisi tersebut, pekerjaan tersebut mungkin memerlukan waktu lama untuk diselesaikan dan mengonsumsi sumber daya CPU serta I/O disk node penyimpanan secara signifikan. Misalnya, sebuah tabel dipartisi berdasarkan tahun dan setiap partisi berisi banyak data. Dalam kasus ini, stabilitas kluster terpengaruh.

  • Jika suatu partisi berisi sedikit data, kluster mungkin menyimpan informasi banyak partisi dalam cache dan mengonsumsi sumber daya memori secara signifikan. Misalnya, sebuah tabel dipartisi berdasarkan jam dan setiap partisi berisi sedikit data. Dalam kasus ini, banyak partisi dipindai dan kinerja kueri terpengaruh.

Kriteria ukuran partisi yang wajar

Ukuran partisi mengacu pada jumlah baris dalam partisi suatu tabel 1, yang sebanding dengan jumlah shard 2. Untuk tabel yang memiliki N shard, ukuran partisi dianggap wajar jika jumlah baris dalam partisi berada dalam rentang 1.000.000 × N hingga 5.000.000 × N.

Misalnya, jika jumlah shard dalam suatu tabel adalah 64 dan jumlah baris dalam partisi berada dalam rentang 64 juta hingga 320 juta, ukuran partisi tersebut wajar.

Catatan
  • 1Untuk mengkueri jumlah baris dalam suatu partisi: SELECT partition_id, row_count FROM information_schema.kepler_partitions WHERE schema_name = '$DB' AND table_name ='$TABLE' AND partition_id > 0;

  • 2Kueri jumlah shard: SELECT COUNT(1) FROM information_schema.kepler_meta_shards;

Diagnostik kewajaran bidang partisi

Kriteria diagnostik

Jika 10% atau lebih partisi dalam suatu tabel memiliki ukuran tidak wajar, bidang partisi tabel tersebut dianggap tidak wajar.

Misalnya, jika suatu tabel memiliki 100 partisi dan 10 partisi atau lebih memiliki ukuran tidak wajar, bidang partisi tabel tersebut tidak wajar.

Prosedur
  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Klik tab Partition Diagnostics untuk melihat tabel yang memiliki partisi tidak wajar dan nama partisi tersebut di area Partitioned Table Diagnostics.

Menyesuaikan ukuran partisi ke rentang yang wajar

Jika partisi tidak wajar terdeteksi dalam diagnostik tabel partisi, gunakan metode berikut untuk menyesuaikan pengaturan partisi:

  • Jika jumlah baris dalam partisi suatu tabel tidak mencapai batas bawah rentang wajar, ukuran partisi dianggap terlalu kecil. Kami menyarankan agar Anda meningkatkan granularitas partisi. Misalnya, jika jumlah shard adalah 64, rentang wajar jumlah baris partisi adalah 64 juta hingga 320 juta. Jika jumlah baris partisi kurang dari 64 juta, ukuran partisi terlalu kecil. Kami menyarankan agar Anda mengubah granularitas dari harian menjadi bulanan.

  • Jika jumlah baris dalam partisi suatu tabel melebihi batas atas rentang wajar, ukuran partisi dianggap terlalu besar. Kami menyarankan agar Anda mengurangi granularitas partisi. Misalnya, jika jumlah shard adalah 64, rentang wajar jumlah baris partisi adalah 64 juta hingga 320 juta. Jika jumlah baris partisi lebih dari 320 juta, ukuran partisi terlalu besar. Kami menyarankan agar Anda mengubah granularitas dari bulanan menjadi harian.

    Untuk informasi selengkapnya tentang cara mengubah granularitas partisi, lihat Change partition function format.

  • Jika jumlah total baris dalam tabel partisi tidak mencapai dan tidak diharapkan mencapai batas bawah rentang wajar, Anda dapat membuat tabel non-partisi dan memigrasikan data dari tabel partisi ke tabel non-partisi.

Diagnostik tabel non-partisi

Jika Anda tidak menentukan klausa PARTITION BY saat membuat tabel, tabel tersebut adalah tabel non-partisi. Saat Anda melakukan operasi DML (INSERT, UPDATE, dan DELETE) pada tabel non-partisi, Build seluruh tabel dapat dengan mudah dipicu. Jika tabel non-partisi berisi banyak data, proses Build mengonsumsi banyak ruang sementara, yang meningkatkan penggunaan disk node dan dapat menyebabkan disk terkunci. Selain itu, Build pada tabel besar mengonsumsi sumber daya I/O disk dan CPU secara signifikan, sehingga mengurangi kinerja keseluruhan kluster.

Kriteria diagnostik

Jika tabel non-partisi berisi lebih dari satu miliar baris data, tabel tersebut dianggap tidak wajar.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Klik tab Partition Diagnostics untuk melihat informasi Non-partitioned Table Diagnostics .

Metode optimasi

Anda dapat membuat tabel partisi dan memigrasikan data dari tabel non-partisi yang tidak wajar ke tabel partisi tersebut. Untuk informasi selengkapnya, lihat CREATE TABLE.

Diagnostik indeks

AnalyticDB for MySQL menganalisis penggunaan indeks data dan secara otomatis memberikan saran optimasi untuk indeks data yang tidak digunakan dalam periode waktu yang lama. Anda dapat menghapus indeks yang tidak aktif berdasarkan saran optimasi untuk mengurangi biaya penyimpanan indeks data.

Diagnostik indeks tidak aktif

Kriteria diagnostik

Indeks data yang tidak digunakan dalam 15 hari terakhir dan memiliki laju penggunaan kurang dari 1% dianggap sebagai indeks tidak aktif.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Klik tab Index Diagnostics dan lihat detail Idle Index Optimization tersebut.

  4. Pada tab Available Optimization Suggestions, klik Enable di pojok kanan atas untuk mengaktifkan fitur diagnostik indeks. Jika fitur diagnostik indeks sudah diaktifkan untuk instans saat ini, Anda dapat melewati langkah ini.

  5. Klik Available Optimization Suggestions dan Applied Optimization Suggestions untuk melihat saran optimasi yang tersedia dan yang telah diterapkan.

    Parameter

    Deskripsi

    Suggestion ID

    ID saran optimasi.

    SQL

    Tabel dan definisi terkait yang perlu diubah sesuai saran optimasi.

    Optimization Type

    Optimasi indeks.

    Optimization suggestion

    Saran optimasi spesifik yang diberikan untuk jenis optimasi tersebut.

    Expected Optimization Benefits

    Manfaat yang diharapkan setelah saran optimasi diterapkan.

    Catatan

    Manfaat optimasi yang diharapkan merupakan nilai perkiraan yang diukur berdasarkan data historis dan hanya untuk referensi.

    Actions

    Anda dapat mengklik Apply untuk menerapkan saran optimasi pada suatu tabel.

    Catatan
    • Setelah indeks data dihapus, waktu yang diperlukan untuk memfilter tabel menggunakan data yang dirujuk dalam indeks tersebut menjadi lebih lama.

    • Jika Anda setuju untuk menerapkan saran optimasi, klik Apply. Setelah Anda mengklik Apply untuk suatu tabel, pernyataan ALTER dijalankan pada kluster dan saran tersebut ditampilkan pada tab Applied Optimization Suggestions.

    • Operasi Apply memiliki efek yang sama dengan menjalankan pernyataan ALTER pada klien. Operasi ini tidak dapat dibatalkan. Lakukan dengan hati-hati.

    • Penerapan saran optimasi beserta eksekusi pernyataan SQL-nya hanya dapat diselesaikan setelah operasi BUILD yang dipicu secara otomatis pada tabel selesai. Sebelum operasi BUILD dipicu, saran berada dalam status Running. Setelah operasi BUILD dipicu, status saran berubah menjadi Completed.

Diagnostik kunci utama

Kriteria diagnostik

Jika suatu tabel memiliki lebih dari tiga bidang kunci utama dan jumlah bidang kunci utama mencapai separuh dari jumlah bidang dalam tabel tersebut, kunci utama tabel tersebut dianggap berlebihan.

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Storage Analysis > Storage Diagnostics.

  3. Klik tab Index Diagnostics , dan lihat detail Primary Key Diagnostics .

  4. Pada tab Available Optimization Suggestions, klik Enable di pojok kanan atas untuk mengaktifkan fitur diagnostik indeks. Jika fitur ini sudah diaktifkan untuk kluster saat ini, Anda dapat melewati langkah ini.

  5. Klik tab Available Optimization Suggestions dan Applied Optimization Suggestions untuk melihat saran masing-masing.

    Parameter

    Deskripsi

    Suggestion ID

    ID saran optimasi.

    SQL

    Tabel dan definisi terkait yang perlu diubah sesuai saran optimasi.

    Optimization Type

    Optimasi indeks.

    Optimization suggestion

    Saran optimasi spesifik yang diberikan untuk jenis optimasi tersebut.

    Expected Optimization Benefits

    Manfaat yang diharapkan setelah saran optimasi diterapkan.

    Catatan

    Manfaat optimasi yang diharapkan merupakan nilai perkiraan yang diukur berdasarkan data historis dan hanya untuk referensi.

    Actions

    Anda dapat mengklik Apply untuk menerapkan saran optimasi pada suatu tabel.

    Catatan
    • Setelah indeks data dihapus, waktu yang diperlukan untuk memfilter tabel menggunakan data yang dirujuk dalam indeks tersebut menjadi lebih lama.

    • Jika Anda setuju untuk menerapkan saran optimasi, klik Apply. Setelah Anda mengklik Apply untuk suatu tabel, pernyataan ALTER dijalankan pada kluster dan saran tersebut ditampilkan pada tab Applied Optimization Suggestions.

    • Operasi Apply memiliki efek yang sama dengan menjalankan pernyataan ALTER pada klien. Operasi ini tidak dapat dibatalkan. Lakukan dengan hati-hati.

    • Penerapan saran optimasi beserta eksekusi pernyataan SQL-nya hanya dapat diselesaikan setelah operasi BUILD yang dipicu secara otomatis pada tabel selesai. Sebelum operasi BUILD dipicu, saran berada dalam status Running. Setelah operasi BUILD dipicu, status saran berubah menjadi Completed.

FAQ

Operasi terkait

API

Deskripsi

DescribeExcessivePrimaryKeys

Mengkueri informasi tentang tabel yang memiliki bidang kunci utama berlebihan di kluster Enterprise Edition, Basic Edition, dan Data Lakehouse Edition AnalyticDB for MySQL.

DescribeTablePartitionDiagnose

Mengkueri informasi tentang diagnostik partisi untuk kluster Data Warehouse Edition AnalyticDB for MySQL.