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

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

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

이 자습서에서는 설정된 시간 범위 내에서 데이터를 로드하도록 cqlsh를 조정하는 방법을 보여줍니다. 미리 수행하는 읽기 및 쓰기 수를 알 수 있으므로 프로비저닝된 용량 모드를 사용합니다. 데이터 전송을 완료한 후에는 애플리케이션의 트래픽 패턴과 일치하도록 테이블의 용량 모드를 설정해야 합니다. 용량 관리에 대한 자세한 내용은 단원을 참조하십시오.Amazon Keyspaces (Apache Cassandra용) 의 서버리스 리소스 관리.

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

기본적으로 한 테이블에 최대 40,000WCU를 프로비저닝하고 계정의 모든 테이블에 80,000WCU를 프로비저닝할 수 있습니다. 추가 용량이 필요한 경우 의 할당량 증가를 요청할 수 있습니다.서비스 할당량콘솔. 할당량에 대한 자세한 내용은 Amazon Keyspaces (Apache Cassandra용) 에 대한 할당량 단원을 참조하십시오.

인서트에 필요한 평균 WCU 수 계산

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

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

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

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

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

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

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

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

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

전체 언어 참조는 를 참조하십시오.ALTER TABLE.