콘솔을 사용하여 Amazon QLDB에 액세스 - Amazon Quantum Ledger Database(QLDB)

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

콘솔을 사용하여 Amazon QLDB에 액세스

https://console.aws.amazon.com/qldb 에서 아마존 AWS Management Console QLDB용 페이지에 액세스할 수 있습니다.

콘솔을 사용하여 QLDB에서 다음을 수행할 수 있습니다.

  • 원장을 생성, 삭제, 설명하고 목록을 작성합니다

  • PartiQL 편집기를 사용하여 PartiQL 문을 실행합니다.

  • QLDB 리소스의 태그를 관리합니다.

  • 저널 데이터를 암호로 검증합니다.

  • 저널 블록을 내보내거나 스트리밍할 수 있습니다.

Amazon QLDB 원장을 생성하고 이를 샘플 애플리케이션 데이터로 설정하는 방법을 알아보려면 Amazon QLDB 콘솔 시작하기 섹션을 참조하세요.

PartiQL 편집기 빠른 참조

Amazon QLDB는 PartiQL의 하위 집합을 쿼리 언어로 지원하고 Amazon Ion은 문서 지향 데이터 형식으로 지원합니다. PartiQL의 QLDB 구현에 대한 전체 안내서와 자세한 내용은 Amazon QLDB PartiQL 참조 섹션을 참조하세요.

다음 항목에서는 QLDB에서 PartiQL을 사용하는 방법에 대한 간략한 참조 개요를 제공합니다.

QLDB의 PartiQL 빠른 팁

다음은 QLDB에서 PartiQL을 사용하기 위한 팁과 모범 사례를 간략하게 요약한 것입니다.

  • 동시성 및 트랜잭션 제한 이해 - SELECT 쿼리를 포함한 모든 명령문은 30초의 트랜잭션 시간 제한을 포함하여 OCC(Optimistic Concurrency Control) 충돌 및 트랜잭션 제한의 영향을 받습니다.

  • 인덱스 사용 – 카디널리티가 높은 인덱스를 사용하고 대상 쿼리를 실행하여 명령문을 최적화하고 전체 테이블 스캔을 방지합니다. 자세한 내용은 쿼리 성능 최적화 섹션을 참조하세요.

  • 동등 조건자 사용 – 인덱싱된 조회에는 동등 연산자(= 또는 IN)가 필요합니다. 부등 연산자(<, >, LIKE, BETWEEN)는 인덱싱된 조회에 적합하지 않으며 테이블 전체를 스캔해야 합니다.

  • 내부 조인만 사용 — QLDB는 내부 조인만 지원합니다. 가장 좋은 방법은 조인하려는 각 테이블에 대해 인덱싱된 필드를 조인하는 것입니다. 조인 기준과 동등 조건자 모두에 대해 높은 카디널리티 인덱스를 선택하세요.

명령

QLDB에서는 다음 PartiQL 명령을 지원합니다.

데이터 정의 언어(DDL)
Command 설명
CREATE INDEX 테이블의 최상위 문서 필드에 대한 인덱스를 생성합니다.
CREATE TABLE 테이블을 생성합니다.
DROP INDEX 테이블에서 인덱스를 삭제합니다.
DROP TABLE 기존 테이블을 비활성화합니다.
UNDROP TABLE 비활성 테이블을 다시 활성화합니다.
데이터 조작 언어(DML)
Command 설명
DELETE 문서의 최종 수정본을 새로 만들어 활성 문서를 삭제된 것으로 표시합니다.
FROM (INSERT, REMOVE, 또는 SET) 의미상 UPDATE과 같습니다.
INSERT 테이블에 하나 이상의 문서를 추가합니다.
SELECT 하나 이상의 테이블에서 데이터를 가져옵니다.
UPDATE 문서 내의 특정 요소를 업데이트, 삽입 또는 제거합니다.

DML 문 예제

INSERT

INSERT INTO VehicleRegistration VALUE { 'VIN' : 'KM8SRDHF6EU074761', --string 'RegNum' : 1722, --integer 'PendingPenaltyTicketAmount' : 130.75, --decimal 'Owners' : { --nested struct 'PrimaryOwner' : { 'PersonId': '294jJ3YUoH1IEEm8GSabOs' }, 'SecondaryOwners' : [ --list of structs { 'PersonId' : '1nmeDdLo3AhGswBtyM1eYh' }, { 'PersonId': 'IN7MvYtUjkp1GMZu0F6CG9' } ] }, 'ValidToDate' : `2020-06-25T` --Ion timestamp literal with day precision }

UPDATE-INSERT

UPDATE Vehicle AS v INSERT INTO v VALUE 26500 AT 'Mileage' WHERE v.VIN = '1N4AL11D75C109151'

UPDATE-REMOVE

UPDATE Person AS p REMOVE p.Address WHERE p.GovId = '111-22-3333'

SELECT – 상관 하위 쿼리

SELECT r.VIN, o.SecondaryOwners FROM VehicleRegistration AS r, @r.Owners AS o WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

SELECT – 내부 조인

SELECT v.Make, v.Model, r.Owners FROM VehicleRegistration AS r INNER JOIN Vehicle AS v ON r.VIN = v.VIN WHERE r.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

SELECT – BY 절을 사용하여 문서 ID 가져오기

SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1HVBBAANXWH544237'

시스템 정의 뷰

QLDB에서는 다음과 같은 시스템 정의 테이블 뷰를 지원합니다.

설명
table_name 사용자 데이터의 현재 상태만 포함하는 테이블의 기본 사용자 뷰입니다.
_ql_committed_table_name 사용자 데이터와 시스템에서 생성한 메타데이터(예: 문서 ID)의 현재 상태를 모두 포함하는 테이블의 전체 시스템 정의 커밋된 보기입니다.
history(table_name) 테이블의 전체 개정 기록을 반환하는 내장 기록 함수입니다.

기본 구문 규칙

QLDB는 PartiQL에 대해 다음과 같은 기본 구문 규칙을 지원합니다.

문자 설명
' 작은따옴표는 문자열 값 또는 Amazon Ion 구조의 필드 이름을 나타냅니다.
" 큰따옴표는 따옴표로 묶인 식별자를 나타냅니다(예: 테이블 이름으로 사용되는 예약어).
` 백틱은 Ion 리터럴 값을 나타냅니다.
. 점 표기법은 상위 구조의 필드 이름에 액세스합니다.
[ ] 대괄호는 Ion list을 정의하거나 기존 목록의 0부터 시작하는 서수를 나타냅니다.
{ } 중괄호는 Ion struct을 정의합니다.
<< >> 이중 꺾쇠 괄호는 순서가 지정되지 않은 컬렉션인 PartiQL 백을 정의합니다. 백을 사용하여 여러 문서를 테이블에 삽입합니다.
대소문자 구분 필드 이름과 테이블 이름을 포함한 모든 QLDB 시스템 개체 이름은 대소문자를 구분합니다.

PartiQL 편집기 키보드 바로 가기

QLDB 콘솔의 PartiQL 편집기는 다음 키보드 단축키를 지원합니다.

Action macOS Windows
Run Cmd+Return Ctrl+Enter
설명 Cmd+/ Ctrl+/
Clear Cmd+Shift+Delete Ctrl+Shift+Delete