3단계: 대상 테이블의 처리 용량 설정 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

3단계: 대상 테이블의 처리 용량 설정

이 자습서에서는 설정된 시간 범위 내에서 데이터를 DSBulk 로드하도록 튜닝하는 방법을 보여줍니다. 얼마나 많은 읽기와 쓰기를 수행하는지 미리 알고 있기 때문에 프로비저닝된 용량 모드를 사용합니다. 데이터 전송을 완료한 후에는 애플리케이션의 트래픽 패턴에 맞게 테이블의 용량 모드를 설정해야 합니다. 용량 관리에 대한 자세한 내용은 Amazon Keyspaces의 서버리스 리소스 관리 (아파치 카산드라용) 섹션을 참조하세요.

프로비저닝된 용량 모드를 사용하면 테이블에 프로비저닝할 읽기 및 쓰기 용량을 미리 지정할 수 있습니다. 쓰기 용량은 시간당 요금이 청구되며 쓰기 용량 단위 () WCUs 로 측정됩니다. 각각의 WCU 쓰기 용량은 초당 1KB의 데이터 쓰기를 지원할 수 있는 충분한 쓰기 용량입니다. 데이터를 로드할 때 쓰기 속도는 대상 테이블에 설정된 최대값 WCUs (매개 변수:write_capacity_units) 미만이어야 합니다.

기본적으로 계정 내 테이블에는 최대 40,000개WCUs, 모든 테이블에는 WCUs 80,000개까지 프로비저닝할 수 있습니다. 추가 용량이 필요한 경우 Service Quotas에서 할당량 증가를 요청할 수 있습니다. 할당량에 대한 자세한 내용은 Amazon Keyspaces(Apache Cassandra용)에 대한 할당량 섹션을 참조하세요.

인서트 한 개에 WCUs 필요한 평균 개수를 계산해 보세요.

초당 1KB의 데이터를 삽입하려면 WCU 1이 필요합니다. CSV파일 행이 360,000개이고 1시간 내에 모든 데이터를 로드하려면 초당 100개의 행을 작성해야 합니다 (360,000행/60분/60초 = 초당 100행). 각 행에 최대 1KB의 데이터가 있는 경우 초당 100개의 행을 삽입하려면 테이블에 100개를 WCUs 프로비전해야 합니다. 각 행에 1.5KB의 데이터가 있는 경우 초당 행 하나를 WCUs 삽입하려면 두 개가 필요합니다. 따라서 초당 100개의 행을 삽입하려면 200을 프로비전해야 합니다WCUs.

초당 한 행을 삽입해야 하는 개수를 WCUs 결정하려면 평균 행 크기를 바이트 단위로 1024로 나누고 가장 가까운 정수로 반올림합니다.

예를 들어 평균 행 크기가 3000바이트인 경우 초당 한 행을 WCUs 삽입하려면 3이 필요합니다.

ROUNDUP(3000 / 1024) = ROUNDUP(2.93) = 3 WCUs
데이터 로드 시간 및 용량 계산

이제 CSV 파일의 평균 크기와 행 수를 알았으므로 주어진 시간 동안 데이터를 로드해야 하는 시간과 다양한 WCU 설정을 사용하여 CSV 파일의 모든 데이터를 로드하는 데 걸리는 대략적인 시간을 계산할 수 있습니다. WCUs

예를 들어 파일의 각 행이 1KB이고 파일에 1,000,000개의 행이 있는 경우 1시간 내에 데이터를 로드하려면 해당 시간 동안 테이블에 최소 WCUs 278개를 프로비전해야 합니다. CSV

1,000,000 rows * 1 KBs = 1,000,000 KBs 1,000,000 KBs / 3600 seconds =277.8 KBs / second = 278 WCUs
프로비저닝된 용량 설정 구성

테이블을 생성할 때 또는 ALTER TABLE 명령을 사용하여 테이블의 쓰기 용량 설정을 지정할 수 있습니다. 다음은 ALTER TABLE 명령을 사용하여 테이블의 프로비저닝된 용량 설정을 변경하는 구문입니다.

ALTER TABLE catalog.book_awards WITH custom_properties={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 100, 'write_capacity_units': 278}} ;

전체 언어 참조는 CREATE TABLEALTER TABLE 섹션을 참조하세요.