기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon 키스페이스의 데이터 정의 언어 문제 해결
리소스를 만드는 데 문제가 있나요? 다음은 몇 가지 일반적인 문제와 해결 방법에 대해 설명합니다.
데이터 정의 언어 오류
Amazon Keyspaces는 DDL (데이터 정의 언어) 작업을 비동기적으로 수행합니다 (예: Keyspaces 및 테이블 생성 및 삭제). 애플리케이션이 준비되기 전에 리소스를 사용하려고 하면 작업이 실패합니다.
에서 새 키스페이스 및 테이블의 생성 상태를 모니터링할 수 있으며AWS Management Console, 이는 키스페이스나 테이블이 보류 중이거나 활성 상태일 때를 나타냅니다. 시스템 스키마 테이블을 쿼리하여 프로그래밍 방식으로 새 키스페이스나 테이블의 생성 상태를 모니터링할 수도 있습니다. 키스페이스 또는 테이블은 사용할 준비가 되면 시스템 스키마에 표시됩니다.
참고
를 사용하여 키스페이스 생성을 최적화하려면 이 유틸리티를 사용하여AWS CloudFormation CQL 스크립트를 CloudFormation 템플릿으로 변환할 수 있습니다. 이 도구는 GitHub 리포지토리에서
주제
새 키스페이스를 만들었으나 보거나 접근할 수 없습니다.
새 키스페이스에 액세스하려고 하는 애플리케이션에서 오류가 발생했습니다.
새로 생성된 Amazon Keyspaces 키스페이스에 액세스하려고 하는데 아직 비동기적으로 생성 중인 경우 오류가 발생합니다. 다음 오류는 예시입니다.
InvalidRequest: Error from server: code=2200 [Invalid query] message="unconfigured keyspace mykeyspace"
새 키스페이스를 사용할 준비가 되었을 때 확인하기 위한 권장 설계 패턴은 Amazon Keyspaces 시스템 스키마 테이블 (system_schema_mcs.*) 을 폴링하는 것입니다.
자세한 정보는 Amazon 키스페이스에 Keyspaces 생성을 참조하세요.
새 테이블을 만들었으나 테이블을 보거나 액세스할 수 없습니다.
새 테이블에 액세스하려고 하는 애플리케이션에서 오류가 발생했습니다.
새로 생성되었지만 아직 비동기적으로 생성 중인 Amazon Keyspaces 테이블에 액세스하려고 하면 오류가 발생합니다. 예를 들어 아직 사용할 수 없는 테이블을 쿼리하려고 하면unconfigured table
오류가 발생하여 쿼리가 실패합니다.
InvalidRequest: Error from server: code=2200 [Invalid query] message="unconfigured table mykeyspace.mytable"
를 사용하여 테이블을 보려고 하면 a가sync_table()
KeyError
실패합니다.
KeyError: 'mytable'
새 테이블을 사용할 준비가 되었을 때 확인하기 위한 권장 설계 패턴은 Amazon Keyspaces 시스템 스키마 테이블 (system_schema_mcs.*) 을 폴링하는 것입니다.
작성 중인 테이블의 예제 출력입니다.
user-at-123@cqlsh:system_schema_mcs> select table_name,status from system_schema_mcs.tables where keyspace_name='example_keyspace' and table_name='example_table'; table_name | status ------------+---------- example_table | CREATING (1 rows)
활성 상태인 테이블의 예제 출력입니다.
user-at-123@cqlsh:system_schema_mcs> select table_name,status from system_schema_mcs.tables where keyspace_name='example_keyspace' and table_name='example_table'; table_name | status ------------+---------- example_table | ACTIVE (1 rows)
자세한 정보는 Amazon 키스페이스에서 테이블 생성을 참조하세요.
Amazon Keyspaces point-in-time 복구 (PITR) 를 사용하여 테이블을 복원하려고 하는데 복원에 실패했습니다.
point-in-time 복구 기능 (PITR) 을 사용하여 Amazon Keyspaces 테이블을 복원하려고 하는데 복원 프로세스가 시작되었지만 성공적으로 완료되지 않은 경우, 이 특정 테이블의 복원 프로세스에 필요한 모든 권한을 구성하지 않았을 수 있습니다.
Amazon Keyspaces에는 사용자 권한 외에도 복원 프로세스 중에 보안 주체를 대신하여 작업을 수행할 수 있는 권한이 필요할 수 있습니다. 테이블이 고객 관리 키로 암호화되거나 수신 트래픽을 제한하는 IAM 정책을 사용하는 경우가 이에 해당합니다.
예를 들어 IAM 정책에서 조건 키를 사용하여 소스 트래픽을 특정 엔드포인트 또는 IP 범위로 제한하는 경우 복원 작업이 실패합니다. Amazon Keyspaces가 보안 주체를 대신하여 테이블 복원 작업을 수행하도록 허용하려면 IAM 정책에aws:ViaAWSService
글로벌 조건 키를 추가해야 합니다.
테이블 복원 권한에 대한 자세한 내용은 참조하십시오테이블 복원하는 데 필요한 권한.
INSERT/UPDATE를 사용하여 사용자 지정 TTL (Time to Live) 설정을 편집하려고 하는데 작업이 실패합니다.
사용자 지정 TTL 값을 삽입하거나 업데이트하려는 경우 다음 오류가 발생하여 작업이 실패할 수 있습니다.
TTL is not yet supported.
또는UPDATE
연산을 사용하여INSERT
행 또는 열에 사용자 지정 TTL 값을 지정하려면 먼저 테이블에 TTL을 활성화해야 합니다. ttl
사용자 지정 속성을 사용하여 테이블에 TTL을 활성화할 수 있습니다.
테이블의 사용자 정의 TL 설정을 활성화하는 방법에 대한 자세한 내용은 참조하십시오사용자 지정) 을 사용하여 기존 테이블에 대한 TL (TL) 을 활성화시간 (TL) 을 활성화시간 (TL) 을 활성화시간 (T.
Amazon Keyspaces 테이블에 데이터를 업로드하려고 하는데 열 수를 초과한다는 오류가 발생합니다.
데이터를 업로드 중이며 동시에 업데이트할 수 있는 열 수를 초과했습니다.
이 오류는 테이블 스키마가 최대 크기인 350KB를 초과할 때 발생합니다. 자세한 정보는 Amazon Keyspaces (Apache Cassandra용) 에 사용되는 할당량을 참조하세요.
Amazon Keyspaces 테이블에서 데이터를 삭제하려고 하는데 해당 범위에서 삭제가 실패했습니다.
파티션 키로 데이터를 삭제하려고 하는데 범위 삭제 오류가 발생합니다.
이 오류는 한 번의 삭제 작업에서 1,000개 이상의 행을 삭제하려고 할 때 발생합니다.
Range delete requests are limited by the amount of items that can be deleted in a single range.
자세한 정보는 범위을 참조하세요.
단일 파티션 내에서 1,000개 이상의 행을 삭제하려면 다음 옵션을 고려해 보십시오.
-
파티션별 삭제 - 대부분의 파티션이 1,000행 미만인 경우 파티션별로 데이터 삭제를 시도할 수 있습니다. 파티션에 1,000개 이상의 행이 있는 경우 대신 클러스터링 열을 기준으로 삭제를 시도하십시오.
-
클러스터링 열별 삭제 — 모델에 여러 클러스터링 열이 포함된 경우 열 계층 구조를 사용하여 여러 행을 삭제할 수 있습니다. 클러스터링 열은 중첩 구조이므로 최상위 열을 대상으로 작업을 수행하여 여러 행을 삭제할 수 있습니다.
개별 행별 삭제 — 행을 반복하고 전체 기본 키 (파티션 열 및 클러스터링 열) 로 각 행을 삭제할 수 있습니다.
여러 파티션에 행을 분할하는 것이 가장 좋습니다. Amazon Keyspaces에서는 테이블 파티션에 처리량을 분산하는 것이 좋습니다. 이렇게 하면 물리적 리소스 간에 데이터와 액세스가 균등하게 분산되므로 처리량이 극대화됩니다. 자세한 정보는 Amazon Keyspaces (Apache Cassandra용) 에서의 데이터 모델링을 참조하세요.
워크로드가 많은 경우 삭제 작업을 계획할 때는 다음 권장 사항도 고려하세요.
Amazon Keyspaces를 사용하면 파티션에 사실상 무제한의 행을 포함할 수 있습니다. 이를 통해 기존 카산드라 지침인 100MB보다 “더 넓게” 파티션을 확장할 수 있습니다. 시계열 또는 원장이 시간이 지남에 따라 1기가바이트 이상의 데이터가 늘어나는 것은 드문 일이 아닙니다.
Amazon Keyspaces를 사용하면 과중한 워크로드에 대해 삭제 작업을 수행해야 할 때 고려할 압축 전략이나 중요한 사항이 없습니다. 읽기 성능에 영향을 주지 않고 원하는 만큼 데이터를 삭제할 수 있습니다.