Amazon 키스페이스에서 행 작업 - Amazon Keyspaces(Apache Cassandra용)

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

Amazon 키스페이스에서 행 작업

이 단원에서는 Amazon Keyspaces (Apache Cassandra용) 에서 행 작업에 관한 세부 정보를 제공합니다. 테이블은 Amazon Keyspaces의 기본 데이터 구조이며 테이블의 데이터는 열과 행으로 구성됩니다.

Amazon 키스페이스에서 행 크기 계산

Amazon Keyspaces (Apache Cassandra용) 는 한 자릿수 밀리초 읽기 및 쓰기 성능을 제공하고 여러 개에 데이터를 안정적으로 저장하는 완전관리형 스토리지를 제공합니다.AWS가용 영역입니다. Amazon Keyspaces는 모든 행과 기본 키 열에 메타데이터를 첨부하여 효율적인 데이터 액세스와 고가용성을 지원합니다.

이 단원에서는 Amazon Keyspaces 에서 행 인코딩된 크기를 추정하는 방법에 관한 세부 정보를 제공합니다. 인코딩된 행 크기는 청구서 및 할당량 사용을 계산할 때 사용됩니다. 테이블에 대해 프로비저닝된 처리량 용량 요구 사항을 계산할 때도 인코딩된 행 크기를 사용해야 합니다. Amazon Keyspaces 에서 행 인코딩된 크기를 계산하려면 다음 지침을 사용합니다.

  • 파티션 키에는 최대 2048바이트의 데이터가 포함될 수 있습니다. 파티션 키의 각 키 열에는 최대 3바이트의 메타데이터가 필요합니다. 이러한 메타데이터 바이트는 1MB 행 크기 할당량에 반영됩니다. 행 크기를 계산할 때 각 파티션 키 열에 전체 3바이트의 메타데이터가 사용된다고 가정해야 합니다.

  • 각 행은 최대 850바이트의 클러스터링 열 데이터를 가질 수 있으며 각 클러스터링 열에는 메타데이터에 최대 4바이트가 필요합니다. 이러한 메타데이터 바이트는 1MB 행 크기 할당량에 반영됩니다. 행 크기를 계산할 때 각 클러스터링 열에 전체 4바이트의 메타데이터가 사용된다고 가정해야 합니다.

  • 정적이 아닌 일반 키 열의 경우 데이터 유형에 따라 셀 데이터의 원시 크기를 사용합니다. 데이터 형식에 대한 자세한 내용은 데이터 유형 단원을 참조하세요.

  • 정적 열 데이터는 최대 행 크기 1MB에 포함되지 않습니다. 정적 열의 데이터 크기를 계산하려면Amazon 키스페이스에서 논리 파티션당 정적 열 크기 계산.

  • 행 메타데이터의 각 행 크기에 100바이트를 추가합니다.

인코딩된 데이터 행의 총 크기는 다음 공식을 기반으로 합니다.

partition key columns + clustering columns + regular columns + row metadata = total encoded size of row

모든 열이 정수 유형인 테이블의 다음 예를 생각해 보십시오. 테이블에는 두 개의 파티션 키 열, 두 개의 클러스터링 열 및 하나의 일반 열이 있습니다.

CREATE TABLE mykeyspace.mytable(pk_col1 int, pk_col2 int, ck_col1 int, ck_col2 int, reg_col1 int, primary key((pk_col1, pk_col2),ck_col1, ck_col2));

이 예제에서는 다음 명령문과 같이 테이블에 행을 쓸 때 데이터의 크기를 계산합니다.

INSERT INTO mykeyspace.mytable (pk_col1, pk_col2, ck_col1, ck_col2, reg_col1) values(1,2,3,4,5);

이 쓰기 작업에 필요한 총 바이트를 추정하려면 다음 단계를 사용할 수 있습니다.

  1. 열에 저장된 데이터 유형과 메타데이터 바이트에 대한 바이트를 추가하여 파티션 키 열의 크기를 계산합니다. 모든 파티션 키 열에 대해 이 작업을 반복합니다.

    1. 파티션 키 (pk_col1) 의 첫 번째 열 크기를 계산합니다.

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    2. 파티션 키 (pk_col2) 의 두 번째 열 크기를 계산합니다.

      4 bytes for the integer data type + 3 bytes for partition key metadata = 7 bytes
    3. 두 열을 모두 추가하여 파티션 키 열의 총 예상 크기를 가져옵니다.

      7 bytes + 7 bytes = 14 bytes for the partition key columns
  2. 열에 저장된 데이터 형식과 메타데이터 바이트에 대한 바이트를 추가하여 클러스터링 열의 크기를 계산합니다. 모든 클러스터링 열에 대해 이 작업을 반복합니다.

    1. 군집 열 (ck_col1) 의 첫 번째 열 크기를 계산합니다.

      4 bytes for the integer data type + 4 bytes for clustering column metadata = 8 bytes
    2. 군집 열 (ck_col2) 의 두 번째 열 크기를 계산합니다.

      4 bytes for the integer data type + 4 bytes for clustering column metadata = 8 bytes
    3. 두 열을 모두 추가하여 클러스터링 열의 총 예상 크기를 가져옵니다.

      8 bytes + 8 bytes = 16 bytes for the clustering columns
  3. 일반 열의 크기를 추가합니다. 이 예제에서는 정수를 저장하는 열 하나만 있는데, 이 열에는 4바이트가 필요합니다.

  4. 마지막으로 인코딩된 총 행 크기를 얻으려면 모든 열의 바이트를 더하고 행 메타데이터에 대해 100바이트를 추가합니다.

    14 bytes for the partition key columns + 16 bytes for clustering columns + 4 bytes for the regular column + 100 bytes for row metadata = 134 bytes.

Amazon CloudWatch를 사용하여 서버리스 리소스를 모니터링하는 방법은 단원을 참조하십시오.아마존을 통한 아마존 Keyspaces 모니터링 CloudWatch.