Memecahkan masalah dengan skema informasi

Sebagai administrator BigQuery atau analis data, mengelola workload perusahaan memerlukan cara yang andal dan skalabel untuk mendiagnosis hambatan performa, kegagalan kueri, batas kapasitas, dan pertumbuhan penyimpanan. Tampilan skema informasi BigQuery berfungsi sebagai dasar observabilitas, yang menyediakan metadata historis dan hampir real-time yang dapat diakses melalui kueri GoogleSQL standar.

Dokumen ini menguraikan prinsip inti pemecahan masalah BigQuery menggunakan skema informasi, memberikan ringkasan terstruktur tentang toolbox pemecahan masalah administratif, dan mengarahkan Anda ke tampilan tertentu di library BigQuery.

Pemecahan masalah skema informasi berdasarkan tugas

Tabel berikut merangkum tampilan skema informasi yang berguna dan dikategorikan berdasarkan tugas dan kasus penggunaan diagnostik:

Tugas Kasus penggunaan Tampilan skema informasi
Performa dan error kueri
  • Mengidentifikasi kueri teratas yang menggunakan slot dan mahal.
  • Menggabungkan alasan error tugas dan pola kegagalan.
  • Menganalisis waktu eksekusi per tahap dan byte yang tumpah.
Kapasitas dan pertentangan workload
  • Mendeteksi pertentangan slot, pembatasan kapasitas, dan waktu antrean.
  • Memantau saturasi memori shuffle dalam memori.
  • Mengaudit penggunaan slot dasar pengukuran dan penskalaan otomatis pemesanan.
  • Memverifikasi penetapan pemesanan project dan folder.
Biaya penyimpanan dan arsitektur data
  • Mengidentifikasi tabel dengan penyimpanan fisik atau logis yang tidak terkontrol.
  • Mendeteksi pembengkakan penyimpanan perjalanan waktu dan fail-safe.
  • Mendiagnosis kemiringan partisi dan tabel yang mendekati batas partisi.
  • Menemukan tabel yang kedaluwarsa atau dihapus di jendela perjalanan waktu.
Kontrol akses dan tata kelola
  • Mengaudit pemberian peran Identity and Access Management (IAM) eksplisit pada tabel dan set data.
  • Memecahkan masalah error akses ditolak untuk pengguna dan akun layanan.
  • Melacak berbagi set data lintas project dan penggunaan analitis.
Pipeline penyerapan data
  • Memantau throughput dan error penyerapan Storage Write API.
  • Mendiagnosis latensi streaming insert dan batas kapasitas.
  • Mengidentifikasi streaming yang gagal berdasarkan jenis streaming dan kode error.
Machine learning dan penelusuran vektor
  • Melacak durasi pelatihan model dan penggunaan resource.
  • Mengaudit status build indeks vektor dan persentase cakupan.
  • Memecahkan masalah build prosedur tersimpan dan UDF Python.
Insight pengoptimalan workload
  • Meninjau rekomendasi pengelompokan dan partisi otomatis.
  • Mengidentifikasi tabel kandidat tampilan terwujud.

Prinsip pemecahan masalah dengan skema informasi

Saat Anda mendiagnosis masalah workload atau lingkungan di BigQuery, terapkan prinsip inti berikut:

  • Cakupan berdasarkan region, set data, dan project. Pengelolaan workload dan resource komputasi BigQuery dieksekusi dalam batas regional. Pertimbangkan hal berikut:

    • Selalu tentukan penentu regional yang benar (misalnya, region-REGION.INFORMATION_SCHEMA.JOBS_BY_PROJECT) atau penentu set data.

    • Pilih tingkat hierarki yang sesuai (BY_PROJECT, BY_USER, BY_FOLDER, atau BY_ORGANIZATION) berdasarkan apakah Anda menyelidiki masalah satu pengguna, workload khusus project, atau masalah seluruh tenant.

  • Korelasikan permintaan komputasi dengan kapasitas. Performa kueri yang lambat sering kali merupakan hasil dari pertentangan slot, bukan hanya SQL yang tidak efisien. Bandingkan permintaan resource tugas (period_estimated_runnable_units) dengan slot pemesanan yang dialokasikan (period_slot_ms) selama periode waktu yang sama untuk membedakan antara peluang penyetelan kueri dan masalah yang disebabkan oleh kapasitas yang tidak mencukupi.

  • Perhitungkan perincian telemetri dan batas retensi. Tampilan skema informasi yang berbeda beroperasi pada interval refresh dan periode retensi data yang berbeda. Metadata tugas dalam tampilan JOBS tersedia selama 180 hari, sedangkan metrik linimasa resolusi tinggi dalam JOBS_TIMELINE dan RESERVATIONS_TIMELINE tampilan disimpan untuk periode yang lebih singkat (biasanya 14 hingga 30 hari). Untuk analisis tren dan audit jangka panjang, Anda harus mengekspor telemetri ke tabel yang dipartisi.

  • Hindari distorsi metrik dalam kueri multi-pernyataan. Skrip multi-pernyataan (SQL prosedural yang berisi DECLARE, IF, atau WHILE) menghasilkan tugas induk dengan statement_type = 'SCRIPT' dan tugas turunan individual untuk setiap pernyataan. Saat menggabungkan metrik seperti total_slot_ms atau total_bytes_billed, filter statement_type = 'SCRIPT' untuk mencegah penghitungan ganda.

  • Filter pada kolom partisi. Untuk meminimalkan waktu eksekusi kueri dan menghindari biaya pemindaian yang tidak perlu pada analisis sesuai permintaan, selalu sertakan filter waktu yang ketat pada kolom partisi seperti creation_time, job_start_time, atau period_start.

Langkah berikutnya

  • Untuk mengetahui informasi selengkapnya tentang sintaksis skema informasi dan daftar tampilan yang tersedia, lihat Pengantar INFORMATION_SCHEMA.
  • Untuk mempelajari cara melihat detail tugas, membuat daftar tugas aktif, dan membatalkan tugas yang sedang berjalan, lihat Mengelola tugas.