Fitur SQL Explorer dari PolarDB for MySQL telah ditingkatkan menjadi SQL Explorer and Audit, yang disediakan oleh Database Autonomy Service (DAS). Fitur Search (Audit) mengumpulkan detail semua pernyataan SQL, memungkinkan Anda melakukan kueri dan mengekspor pernyataan tersebut beserta informasi terkaitnya—seperti database, pengguna, atau alamat IP klien yang mengeksekusinya. Sementara itu, fitur SQL Explorer mendiagnosis kesehatan pernyataan SQL, melakukan troubleshooting masalah performa, serta menganalisis lalu lintas layanan, sehingga meningkatkan efisiensi diagnosis kesalahan, optimasi database, dan deteksi ancaman.
Fitur
Database Autonomy Service (DAS) mengintegrasikan berbagai fitur seperti Search, SQL Explorer, Security Audit, Traffic Playback, dan Stress Testing melalui pengumpulan permintaan lengkap dan auditing keamanan. Integrasi ini membantu Anda memperoleh informasi spesifik tentang pernyataan SQL, melakukan troubleshooting masalah performa, mengidentifikasi sumber ancaman kritis, serta memverifikasi kebutuhan scale out kluster untuk menangani puncak lalu lintas layanan.
Search: Melakukan kueri dan mengekspor pernyataan SQL beserta informasi terkaitnya, seperti database, status, dan waktu eksekusi. Untuk informasi selengkapnya, lihat Audit.
SQL Explorer: Membantu Anda mendiagnosis kesehatan pernyataan SQL, melakukan troubleshooting masalah performa, serta menganalisis lalu lintas layanan. Untuk informasi selengkapnya, lihat SQL Explorer.
SQL Review: Menyediakan analisis muatan SQL global untuk membantu Anda dengan cepat mengidentifikasi dan menganalisis pernyataan SQL mencurigakan pada instans database serta mendapatkan rekomendasi optimasi. Untuk informasi selengkapnya, lihat SQL Review.
Traffic Playback and Stress Testing: Menyediakan kemampuan traffic playback dan stress testing untuk membantu Anda memvalidasi kebutuhan scale out spesifikasi instans guna menangani puncak lalu lintas layanan. Untuk informasi selengkapnya, lihat Traffic Playback and Stress Testing.
Security Audit: Secara otomatis mendeteksi ancaman seperti operasi berisiko tinggi, SQL injection, dan sumber akses baru. Untuk informasi selengkapnya, lihat Security audit.
Transaction Analysis: Memungkinkan Anda mengambil jenis transaksi, jumlah transaksi, dan detail transaksi untuk suatu thread dalam periode waktu tertentu, sehingga membantu Anda memahami, menganalisis, dan mengoptimalkan performa database pada tingkat transaksi. Untuk informasi selengkapnya, lihat Transaction Analysis.
Quick Transaction Analysis: Memungkinkan Anda menemukan pernyataan awal dan akhir dari suatu transaksi yang berisi pernyataan SQL tertentu, sehingga membantu menentukan apakah transaksi tersebut telah dikomit atau di-rollback. Untuk informasi selengkapnya, lihat Quick transaction analysis.
Wilayah yang didukung
Anda hanya dapat menggunakan fitur Penjelajah SQL dan Audit setelah mengaktifkan DAS Edisi Perusahaan. Wilayah yang didukung bervariasi berdasarkan versi Edisi Perusahaan. Untuk informasi selengkapnya, lihat Database dan wilayah yang didukung oleh setiap edisi.
Dampak
Fitur SQL Explorer mencatat informasi tentang semua pernyataan DQL, DML, dan DDL yang dieksekusi. DAS memperoleh informasi tersebut dari kernel database, yang hanya mengonsumsi sejumlah kecil resource CPU.
Catatan
Jika Anda adalah Pengguna RAM, Anda harus memberikan izin AliyunPolardbReadOnlyWithSQLLogArchiveAccess kepada Pengguna RAM tersebut untuk menggunakan fitur Search. Untuk informasi selengkapnya tentang cara memberikan izin kepada Pengguna RAM, lihat Buat dan kelola Pengguna RAM.
Anda juga dapat menggunakan kebijakan kustom untuk memberikan izin kepada Pengguna RAM agar dapat menggunakan fitur Search, termasuk fitur ekspor. Untuk informasi selengkapnya, lihat Gunakan kebijakan kustom untuk mengotorisasi Pengguna RAM menggunakan fitur Search SQL Explorer and Audit.
Biaya
Enterprise Edition V0
Fitur SQL Explorer hanya mendukung metode penagihan pay-as-you-go. Metode penagihan subscription tidak didukung. Biaya untuk fitur ini ditagih sebagai bagian dari layanan cloud-native database PolarDB.
Harga
Wilayah di Tiongkok daratan: USD 0,0013/GB/jam.
Hong Kong (Tiongkok) dan wilayah lain di luar Tiongkok: USD 0,0019/GB/jam.
Enterprise Edition V1 dan versi selanjutnya
Biaya untuk fitur SQL Explorer ditagih sebagai bagian dari DAS. Untuk informasi selengkapnya, lihat Penagihan produk Database Autonomy Service (DAS).
Aktifkan SQL Explorer and Audit
Masuk ke PolarDB console. Di panel navigasi sebelah kiri, klik Clusters. Pilih wilayah tempat kluster Anda berada, lalu klik ID kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah kiri, pilih .
Klik Enable SQL Explorer.
CatatanJika DAS Enterprise Edition belum diaktifkan untuk Akun Alibaba Cloud Anda, ikuti petunjuk di layar untuk mengaktifkannya.
Pada halaman yang muncul, klik tab untuk melihat informasi terkait.
Search (Audit): Melakukan kueri dan mengekspor pernyataan SQL beserta informasi terkaitnya, seperti database, status, dan waktu eksekusi.
SQL Explorer:
Display by Time Range: Pilih rentang waktu untuk melihat hasil SQL Explorer. Anda dapat melihat Execution Duration Distribution, Execution Duration, dan Executions dari semua pernyataan SQL dalam rentang waktu yang dipilih. Anda juga dapat melihat informasi detail semua pernyataan SQL di area Full Request Statistics dan mengekspornya ke komputer Anda.
CatatanAnda dapat mengekspor maksimal 1.000 log SQL. Untuk mengambil log dari rentang waktu yang lebih luas atau dalam jumlah yang lebih besar, gunakan fitur Search (Audit).
Setelah Anda mengaktifkan SQL Explorer dan menunggu selama 30 menit, Anda dapat melihat log Audit.
Display by Comparison: Pilih titik waktu untuk membandingkan hasil SQL Explorer. Anda dapat melihat hasil perbandingan semua pernyataan SQL untuk Execution Duration Distribution, Execution Duration, dan Executions. Anda juga dapat melihat hasil perbandingan detail di area Requests by Comparison.
Source Statistics: Pilih rentang waktu untuk statistik sumber SQL guna melihat informasi sumber semua pernyataan SQL dalam rentang waktu yang dipilih.
SQL Review: Menganalisis beban kerja kluster database untuk rentang waktu yang dipilih dan rentang waktu garis dasar. Fitur ini melakukan analisis mendalam terhadap pernyataan SQL yang dijalankan pada kluster database dan memberikan rekomendasi optimasi indeks, saran penulisan ulang SQL, Top SQL, New SQL, Failed SQL, analisis fitur SQL, SQL dengan perubahan rencana eksekusi, SQL dengan degradasi performa, serta tabel dengan trafik tertinggi.
Related SQL Identification: Pilih metrik untuk dilihat lalu klik tombol Analysis. Setelah 1 hingga 5 menit, Anda dapat mengidentifikasi pernyataan SQL dan detailnya yang paling sesuai dengan tren perubahan metrik yang dipilih dalam rentang waktu tertentu.
Traffic Playback and Stress Testing: Jika Anda menghadapi puncak bisnis jangka pendek yang akan datang atau evolusi skema database (terutama perubahan indeks), Anda dapat menggunakan fitur ini untuk memastikan apakah spesifikasi kluster database perlu di-scale out. Hal ini membantu memvalidasi performa aktual dalam skenario bisnis nyata dan mengurangi risiko kegagalan setelah layanan dipublikasikan.
Security Audit: Secara otomatis mendeteksi ancaman seperti operasi berisiko tinggi, SQL injection, dan sumber akses baru.
Transaction Analysis: Menganalisis detail transaksi untuk thread dan rentang waktu yang dipilih berdasarkan data penyimpanan panas dari DAS Enterprise Edition V3. Fitur ini melakukan analisis statistik dan menggambar grafik tren jumlah berbagai jenis transaksi.
Deskripsi parameter
Execution Duration Distribution: Pada tab Execution Duration Distribution, Anda dapat melihat distribusi durasi eksekusi kueri SQL berdasarkan rentang waktu yang Anda tentukan. Data statistik dikumpulkan setiap menit. Durasi eksekusi dibagi menjadi tujuh rentang:
[0,1] ms: menunjukkan bahwa durasi eksekusi berkisar antara 0 ms hingga 1 ms. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.(1,2] ms: menunjukkan bahwa durasi eksekusi lebih besar dari 1 ms dan kurang dari atau sama dengan 2 ms. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.(2,3] ms: menunjukkan bahwa durasi eksekusi lebih besar dari 2 ms dan kurang dari atau sama dengan 3 ms. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.(3,10] ms: menunjukkan bahwa durasi eksekusi lebih besar dari 3 ms dan kurang dari atau sama dengan 10 ms. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.(10,100] ms: menunjukkan bahwa durasi eksekusi lebih besar dari 10 ms dan kurang dari atau sama dengan 100 ms. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.(0,1;1] detik: menunjukkan bahwa durasi eksekusi lebih besar dari 0,1 detik dan kurang dari atau sama dengan 1 detik. Grafik menunjukkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.> 1s: menunjukkan bahwa durasi eksekusi lebih besar dari 1s. Grafik menampilkan persentase kueri SQL yang durasi eksekusinya berada dalam rentang ini.
CatatanBagian pada tab Execution Duration Distribution menunjukkan waktu eksekusi pernyataan SQL pada instans seiring waktu. Semakin besar area biru pada grafik, semakin sehat instans saat pernyataan SQL dieksekusi. Sebaliknya, semakin besar area oranye dan merah, semakin tidak sehat instans tersebut.
Execution Duration: Pada tab Execution Duration, Anda dapat menentukan rentang waktu untuk melihat durasi eksekusi kueri SQL.
Full Request Statistics: Anda dapat melihat detail pernyataan SQL berdasarkan rentang waktu yang Anda tentukan. Detail tersebut mencakup teks SQL, persentase durasi eksekusi, rata-rata durasi eksekusi, dan tren eksekusi untuk setiap pernyataan SQL.
CatatanAnda dapat menghitung persentase durasi eksekusi untuk pernyataan SQL yang menggunakan templat SQL tertentu berdasarkan rumus berikut: Persentase durasi eksekusi = (Durasi eksekusi pernyataan SQL yang menggunakan templat SQL × Jumlah eksekusi pernyataan SQL) / (Total durasi eksekusi semua pernyataan SQL × Total jumlah eksekusi) × 100%. Persentase durasi eksekusi yang lebih tinggi menunjukkan bahwa instans database menggunakan lebih banyak resource MySQL untuk mengeksekusi pernyataan SQL tersebut.
SQL ID: Anda dapat mengklik SQL ID untuk melihat tren performa dan data sampel pernyataan SQL yang menggunakan templat SQL yang sesuai.
SQL Sample: Pada tab SQL Sample, Anda dapat melihat klien yang memulai setiap permintaan SQL sampel.
CatatanSet karakter UTF-8 digunakan untuk meng-encode sampel SQL.
Ubah durasi penyimpanan log SQL
Jika Anda mengurangi durasi penyimpanan untuk data SQL Explorer and Audit, DAS akan segera menghapus log audit SQL yang melebihi durasi penyimpanan baru. Ekspor dan simpan log audit SQL ke komputer Anda sebelum mengurangi durasi penyimpanan.
Masuk ke PolarDB console. Di panel navigasi sebelah kiri, klik Clusters. Pilih wilayah tempat kluster Anda berada, lalu klik ID kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah kiri, pilih .
Di pojok kanan atas, klik Service Settings.
Ubah durasi penyimpanan lalu klik OK.
CatatanJika Anda telah mengaktifkan DAS Enterprise Edition V3, Anda dapat mengubah durasi penyimpanan data untuk sub-fitur yang berbeda.
Ruang penyimpanan untuk data SQL Explorer and Audit disediakan oleh DAS dan tidak menggunakan ruang penyimpanan kluster database Anda.
Nonaktifkan SQL Explorer and Audit
Saat Anda menonaktifkan fitur SQL Explorer and Audit, log audit SQL akan dihapus. Ekspor dan simpan log audit SQL ke komputer Anda sebelum menonaktifkan fitur ini. Saat Anda mengaktifkan kembali fitur tersebut, log audit SQL akan direkam mulai dari waktu pengaktifan ulang.
Masuk ke PolarDB console. Di panel navigasi sebelah kiri, klik Clusters. Pilih wilayah tempat kluster Anda berada, lalu klik ID kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah kiri, pilih .
Klik Service Settings untuk menonaktifkan SQL Explorer and Audit.
Jika Anda telah mengaktifkan DAS Enterprise Edition V3, Anda dapat memeriksa semua fitur SQL Explorer and Audit.
CatatanJika Anda mengaktifkan fitur pengumpulan log audit untuk PolarDB for MySQL menggunakan fitur CloudLens for PolarDB di Simple Log Service, fitur SQL Explorer akan secara otomatis diaktifkan untuk kluster PolarDB for MySQL tersebut. Oleh karena itu, Anda juga harus menonaktifkan fitur pengumpulan log audit untuk kluster PolarDB for MySQL tersebut. Untuk informasi selengkapnya, lihat Enable data ingestion.
Setelah fitur SQL Explorer dinonaktifkan, log audit SQL akan dihapus. Kami menyarankan agar Anda mengekspor catatan SQL sebelum menonaktifkan fitur ini. Untuk informasi tentang cara mengekspor catatan SQL, lihat Export SQL log records.
Klik OK.
Lihat ukuran dan detail konsumsi log audit
Masuk ke Konsol Manajemen Alibaba Cloud. Di pojok kanan atas halaman, pilih Expenses.
Di panel navigasi Expenses and Costs sebelah kiri, pilih . Lihat detail pengeluaran di mana kolom Billing Item diatur ke sql_explorer.
Pada tab Billing Details, klik tab Details, lalu cari berdasarkan Instance ID.Lihat detail pengeluaran di mana kolom Billing Item diatur ke sql_explorer.

Migrasi ke versi baru
Saat ini, hanya kluster database di wilayah Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), dan Tiongkok (Shenzhen) yang mendukung migrasi dari versi sebelumnya SQL Explorer and Audit ke versi baru.
Masuk ke PolarDB console. Di panel navigasi sebelah kiri, klik Clusters. Pilih wilayah tempat kluster Anda berada, lalu klik ID kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah kiri, klik Logs and Auditing > SQL Explorer.
Pada kotak dialog Upgrade SQL Explorer to "SQL Explorer and Audit" yang muncul, klik One-click Upgrade.
Migrasi data SQL Explorer and Audit antar versi Enterprise Edition yang berbeda
Enterprise Edition V2 mengubah arsitektur penyimpanan dasar dari Enterprise Edition V1 dan menggunakan penyimpanan hibrida data panas dan dingin untuk mengurangi biaya. Enterprise Edition V3 dibangun di atas penyimpanan hibrida ini dan menyediakan penagihan yang lebih fleksibel berdasarkan fitur yang Anda gunakan, yang selanjutnya mengurangi biaya.
Jika kluster database Anda mendukung Enterprise Edition V3, Anda dapat memigrasikan data dari DAS Enterprise Edition V1 atau V2 ke Enterprise Edition V3 untuk mendapatkan manfaat biaya yang lebih rendah. Untuk informasi selengkapnya, lihat Bagaimana cara memigrasikan data antar versi DAS Enterprise Edition yang berbeda?
FAQ
Dapatkah saya menggunakan paket sumber daya untuk mengimbangi biaya SQL Explorer?
Tidak. SQL Explorer adalah fitur pay-as-you-go. Fitur ini tidak mendukung metode penagihan subscription atau paket sumber daya.
Apa itu pernyataan
logout!di bagian Full Request Statistics SQL Explorer?logout!menunjukkan bahwa suatu koneksi terputus. Durasi pernyataanlogout!adalah selisih waktu antara interaksi terakhir dan terjadinya eventlogout!. Anda dapat menganggap ini sebagai durasi idle koneksi tersebut. 1158 pada kolom Status menunjukkan bahwa koneksi jaringan terputus. Kemungkinan penyebabnya meliputi:Koneksi klien timeout.
Koneksi sisi server terputus secara abnormal.
Koneksi sisi server di-reset karena durasi interactive_timeout atau wait_timeout telah terlampaui.
Mengapa sumber akses % muncul dalam statistik sumber SQL Explorer?
Hal ini dapat terjadi saat Anda menggunakan prosedur tersimpan. Contoh berikut menunjukkan bagaimana hal ini bisa terjadi:
CatatanPada contoh berikut, kluster database adalah kluster PolarDB for MySQL, akun uji coba adalah test_user, dan database uji coba adalah test_db.
Buat akun dengan izin standar dan berikan izin tersebut pada database di PolarDB console. Untuk informasi selengkapnya, lihat Buat akun dengan izin standar.
Gunakan akun uji coba untuk menghubungkan ke kluster database dari command line. Untuk informasi selengkapnya, lihat Hubungkan ke kluster dari command line.
Beralih ke database uji coba dan buat prosedur tersimpan berikut.
-- Beralih ke database uji coba USE test_db;-- Buat prosedur tersimpan DELIMITER $$ DROP PROCEDURE IF EXISTS `das` $$ CREATE DEFINER=`test_user`@`%` PROCEDURE `das`() BEGIN SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID(); END $$ DELIMITER ;Hubungkan ke kluster database menggunakan akun istimewa. Untuk informasi selengkapnya, lihat Buat akun istimewa dan Hubungkan ke kluster menggunakan command line.
Panggil prosedur tersimpan tersebut.
-- Beralih ke database uji coba USE test_db;-- Panggil prosedur tersimpan CALL das();-- Hasil panggilan +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+ | 269660316 | test_user | %:46182 | test_db | Query | 0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() | +-----------+-----------+---------+---------+---------+------+-----------+-------------------------------------------------------------------------+
Mengapa nama database yang ditampilkan dalam daftar log audit tidak konsisten dengan yang ada dalam pernyataan SQL?
Nama database dalam daftar log diambil dari session. Nama database dalam pernyataan SQL ditentukan oleh pengguna dan bergantung pada desain kueri, seperti dalam skenario kueri lintas database atau SQL dinamis. Oleh karena itu, keduanya mungkin tidak konsisten.
Apakah mengaktifkan SQL Explorer and Audit memengaruhi performa database? Jika ya, apa dampaknya?
Ya, tetapi dampaknya minimal dan hampir tidak terasa.
Konsumsi resource spesifik adalah sebagai berikut:
CPU dan memory: Konsumsi sangat rendah dan dapat diabaikan.
Storage space: Terutama digunakan untuk menyimpan informasi audit. Namun, fitur SQL Explorer and Audit DAS Enterprise Edition menggunakan ruang penyimpanan yang disediakan oleh DAS dan tidak menggunakan ruang penyimpanan kluster database Anda.
Network: Tidak memengaruhi performa jaringan.
Disk performance: Tidak memengaruhi performa disk karena data audit disimpan di sisi DAS, bukan pada disk kluster database.
Saya mengeksekusi pernyataan
UPDATEdi kluster. Log audit menunjukkan bahwa jumlah baris yang terpengaruh adalah 1. Namun, data di tabel tidak diperbarui dan tetap dalam keadaan sebelumnya. Bagaimana cara melakukan troubleshooting dan menyelesaikan masalah ini?Prosedur troubleshooting:
Temukan pernyataan SQL dalam log audit dan ambil Thread ID. Lalu, klik Enable Advanced Search dan cari berdasarkan Thread ID. Periksa apakah
AUTOCOMMITdinonaktifkan untuk thread saat ini. Jika iya, periksa apakah adaCOMMITeksplisit.CatatanKami menyarankan agar Anda melakukan pencarian terfilter hanya berdasarkan Thread ID. Jika terlalu banyak log yang dikembalikan, kombinasikan kondisi lain sesuai kebutuhan untuk mengurangi jumlah log agar lebih mudah dianalisis.

Jika metode ini tidak menemukan masalahnya, pertimbangkan untuk memulihkan database dan tabel lalu mengurai log untuk memastikan apakah ada catatan modifikasi yang berhasil.
CatatanProsedur troubleshooting ini mengasumsikan bahwa pernyataan
UPDATEadalah langkah terakhir dari logika bisnis. Karena data tetap tidak berubah setelah modifikasi ini, tidak diperlukan pemeriksaan lebih lanjut untuk modifikasi atau penghapusan berikutnya. Jika terjadi modifikasi berikutnya, Anda harus terus memeriksa operasi SQL terkait yang menyebabkan perubahan data tersebut.Skenario masalah:
AUTOCOMMIT dinonaktifkan dan pernyataan SQL tidak dikomit: Prosedur troubleshooting menunjukkan bahwa
AUTOCOMMITdinonaktifkan selama eksekusi permintaan ini, dan tidak adaCOMMITeksplisit yang dilakukan setelahnya. Hal ini menyebabkan data tetap tidak berubah, seperti yang ditunjukkan pada tangkapan layar.
Transaction
ROLLBACK: Semua operasi dalam suatu transaksi harus berhasil atau gagal bersama-sama. Jika terjadi rollback, semua operasi akan dikembalikan. Ikuti proses troubleshooting untuk memeriksa apakah operasiROLLBACKdieksekusi setelah permintaan tersebut.