5단계: 문서의 개정 기록 보기 - Amazon Quantum 원장 데이터베이스(Amazon QLDB)

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

5단계: 문서의 개정 기록 보기

중요

지원 종료 알림: 기존 고객은 07/31/2025에 지원이 종료될 QLDB 때까지 Amazon을 사용할 수 있습니다. 자세한 내용은 Amazon QLDB Ledger를 Amazon Aurora Postgre로 마이그레이션을SQL 참조하세요.

를 사용하여 차량의 등록 데이터를 수정한 후 등록된 모든 소유자의 기록과 기타 업데이트된 필드를 쿼리VIN 1N4AL11D75C109151할 수 있습니다. 내장 기록 함수를 쿼리하여 삽입, 업데이트 및 삭제한 문서의 모든 개정 사항을 볼 수 있습니다.

기록 함수는 애플리케이션 데이터와 관련 메타데이터를 모두 포함하는 테이블의 커밋된 보기에서 개정 사항을 반환합니다. 메타데이터는 각 개정이 이루어진 시점, 순서, 어떤 트랜잭션이 이 개정을 수행했는지를 정확하게 보여줍니다.

이 단계에서는 vehicle-registration 원장의 VehicleRegistration 테이블에 있는 문서의 개정 기록을 쿼리합니다.

개정 기록을 보려면
  1. https://console.aws.amazon.com/qldb 에서 Amazon QLDB 콘솔을 엽니다.

  2. 탐색 창에서 PartiQL 편집기를 선택합니다.

  3. vehicle-registration 원장을 선택합니다.

  4. 문서 기록을 조회하려면 먼저 고유한 id를 찾아야 합니다. 커밋된 보기를 쿼리하는 것 외에도 문서 id를 가져오는 또 다른 방법은 테이블의 기본 사용자 뷰에서 BY 키워드를 사용하는 것입니다. 자세한 내용은 BY 절을 사용하여 문서 ID 쿼리하기 섹션을 참조하세요.

    쿼리 편집기 창에서 다음 문을 입력한 후 실행을 선택합니다.

    SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1N4AL11D75C109151'
  5. 그런 다음 이 id 값을 사용하여 기록 함수를 쿼리할 수 있습니다. 다음 문을 입력한 다음 실행을 선택합니다. 필요에 따라 id 값을 고유한 문서 ID로 교체합니다.

    SELECT h.data.VIN, h.data.City, h.data.Owners FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id
    참고

    이 자습서의 목적을 위해 이 기록 쿼리는 문서 ID ADR2LQq48kB9neZDupQrMm의 모든 개정 내용을 반환합니다. 그러나 가장 좋은 방법은 문서 ID와 날짜 범위(시작 시간 및 종료 시간)를 모두 사용하여 기록 쿼리를 한정하는 것입니다.

    에서 QLDB모든 SELECT 쿼리는 트랜잭션에서 처리되며 트랜잭션 제한 시간 가 적용됩니다. 시작 시간과 종료 시간을 포함하는 기록 쿼리는 날짜 범위 한정이라는 이점을 갖습니다. 자세한 내용은 기록 함수을 참조하세요.

    기록 함수는 커밋된 보기와 동일한 스키마의 문서를 반환합니다. 이 예제에서는 수정된 차량 등록 데이터를 프로젝션합니다. 출력은 다음과 유사합니다.

    VIN 구/군/시 소유자
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:""},SecondaryOwners:[]}
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:"294jJ3YUoH1IEEm8GSabOs"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[{PersonId:"5Ufgdlnj06gF5CWcOIu64s"}]}
    참고

    기록 쿼리가 문서 개정 내용을 항상 순차적으로 반환하지 않을 수도 있습니다.

    출력을 검토하고 변경 사항이 4단계: 원장의 문서 수정에서 수행한 내용을 반영하는지 확인합니다.

  6. 그런 다음 각 개정의 문서 메타데이터를 검사할 수 있습니다. 다음 문을 입력한 다음 실행을 선택합니다. 이번에도 id 값을 자신의 문서 ID로 적절하게 교체하세요.

    SELECT VALUE h.metadata FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id

    출력은 다음과 유사합니다.

    version id txTime txId
    0 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T19:20:360d-3Z "FMoVdWuPxJg3k466Iz4i75"
    1 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:40:199d-3Z "KWByxe842Xw8DNHcvARPOt"
    2 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:44:432d-3Z "EKwDOJRwbHpFvmAyJ2Kdh9"
    3 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:49:254d-3Z "96EiZd7vCmJ6RAvOvTZ4YA"

    이 메타데이터 필드는 각 항목이 언제 수정되었는지, 어떤 트랜잭션을 통해 수정되었는지에 대한 세부 정보를 제공합니다. 이 데이터에서 다음을 추론할 수 있습니다.

    • 이 문서는 시스템이 할당한 idADR2LQq48kB9neZDupQrMm로 고유하게 식별됩니다 이는 Base62-encoded 문자열로 표시되는 범용 고유 식별자(UUID)입니다.

    • txTime는 문서(버전 0)의 초기 개정이 2019-05-23T19:20:360d-3Z에 작성되었음을 보여줍니다.

    • 이후의 각 트랜잭션은 동일한 문서 id, 증분된 버전 번호, 업데이트된 txIdtxTime를 사용하여 새 개정을 생성합니다.

vehicle-registration 원장에서 암호화된 방식으로 문서 개정을 검증하려면 6단계: 원장에 있는 문서 검증로 이동하세요.