kaonmir
Sign In
DynamoDB & S3
1. DynamoDB
점점 대충하게 되네…
AWS DynamoDB 사용기_보조 인덱스 사용 위주로
AWS DynamoDB의 보조 인덱스 사용법
velog.io
Key
파티션 키는
•
물리적인 공간인 파티션을 특정하는 키.
•
그래서 일치하는 값만 가져올 수 있다.
정렬 키는
•
단순한 인덱스로
파티션 내
에서 정렬하는 기준 값이다.
•
따라서 정렬 키가 있으면, 한 아이템에 파티션 키가 두 번 나올 수 있다.
보조 인덱스
보조 인덱스로 검색 효율을 높일 수 있다. 보조 인덱스를 설정하면 새로운 테이블에 마이그레이션해야 한다.
•
Local (
LSI
) : 동일한 파티션 키 내에서
단순히 정보를 분리
하고 싶을 때 사용한다. 우선키와
같은 파티션키
를 사용한다.
•
Global (
GSI
) :
정렬키와는 별개로 특정 키를 인덱스 키로
활용한다. 우선키와
다른 파티션키
를 사용한다.
Read/Write Capacity Unit
•
읽기 (RCU)
: 4KB/s SC, 8KB/s EC
•
쓰기 (WCU)
: 1KB/s
•
Strongly Consistent (SC)
: 가장 최신 데이터를 읽음
•
Eventually Consistent (EC)
: 결과적으로는 최신 데이터를 보장하지만 실시간은 아님.
DAX
자주 읽는 값들을 캐싱해서 읽기 속도를 엄청 빠르게 해준다.
Stream
원하는 이벤트가 발생할 때마다 람다 함수로 넘겨서 작업을 진행할 수 있다. 단, 3개 이상의 람다 함수가 스트림을 받으면 throttling이 발생할 수 있다.
Global Table
현재 테이블을 다른 리전으로 확장할 수 있다. 아이템에는
리전과 업데이트 시간
컬럼이 자동으로 생긴다.
Time To Live (TTL)
아이템에 수명을 줄 수 있다. 이 시간이 지나면 아이템은 테이블에서 삭제된다.
활용
S3 → DynamoDB → ElasticSearch
1.
S3의 메타데이터를 저장하는 용도로 DynamoDB를 사용할 수 있다.
1.
이 정보를 ElasticSearch를 통해 분석할 수 있다.
2. S3
•
S3 이벤트
를 밖으로 보낸다.
•
버킷 정책
으로 다른 리소스를 허용한다.
•
리전 간 복제
를 만들 수 있다.
•
생명주기 규칙
을 만들어서 클래스를 옮기거나 지운다.
•
Glacier 클래스
로 전환해 장기 보관한다.
•
AES-256(S3), KMS
암호화
를 한다.
•
서버 엑세스 로그
를 다른 버킷에 남긴다.
Made with Slashpage