取得查詢統計資料

本頁說明如何使用 cbt CLI 取得查詢統計資料。您也可以使用 Cloud Bigtable 的 Go 用戶端程式庫取得查詢統計資料。

這裡提供的內容適用於應用程式開發人員。閱讀本頁面之前,請先瞭解 Bigtable 儲存模型。您也應熟悉結構定義設計最佳做法,並瞭解成效

開發應用程式時,取得 Bigtable 查詢相關資訊的功能非常實用。您可以藉此取得查詢的效能資料,然後調整查詢或變更結構定義設計,微調查詢效能。

一般來說,查詢是指傳送至資料表的任何資料要求,但 Bigtable 只會傳回讀取要求的查詢統計資料。

事前準備

  1. 如果尚未安裝 cbt CLI ,請按照 cbt CLI 總覽中的操作說明進行安裝,包括建立 .cbtrc 檔案的步驟。
  2. 請參閱 cbt CLI 參考資料的「讀取資料列」一節,熟悉可將 cbt read 要求傳送至資料表的命令列語法和選項。請注意,cbt CLI 不支援篩選器。
  3. 確認您具備資料表的 bigtable.tables.readRows 權限,或是 bigtable.reader 角色的主體。

執行查詢

  1. 使用「讀取資料列」的語法建立查詢。

  2. 執行下列指令。include-stats=full 參數會告知 Bigtable 傳回查詢統計資料。

    cbt read TABLE_ID QUERY include-stats=full
    

    更改下列內容:

    • TABLE_ID:您要查詢的資料表專屬 ID
    • QUERYcbt 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

後續步驟