Amazon S3 메타데이터는 범용 버킷의 객체에 대한 메타데이터를 자동으로 캡처하고, 쿼리할 수 있는 읽기 전용 완전관리형 Apache Iceberg 테이블에 저장하여 데이터 검색을 가속화합니다. 이러한 읽기 전용 테이블을 메타데이터 테이블이라고 합니다. 객체가 범용 버킷에 추가, 업데이트 및 제거되면 S3 메타데이터는 해당 메타데이터 테이블을 자동으로 새로 고쳐 최신 변경 사항을 반영합니다.
기본적으로 S3 메타데이터는 세 가지 유형의 메타데이터를 제공합니다.
-
객체의 생성 시간 및 스토리지 클래스와 같은 시스템 정의 메타데이터
-
객체 업로드 중에 포함된 태그 및 사용자 정의 메타데이터와 같은 사용자 지정 메타데이터
-
객체가 업데이트되거나 삭제되는 시기 및 요청을 수행한 AWS 계정과 같은 이벤트 메타데이터
메타데이터 테이블에 저장되는 데이터에 대한 자세한 내용은 S3 메타데이터 테이블 스키마 섹션을 참조하세요.
S3 메타데이터를 사용하면 S3 객체에 대한 메타데이터를 쉽게 찾고 저장하고 쿼리할 수 있으므로 비즈니스 분석, 콘텐츠 검색, 인공 지능 및 기계 학습(AI/ML) 모델 훈련 등에 사용할 데이터를 빠르게 준비할 수 있습니다.
메타데이터 테이블은 테이블 형식 데이터에 최적화된 스토리지를 제공하는 S3 테이블 버킷에 저장됩니다. 메타데이터를 쉽게 쿼리하기 위해 테이블 버킷을 AWS Glue Data Catalog와 통합할 수 있습니다. 테이블 버킷이 AWS Glue Data Catalog와 통합되면 Amazon Athena, Amazon EMR, Amazon Redshift, Apache Spark 및 Apache Trino와 같은 쿼리 엔진을 사용하여 메타데이터 테이블을 직접 쿼리할 수 있습니다 Apache Iceberg 형식을 지원하는 다른 애플리케이션을 사용하여 메타데이터 테이블을 쿼리할 수도 있습니다. 메타데이터 테이블에서 대시보드를 생성하려면 Amazon QuickSight를 사용합니다.
S3 메타데이터 요금은 Amazon S3 요금
메타데이터 테이블 작동 방식
메타데이터 테이블은 Amazon S3에서 관리하며 Amazon S3 외부의 IAM 위탁자는 수정할 수 없습니다. (하지만 사용자의 메타데이터 테이블은 사용자가 삭제할 수 있습니다.) 따라서 메타데이터 테이블은 읽기 전용이므로 버킷의 콘텐츠를 올바르게 반영할 수 있습니다.
Apache Iceberg 메타데이터 테이블 성능을 최상의 상태로 유지하기 위해 Amazon S3는 테이블에 대해 압축 및 참조되지 않은 파일 제거와 같은 유지 관리 활동을 정기적으로 수행합니다. 이러한 유지 관리 활동은 메타데이터 테이블 저장 비용을 최소화하고 쿼리 성능을 최적화하는 데 도움이 됩니다. 이 테이블 유지 관리는 자동으로 수행되므로 사용자가 옵트인하거나 지속적으로 관리할 필요가 없습니다. 그러나 필요한 경우 이러한 테이블 유지 관리 활동을 구성할 수 있습니다. 자세한 내용은 Table bucket maintenance를 참조하세요.
참고
S3 메타데이터는 사용자가 범용 버킷을 변경할 때 메타데이터 테이블에 지속적으로 추가하도록 설계되었습니다. 각 업데이트는 메타데이터 테이블의 새 버전인 스냅샷을 생성합니다. 메타데이터 테이블은 읽기 전용이므로 메타데이터 테이블에서 레코드를 삭제할 수 없습니다. 또한 S3 테이블의 스냅샷 만료 기능을 사용하여 메타데이터 테이블의 이전 스냅샷을 만료시킬 수 없습니다.
비용을 최소화하기 위해 메타데이터 테이블 구성과 메타데이터 테이블을 주기적으로 삭제한 다음 다시 생성할 수 있습니다. 자세한 내용은 메타데이터 테이블 구성 삭제 및 메타데이터 테이블 삭제 단원을 참조하세요.
S3 관리형 메타데이터 테이블에 객체 메타데이터를 생성하고 저장하려면 범용 버킷에 대한 메타데이터 테이블 구성을 생성합니다. Amazon S3는 버킷에서 구성이 활성 상태인 한 메타데이터 테이블을 지속적으로 업데이트하여 데이터에 대한 최신 변경 사항을 반영하도록 설계되었습니다.
메타데이터 테이블 구성을 생성하려면 메타데이터 테이블을 생성하고 관리하는 데 필요한 AWS Identity and Access Management(IAM) 권한이 있는지 확인해야 합니다. 자세한 내용은 메타데이터 테이블 구성에 대한 권한 설정 단원을 참조하십시오. 또한 메타데이터 테이블을 저장할 S3 테이블 버킷을 생성하거나 지정해야 합니다. 이 테이블 버킷은 범용 버킷과 동일한 AWS 리전 및 계정에 있어야 합니다. 테이블 버킷 생성에 대한 자세한 내용은 Creating table buckets을 참조하세요.
참고
S3 메타데이터는 메타데이터 테이블 구성을 생성하기 전에 범용 버킷에 이미 존재한 객체에는 적용되지 않습니다. 즉, S3 메타데이터는 메타데이터 테이블 구성을 생성한 후에 발생하는 변경 이벤트(예: 업로드, 업데이트 및 삭제)에 대한 메타데이터만 캡처합니다.
메타데이터 테이블 구성에 대한 업데이트를 모니터링하려면 AWS CloudTrail을 사용할 수 있습니다. 자세한 내용은 CloudTrail 로깅을 통해 추적되는 Amazon S3 버킷 수준 작업 단원을 참조하십시오.