테이블 관리 - Amazon Quantum Ledger Database(QLDB)

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

테이블 관리

이 단원에서는 Amazon QLDB에서 DROP TABLEUNDROP TABLE 문을 사용하여 테이블을 관리하는 방법을 설명합니다. 또한 테이블을 생성할 때 태그를 지정하는 방법도 설명합니다. 생성할 수 있는 활성 테이블 수와 총 테이블 수에 대한 할당량은 Amazon QLDB 할당량 및 제한에 정의되어 있습니다.

테이블 생성 시 태그 지정

참고

테이블 생성 시 태그 지정은 현재 ‭STANDARD 권한 모드의 원장에만 지원됩니다.

테이블 리소스에 태그를 지정할 수 있습니다. 기존 테이블의 태그를 관리하려면 AWS Management Console 또는 API 작업 TagResource, UntagResource, ListTagsForResource을 사용하세요. 자세한 내용은 Amazon QLDB 리소스 태그 지정을 참조하십시오.

테이블을 생성하는 동안 QLDB 콘솔을 사용하거나 CREATE TABLE PartiQL 문에 테이블 태그를 지정하여 테이블 태그를 정의할 수도 있습니다. 다음 예제에서는 environment=production 태그가 있는 Vehicle이라는 테이블을 생성합니다.

CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)

리소스를 생성하는 동안 태그를 지정하면 리소스 생성 후 사용자 지정 태그 지정 스크립트를 실행할 필요가 없습니다. 테이블에 태그가 지정된 후 해당 태그를 기반으로 테이블에 대한 액세스를 제어할 수 있습니다. 예를 들어 특정 태그가 있는 테이블에만 전체 액세스 권한을 부여할 수 있습니다. JSON 정책의 예는 테이블 태그를 기반으로 하는 모든 작업에 대한 전체 액세스 권한 섹션을 참조하세요.

테이블 삭제

테이블을 삭제하려면 기본 DROP TABLE 명령문을 사용하세요. QLDB에 테이블을 삭제하면 해당 테이블이 비활성화됩니다.

예를 들어 다음 명령문은 VehicleRegistration 테이블을 비활성화합니다.

DROP TABLE VehicleRegistration

DROP TABLE 명령문은 테이블의 시스템 할당 ID를 반환합니다. 이제 VehicleRegistration의 상태는 시스템 카탈로그 테이블 information_schema.user_tables에서 INACTIVE여야 합니다.

SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

비활성 테이블의 기록 쿼리

테이블 이름 외에도 테이블 ID를 첫 번째 입력 인수로 사용하여 QLDB 기록 함수를 쿼리할 수도 있습니다. 비활성 테이블의 기록을 쿼리하려면 테이블 ID를 사용해야 합니다. 테이블이 비활성화되면 더 이상 테이블 이름으로 테이블 기록을 쿼리할 수 없습니다.

먼저 시스템 카탈로그 테이블을 쿼리하여 테이블 ID를 찾으세요. 예를 들어 다음 쿼리는 VehicleRegistration 테이블의 tableId를 반환합니다.

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

그러면 이 ID를 사용하여 개정 기록 쿼리에서 동일한 기록 쿼리를 실행할 수 있습니다. 다음은 테이블 ID 5PLf9SXwndd63lPaSIa0O6에서 문서 ID ADR2Ll1fGsU4Jr4EqTdnQF 기록을 쿼리하는 예제입니다. 테이블 ID는 작은 따옴표로 묶여야 하는 문자열 리터럴입니다.

--replace both the table and document IDs with your values SELECT * FROM history('5PLf9SXwndd63lPaSIa0O6', `2000T`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF'

테이블 재활성화

QLDB에서 테이블을 비활성화한 후 UNDROP TABLE 명령문을 사용하여 테이블을 다시 활성화할 수 있습니다.

먼저 information_schema.user_tables에서 테이블 ID를 찾으세요. 예를 들어 다음 쿼리는 VehicleRegistration 테이블의 tableId를 반환합니다. 상태는 INACTIVE과 같아야 합니다.

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

그런 다음 이 ID를 사용하여 테이블을 다시 활성화하세요. 다음은 테이블 ID 5PLf9SXwndd63lPaSIa0O6삭제를 취소하는 예제입니다. 이 경우 테이블 ID는 큰따옴표로 묶는 고유 식별자입니다.

UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"

이제 VehicleRegistration의 상태가 ACTIVE여야 합니다.

인덱스를 생성하고, 설명하고, 삭제하는 방법을 알아보려면 인덱스 관리으로 이동하세요.