取得查詢統計資料
本頁說明如何使用 cbt
CLI 取得查詢統計資料。您也可以使用 Cloud Bigtable 的 Go 用戶端程式庫取得查詢統計資料。
這裡提供的內容適用於應用程式開發人員。閱讀本頁面之前,請先瞭解 Bigtable 儲存模型。您也應熟悉結構定義設計最佳做法,並瞭解成效。
開發應用程式時,取得 Bigtable 查詢相關資訊的功能非常實用。您可以藉此取得查詢的效能資料,然後調整查詢或變更結構定義設計,微調查詢效能。
一般來說,查詢是指傳送至資料表的任何資料要求,但 Bigtable 只會傳回讀取要求的查詢統計資料。
事前準備
- 如果尚未安裝
cbt
CLI ,請按照cbt
CLI 總覽中的操作說明進行安裝,包括建立.cbtrc
檔案的步驟。 - 請參閱
cbt
CLI 參考資料的「讀取資料列」一節,熟悉可將cbt read
要求傳送至資料表的命令列語法和選項。請注意,cbt
CLI 不支援篩選器。 - 確認您具備資料表的
bigtable.tables.readRows
權限,或是bigtable.reader
角色的主體。
執行查詢
執行下列指令。
include-stats=full
參數會告知 Bigtable 傳回查詢統計資料。cbt read TABLE_ID QUERY include-stats=full
更改下列內容:
TABLE_ID
:您要查詢的資料表專屬 IDQUERY
:cbt
CLI 格式的查詢
終端機會顯示讀取的資料,以及包含下列統計資料的清單:
rows_seen_count
:Bigtable 為要求處理的資料列數rows_returned_count
:套用篩選器後傳回的資料列數cells_seen_count
:要求處理的儲存格數量cells_returned_count
:套用篩選器後傳回的儲存格數量frontend_server_latency
:從 Bigtable 前端伺服器集區測得的要求延遲時間,以毫秒為單位
解讀結果
查看所見儲存格與傳回儲存格的比率。如果
cells_seen_count
/cells_returned_count
的商數為 1 或接近 1,表示查詢並未導致 Bigtable 處理最終遭到篩除的資料。請考量傳回的資料列數。數字越高,表示 Bigtable 執行的工作越多。最佳數量取決於您的用途和延遲時間需求,但一般而言,傳回較少資料列的查詢延遲時間會較短。
範例
如要在讀取資料表 (名為 my-table
) 中符合規則運算式 orange:*.*
的所有資料列時取得查詢統計資料,可以執行下列指令:
cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full
輸出結果會與下列內容相似:
----------------------------------------
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