Mendapatkan statistik kueri

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

Konten yang disediakan 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 saat Anda mengembangkan aplikasi. Dengan fitur ini, Anda bisa mendapatkan data tentang performa kueri, lalu menyesuaikan kueri atau mengubah desain skema untuk meningkatkan performa kueri.

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

Sebelum memulai

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

Menjalankan kueri

  1. Buat kueri menggunakan sintaksis untuk Baca 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 Anda buat kueri
    • QUERY: kueri berformat cbt CLI

    Terminal menampilkan data yang 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 frontend Bigtable, yang dinyatakan dalam milidetik

Menafsirkan hasilnya

  • Lihat rasio sel yang dilihat dengan sel yang ditampilkan. Jika hasil bagi untuk cells_seen_count / cells_returned_count adalah 1 atau mendekati 1, hal ini menunjukkan bahwa kueri Anda tidak menyebabkan Bigtable memproses data yang pada akhirnya difilter.

  • Pertimbangkan jumlah baris yang ditampilkan. Makin tinggi angka tersebut, makin 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