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
- Jika Anda belum menginstal
cbt
CLI, ikuti petunjuk di ringkasancbt
CLI, termasuk langkah-langkah untuk membuat file.cbtrc
. - Tinjau bagian Baca baris dalam referensi CLI
cbt
untuk memahami sintaksis dan opsi command line yang tersedia untuk mengirim permintaancbt read
ke tabel Anda. Perhatikan bahwa CLIcbt
tidak mendukung filter. - Pastikan Anda memiliki izin
bigtable.tables.readRows
untuk tabel atau bahwa Anda adalah akun utama dari peranbigtable.reader
.
Menjalankan kueri
Buat kueri menggunakan sintaksis untuk Baca baris.
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 kueriQUERY
: kueri berformatcbt
CLI
Terminal menampilkan data yang dibaca dan daftar yang berisi statistik berikut:
rows_seen_count
: jumlah baris yang diproses Bigtable untuk permintaanrows_returned_count
: jumlah baris yang ditampilkan setelah menerapkan filtercells_seen_count
: jumlah sel yang diproses untuk permintaancells_returned_count
: jumlah sel yang ditampilkan setelah menerapkan filterfrontend_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