Amazon S3에서 DynamoDB 데이터 가져오기: 작동 방식 - Amazon DynamoDB

Amazon S3에서 DynamoDB 데이터 가져오기: 작동 방식

데이터를 DynamoDB로 가져오려면 데이터가 CSV, DynamoDB JSON 또는 Amazon Ion 형식으로 Amazon S3 버킷에 있어야 합니다. 데이터는 ZSTD 또는 GZIP 형식으로 압축하거나 압축되지 않은 형식으로 직접 가져올 수 있습니다. 소스 데이터는 단일 Amazon S3 객체이거나 동일한 접두사를 사용하는 여러 Amazon S3 객체일 수 있습니다.

데이터는 가져오기 요청을 시작할 때 생성되는 새 DynamoDB 테이블로 가져오게 됩니다. 보조 인덱스를 사용하여 이 테이블을 만든 다음, 가져오기가 완료되는 즉시 모든 기본 및 보조 인덱스에서 데이터를 쿼리하고 업데이트할 수 있습니다. 가져오기가 완료된 후 전역 테이블 복제본을 추가할 수도 있습니다.

참고

Amazon S3 가져오기 프로세스 중에 DynamoDB는 가져올 새 대상 테이블을 생성합니다. 기존 테이블로의 가져오기는 현재 이 기능에서 지원되지 않습니다.

Amazon S3에서 가져오기는 새 테이블의 쓰기 용량을 소비하지 않으므로 DynamoDB로 데이터를 가져오기 위해 추가 용량을 프로비저닝할 필요가 없습니다. 데이터 가져오기 요금은 가져오기의 결과로 처리되는 Amazon S3의 압축되지 않은 소스 데이터 크기를 기준으로 합니다. 처리되었지만 소스 데이터의 형식 또는 기타 불일치로 인해 테이블에 로드되지 않는 항목도 가져오기 프로세스의 일부로 비용이 청구됩니다. 자세한 정보는 Amazon DynamoDB 요금을 참조하세요.

해당 버킷에서 읽을 수 있는 올바른 권한이 있으면 다른 계정이 소유한 Amazon S3 버킷에서 데이터를 가져올 수 있습니다. 새 테이블은 소스 Amazon S3 버킷과 다른 리전에 있을 수도 있습니다. 자세한 내용은 Amazon Simple Storage Service 설정 및 권한을 참조하세요.

가져오기 시간은 Amazon S3의 데이터 특성과 직접적인 관련이 있습니다. 여기에는 데이터 크기, 데이터 형식, 압축 체계, 데이터 배포의 균일성, Amazon S3 객체 수 및 기타 관련 변수가 포함됩니다. 특히 키가 균일하게 분포된 데이터 세트는 왜곡된 데이터 세트보다 가져오기 속도가 더 빠릅니다. 예를 들어 보조 인덱스의 키가 파티셔닝에 그해의 월을 사용하고 있고 모든 데이터가 12월의 데이터인 경우 이 데이터를 가져오는 데 훨씬 더 오래 걸릴 수 있습니다.

키와 연결된 속성은 기본 테이블에서 고유해야 합니다. 고유하지 않은 키가 있는 경우 가져오기는 마지막 덮어쓰기만 남을 때까지 연결된 항목을 덮어씁니다. 예를 들어 프라이머리 키가 월이고 여러 항목이 9월로 설정된 경우 각각의 새 항목은 이전에 작성된 항목을 덮어쓰며 프라이머리 키 '월'이 9월로 설정된 항목 하나만 남게 됩니다. 이러한 경우 가져오기 테이블 설명에서 처리된 항목 수가 대상 테이블의 항목 수와 일치하지 않습니다.

AWS CloudTrail은 테이블 가져오기의 콘솔 및 API 작업을 모두 로깅합니다. 자세한 내용은 AWS CloudTrail을 사용하여 DynamoDB 작업 로깅 단원을 참조하십시오.

다음 동영상은 Amazon S3에서 DynamoDB로 직접 가져오는 방법을 소개합니다.