Dapatkan statistik kueri

Halaman ini menjelaskan cara mendapatkan statistik kueri menggunakan CLI cbt. Anda juga bisa mendapatkan statistik kueri menggunakan library klien Go untuk Cloud Bigtable.

Konten yang diberikan di sini ditujukan untuk developer aplikasi. Sebelum membaca halaman ini, Anda harus memahami model penyimpanan Bigtable. Anda juga harus memahami Praktik terbaik desain skema dan memahami performa.

Kemampuan untuk mendapatkan informasi tentang kueri Bigtable dapat berguna ketika Anda mengembangkan aplikasi. Cara ini memungkinkan Anda mendapatkan data tentang performa kueri, lalu menyesuaikan kueri atau mengubah desain skema untuk menyesuaikan performa kueri Anda.

Meskipun secara umum kueri adalah permintaan data yang dikirim ke tabel, BigQuery menampilkan statistik kueri hanya untuk permintaan baca.

Sebelum memulai

  1. Jika Anda belum menginstal CLI cbt, ikuti petunjuk pada ringkasan CLI cbt termasuk langkah-langkah untuk membuat file .cbtrc.
  2. Tinjau bagian Membaca baris dari referensi CLI cbt untuk memahami sintaksis command line dan opsi yang tersedia untuk mengirim permintaan cbt read ke tabel Anda. Perlu diperhatikan bahwa CLI cbt tidak mendukung filter.
  3. Pastikan Anda memiliki izin bigtable.tables.readRows untuk tabel atau Anda adalah akun utama peran bigtable.reader.

Jalankan kueri Anda

  1. Buat kueri menggunakan sintaksis untuk Membaca baris.

  2. Jalankan perintah berikut. Parameter include-stats=full memberi tahu Bigtable untuk menampilkan statistik kueri.

    cbt read TABLE_ID QUERY include-stats=full
    

    Ganti kode berikut:

    • TABLE_ID: ID unik untuk tabel yang sedang Anda kuerikan
    • QUERY: kueri berformat CLI cbt

    Terminal menampilkan data yang telah dibaca dan daftar yang berisi statistik berikut:

    • rows_seen_count: jumlah baris yang diproses Bigtable untuk permintaan
    • rows_returned_count: jumlah baris yang ditampilkan setelah menerapkan filter
    • cells_seen_count: jumlah sel yang diproses untuk permintaan
    • cells_returned_count: jumlah sel yang ditampilkan setelah menerapkan filter
    • frontend_server_latency: latensi permintaan yang diukur dari kumpulan server front-end Bigtable, yang dinyatakan dalam milidetik

Menafsirkan hasilnya

  • Lihat rasio sel yang terlihat terhadap sel yang ditampilkan. Jika hasil bagi untuk cells_seen_count / cells_returned_count adalah 1 atau mendekati 1, itu adalah indikasi bahwa kueri Anda tidak menyebabkan Bigtable memproses data yang pada akhirnya dikecualikan.

  • Pertimbangkan jumlah baris yang ditampilkan. Semakin tinggi angkanya, semakin banyak pekerjaan yang dilakukan Bigtable. Jumlah optimal di sini bergantung pada kasus penggunaan dan persyaratan latensi Anda, tetapi secara umum, kueri yang menampilkan lebih sedikit baris akan memiliki latensi yang lebih rendah.

Contoh

Jika ingin mendapatkan statistik kueri saat membaca semua baris yang cocok dengan ekspresi reguler orange:*.* dalam tabel yang disebut my-table, Anda dapat menjalankan hal berikut:

cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full

Outputnya mirip dengan hal berikut ini:

  ----------------------------------------
  orange
    Details:Color                            @ 2022/09/26-14:48:01.286000
      "orange"
    Details:Size                             @ 2022/09/26-14:48:01.286000
      "medium"

  Request Stats
  ====================
  rows_seen_count: 10
  rows_returned_count : 1
  cells_seen_count: 2
  cells_returned_count: 2
  frontend_server_latency: 13ms

Langkah selanjutnya