Bigtable Data Boost 개요

Data Boost는 애플리케이션 트래픽을 처리하는 클러스터의 성능에 영향을 주지 않고 Bigtable 데이터에서 높은 처리량의 읽기 작업을 실행하도록 설계된 서버리스 컴퓨팅 서비스입니다. 핵심 애플리케이션이 컴퓨팅을 위해 클러스터 노드를 계속 사용하는 동안 서버리스 컴퓨팅을 사용하여 대규모 읽기 작업 및 쿼리를 보낼 수 있습니다. 서버리스 컴퓨팅 SKU 및 청구 요금은 프로비저닝된 노드의 SKU 및 요금과 별개입니다. Data Boost로 쓰기 또는 삭제 요청을 전송할 수 없습니다.

이 문서에서는 Data Boost, 사용 시기, 사용 방법을 설명합니다. 이 페이지를 읽기 전에 인스턴스, 클러스터, 노드를 이해해야 합니다.

장점

Data Boost는 데이터 분석 및 데이터 처리 워크로드에 이상적입니다. Data Boost를 사용하여 분석과 처리 트래픽을 격리하면 분석 워크로드를 수용하기 위해 클러스터의 용량이나 노드 수를 조정할 필요가 없습니다. 진행 중인 애플리케이션 트래픽이 클러스터 노드를 통해 라우팅되는 동안 Data Boost를 사용하여 단일 클러스터에서 처리량이 높은 분석 작업을 실행할 수 있습니다.

다음은 Data Boost의 이상적인 사용 사례입니다.

  • 데이터 보강, 분석, 보관처리, 오프라인 ML 모델 학습 또는 고객의 서드 파티 파트너의 수집을 위해 Bigtable에서 Cloud Storage로 예약되거나 트리거된 내보내기 또는 ETL 파이프라인 작업
  • 인플레이스 집계, MDM용 규칙 기반 변환, ML 작업을 지원하는 짧은 스캔 또는 일괄 읽기 프로세스에 Dataflow와 같은 도구를 사용한 ETL

단점

포인트 읽기 - Data Boost는 단일 행에 대해 전송되는 읽기 요청인 포인트 읽기 작업에 가장 적합한 옵션은 아닙니다. 여기에는 일괄 포인트 읽기가 포함됩니다. 결제 구조로 인해 여러 단일 행 지점 읽기는 긴 스캔 1회보다 비용이 상당히 높습니다.

작성된 직후 데이터 읽기 - Data Boost로 데이터를 읽을 때 최근 30분 동안 작성된 모든 데이터를 읽지 못할 수 있습니다. 인스턴스가 복제를 사용하고 현재 읽고 있는 리전이 아닌 다른 리전의 클러스터에 기록된 데이터를 읽는 경우 특히 그렇습니다. 자세한 내용은 일관성을 참조하세요.

지연 시간에 민감한 워크로드 - Data Boost는 처리량에 최적화되어 있으므로 Data Boost를 사용하면 클러스터 및 노드를 사용하여 읽을 때보다 읽기 지연 시간이 느립니다. 이러한 이유로 Data Boost는 애플리케이션 서빙 워크로드에 적합하지 않습니다.

Data Boost와 호환되지 않는 워크로드, 구성, 기능에 대한 자세한 내용은 제한사항을 참조하세요.

Data Boost 앱 프로필

Data Boost를 사용하려면 표준 앱 프로필 대신 Data Boost 앱 프로필을 사용하여 읽기 요청을 전송합니다.

표준 앱 프로필을 사용하면 앱 프로필을 사용하는 요청의 라우팅 정책우선순위 수준은 물론 단일 행 트랜잭션이 허용되는지 여부를 지정할 수 있습니다. 표준 앱 프로필을 사용하여 전송된 트래픽은 클러스터로 라우팅되고 해당 클러스터 노드는 트래픽을 디스크로 라우팅합니다. 자세한 내용은 표준 앱 프로필 개요를 참조하세요.

반면 Data Boost 앱 프로필을 사용하면 단일 클러스터 라우팅 정책을 인스턴스의 클러스터 중 하나로 구성하고 이 앱 프로필을 사용하는 트래픽에는 클러스터 노드 대신 서버리스 컴퓨팅이 사용됩니다.

새 Data Boost 앱 프로필을 만들거나 대신 Data Boost를 사용하도록 표준 앱 프로필을 변환할 수 있습니다. 워크로드 또는 애플리케이션마다 별도의 앱 프로필을 사용하는 것이 좋습니다.

일관성 토큰

읽기 요청 35분 전에 대상 클러스터에 기록되거나 복제된 데이터는 Data Boost에서 읽을 수 있습니다.

Data Boost 워크로드를 시작하기 전에 일관성 토큰을 만들고 사용하여 특정 쓰기 작업 또는 기간의 데이터를 Data Boost에서 읽을 수 있는지 확인할 수 있습니다. 샘플 워크플로는 다음과 같습니다.

  1. 테이블에 일부 데이터를 씁니다.
  2. 일관성 토큰을 만듭니다.
  3. DataBoostReadLocalWrites 모드로 토큰을 전송하여 대상 클러스터에서 Data Boost가 쓰기를 읽을 수 있는 시점을 확인합니다.

먼저 StandardReadRemoteWrites 모드에서 일관성 토큰을 전송하여 Data Boost 일관성을 확인하기 전에 복제 일관성을 선택적으로 확인할 수 있습니다.

자세한 내용은 CheckConsistencyRequest의 API 참조를 확인하세요.

할당량 및 결제

Data Boost는 독립적인 주문형 컴퓨팅 리소스인 서버리스 처리 장치(SPU)를 사용하여 Data Boost로 데이터를 읽는 데 사용되는 컴퓨팅 성능을 측정합니다. 노드와 달리 SPU를 사용할 때만 비용이 청구됩니다. 각 요청은 최소 60 SPU-초 단위로 요금이 청구되고 초당 10 SPU 이상의 요금이 청구됩니다. Data Boost 가격 책정에 대한 자세한 내용은 Bigtable 가격 책정을 참조하세요.

할당량 및 노드 요금과 별도로 SPU에 대한 할당량이 할당되고 청구됩니다.

자격요건 측정항목

Data Boost는 처리량이 높은 스캔을 위해 설계되었으며 Data Boost를 사용하려면 워크로드가 호환되어야 합니다. Data Boost를 사용하도록 표준 앱 프로필을 변환하거나 기존 워크로드의 Data Boost 앱 프로필을 만들려면 먼저 Data Boost 자격요건 측정항목을 확인하여 구성 및 사용량이 필요한 기준을 충족하는지 확인하세요. 또한 제한사항도 검토해야 합니다.

모니터링

Data Boost 트래픽을 모니터링하려면 Google Cloud 콘솔의 Bigtable 모니터링 페이지에서 Data Boost 앱 프로필의 측정항목을 확인하면 됩니다. 앱 프로필에서 사용할 수 있는 측정항목 목록은 Bigtable 리소스의 모니터링 차트를 참조하세요.

측정항목 탐색기에서 SPU 사용량(data_boost/spu_usage_count) 측정항목을 확인하여 서버리스 처리 단위(SPU)의 사용량을 모니터링할 수 있습니다.

Data Boost 사용을 시작한 후에도 앱 프로필의 자격요건 측정항목을 계속 모니터링할 수도 있습니다.

제한사항

다음 워크로드 속성 및 리소스 구성은 Data Boost에 지원되지 않습니다.

  • 쓰기 및 삭제
  • 대부분 포인트 읽기인 트래픽(단일 행 읽기)
  • 클러스터별 초당 읽기 1,000회 이상
  • 역방향 스캔
  • 변경 스트림
  • 요청 우선순위
  • 멀티 클러스터 라우팅
  • 단일 행 트랜잭션
  • 리전 엔드포인트
  • HDD 인스턴스
  • CMEK 암호화를 사용하는 인스턴스
  • 호환되지 않는 클라이언트 라이브러리. Java용 Bigtable 클라이언트 버전 2.31.0 이상을 사용해야 합니다. Bigtable 데이터를 읽는 Dataflow 작업의 경우 Apache Beam 버전 2.54.0 이상을 사용해야 합니다.

다음 기능은 프리뷰에서 지원되지 않습니다.

  • Google Cloud 콘솔에서 Data Boost 앱 프로필 만들기 및 구성
  • BigQuery 또는 Spark에서 Bigtable 데이터 읽기

다음 단계