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:
Hapus shard dengan ukuran terbesar dan hitung ukuran rata-rata shard yang tersisa.
Jika ukuran sebuah shard lebih besar dari
ukuran rata-rata shard × ambang batasatau lebih kecil dariukuran 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 pernyataanSET ADB_CONFIG RC_DATA_SKEW_THRESHOLD=Nilai;.
Prosedur
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.
Di panel navigasi sebelah kiri, klik .
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:
Tingkatkan kapasitas penyimpanan.
Untuk kluster Enterprise Edition, tingkatkan sumber daya yang dipesan. Untuk informasi selengkapnya, lihat Scale an Enterprise Edition cluster.
Untuk kluster Basic Edition, tingkatkan sumber daya komputasi. Untuk informasi selengkapnya, lihat Scale a Basic Edition cluster.
Untuk kluster Data Lakehouse Edition, tingkatkan sumber daya penyimpanan yang dipesan. Untuk informasi selengkapnya, lihat Scaling a Data Lakehouse Edition cluster.
Untuk kluster Data Warehouse Edition (Elastic Mode), perluas sumber daya I/O elastis. Untuk informasi selengkapnya, lihat Scale a Data Warehouse Edition (Elastic Mode) cluster.
Untuk kluster Data Warehouse Edition (Reserved Mode), tingkatkan grup node. Untuk informasi selengkapnya, lihat Scale up a Data Warehouse Edition (Reserved Mode) cluster.
Hapus indeks atau partisi yang tidak aktif untuk mengurangi penggunaan ruang penyimpanan. Untuk informasi selengkapnya, lihat Index diagnostics.
Buat ulang tabel dan migrasikan data. Untuk informasi selengkapnya, lihat CREATE TABLE.
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
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.
Di panel navigasi sebelah kiri, klik .
Pada tab Table Diagnostics , klik Hot and Cold Table Optimization .
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.
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.
CatatanManfaat 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.
CatatanSetelah 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
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.
Di panel navigasi sebelah kiri, klik .
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.
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
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.
Di panel navigasi sebelah kiri, klik .
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
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.
Di panel navigasi sebelah kiri, klik .
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
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.
Di panel navigasi sebelah kiri, klik .
Klik tab Index Diagnostics dan lihat detail Idle Index Optimization tersebut.
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.
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.
CatatanManfaat 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.
CatatanSetelah 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
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.
Di panel navigasi sebelah kiri, klik .
Klik tab Index Diagnostics , dan lihat detail Primary Key Diagnostics .
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.
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.
CatatanManfaat 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.
CatatanSetelah 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 |
Mengkueri informasi tentang tabel yang memiliki bidang kunci utama berlebihan di kluster Enterprise Edition, Basic Edition, dan Data Lakehouse Edition AnalyticDB for MySQL. | |
Mengkueri informasi tentang diagnostik partisi untuk kluster Data Warehouse Edition AnalyticDB for MySQL. |