String: UTF-8 인코딩을 사용하며 문자열의 길이는 0을 초과해야한다. DynamoDB는 문자 코드 값의 크기로 문자열 비교를 수행한다.("a"는 "A"보다 크다.) 문자열을 이용하여 날짜 혹은 타임 스탬프를 표현할 수 있다.
Binary: 실행 파일이나 압축 파일, 이미지와 같은 모든 이진 데이터를 저장하기 위한 타입으로 비교시에는 각 바이트를 unsigned char로 간주하여 대소를 비교한다. 어플리케이션에서 binary data를 DynamoDB로 보내기 전에는 Base64로 인코딩해야한다.
Boolean: true or false
Null: unknown or undefined
데이블의 데이터 수정 이벤트를 캡쳐하는 선택적 기능으로, 각 이벤트는 스트림 레코드에 나타나게 된다. 테이블에 스트림을 활성화하면 1. 테이블에 새로운 항목이 추가될 경우 모든 속성을 포함하여 캡쳐, 2. 항목이 업데이트 되면 수정 이전의 인스턴스, 수정 이후의 인스턴스 캡쳐, 3. 항목이 삭제되면 삭제 직전에 전체 항목 캡쳐
할 수 있다.
각 스트림 레코드에는 테이블의 이름, 이벤트 타임스탬프와 같이 다른 메타 데이터들도 포함되어 있으며, 스트림 레코드는 24시간 TTL을 갖고 있다.
스트림과 Lambda를 이용하여 트리거를 만들 수 있다.(테이블에 스트림을 설정한 다음 람다 함수와 연결할 수 있다.)
DynamoDB 개념정리
AWS-DynamoDB : 데이터 조회하기
서버리스 앱 개발하기 2 - 아마존 DynamoDB 시작하기. CRUD부터 Scan까지
AWS DynamoDB 사용기_보조 인덱스 사용 위주로
Reducing database queries to a minimum with DataLoaders