쿼리 통계 가져오기

이 페이지에서는 cbt CLI를 사용해서 쿼리 통계를 가져오는 방법을 설명합니다. 또한 Cloud Bigtable용 Go 클라이언트 라이브러리를 사용하여 쿼리 통계를 가져올 수도 있습니다.

여기에 제공된 콘텐츠는 애플리케이션 개발자를 대상으로 합니다. 이 페이지를 읽기 전에 Bigtable 스토리지 모델을 이해해야 합니다. 또한 스키마 디자인 권장사항을 숙지하고 성능을 이해해야 합니다.

Bigtable 쿼리 정보를 가져오는 기능은 애플리케이션을 개발할 때 유용할 수 있습니다. 쿼리 성능에 대한 데이터를 가져온 후 쿼리를 조정하거나 쿼리 성능을 미세 조정하기 위해 스키마 디자인을 변경할 수 있습니다.

일반적으로 쿼리는 테이블에 전송되는 모든 데이터 요청이지만 Bigtable는 읽기 요청에 대해서만 쿼리 통계를 반환합니다.

시작하기 전에

  1. cbt CLI를 아직 설치하지 않았으면 .cbtrc 파일 만들기 단계를 포함하여 cbt CLI 개요의 안내를 따릅니다.
  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입니다.
    • QUERY: 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

다음 단계