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
- Bigtable Spark 커넥터를 사용하여 Bigtable 데이터를 읽는 Spark 애플리케이션
단점
포인트 읽기 - 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에서 읽을 수 있는지 확인할 수 있습니다. 샘플 워크플로는 다음과 같습니다.
- 테이블에 데이터를 씁니다.
- 일관성 토큰을 만듭니다.
DataBoostReadLocalWrites
모드로 토큰을 전송하여 대상 클러스터에서 Data Boost가 쓰기를 읽을 수 있는 시점을 확인합니다.
원하는 경우 먼저 StandardReadRemoteWrites
모드에서 일관성 토큰을 전송하여 Data Boost 일관성을 확인하기 전에 복제 일관성을 확인할 수 있습니다.
자세한 내용은 CheckConsistencyRequest의 API 참조를 확인하세요.
할당량 및 결제
Data Boost 사용량은 서버리스 처리 단위 (SPU)로 측정되며, 성능 측면에서 1,000개의 SPU는 1개의 노드에 해당합니다. 프로비저닝된 노드와 달리 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 리소스 모니터링 차트를 참조하세요.
Bigtable 모니터링 페이지의 앱 프로필 탭에서 SPU 사용량 (data_boost/spu_usage_count
) 측정항목을 확인하여 서버리스 처리 단위 (SPU)의 사용량을 모니터링할 수 있습니다.
Data Boost를 사용하기 시작한 후에도 앱 프로필의 자격요건 측정항목을 계속 모니터링할 수 있습니다.
제한사항
Data Boost에서는 다음 워크로드 속성과 리소스 구성이 지원되지 않습니다.
- 쓰기 및 삭제
- 대부분 포인트 읽기인 트래픽(단일 행 읽기)
- 클러스터당 초당 1,000회 이상의 읽기
- 역방향 스캔
- 변경 스트림
- 요청 우선순위
- 멀티 클러스터 라우팅
- 단일 행 트랜잭션
- 리전 엔드포인트
- HDD 인스턴스
- Bigtable용 GoogleSQL 쿼리
- Bigtable Studio 쿼리 빌더 쿼리
- CMEK 암호화를 사용하는 인스턴스
호환되지 않는 클라이언트 라이브러리 Java용 Bigtable 클라이언트 버전 2.31.0 이상을 사용해야 합니다.
BigtableIO
를 사용하여 Bigtable 데이터를 읽는 Dataflow 작업의 경우 Apache Beam 버전 2.54.0 이상을 사용해야 합니다.CloudBigtableIO
를 사용하여 Bigtable 데이터를 읽는 Dataflow 작업의 경우bigtable-hbase-beam
버전 2.14.1 이상을 사용해야 합니다. 다음은 프리뷰에서 지원되지 않습니다.
BigQuery에서 Bigtable 데이터 읽기
다음 단계