Naming Rules
DynamoDB 의 Table 및 Attribute 등에 지정할 수 있는 허용 문자와 규칙.
- a-z, A-Z, 0-9, _(밑줄), -(대시), .(점)
- 대소문자 구분
- 속성에 예약어(웬만한 프로그래밍 명령어 같은...) 는 사용하지 않는 것이 좋음.
- #(해시) 나 :(콜론) 도 표현식에서 사용되므로 사용하지 않는 것이 좋음.
Data Types
DynamoDB 가 Attribute 에 지원하는 데이터 타입을 다음처럼 분류할 수 있다.
- Scalar Types : number, string, binary, Boolean, null 중 하나의 값만 표현.
- Document Types : list 나 map 같은 복잡한 구조 표현.
- Set Types : string set, number set, binary set 등 여러 Scalar 값 표현.
Scalar Types
1. String
- UTF-8 인코딩 사용.
- 빈문자열 허용하지 않음.
- 한 Item 의 최대 크기는 400KB.
- Partition Key 가 String 일 경우 최대 허용 길이는 2KB.
- Sort Key 가 String 일 경우 최대 허용 길이는 1KB.
- 날짜 / 타임스탬프 표현 가능.
2. Number
- 양수, 음수, 0, 최대 38 자릿수까지 허용.
- 모든 Number Type 은 문자열 형태로 DynamoDB 에 전송되고 연산시 숫자 형태로 처리.
- 날짜 / 타임스탬프 / epoch 시간 표현 가능.
3. Binary
- 압축 텍스트, 암호화 데이터, 이미지 등과 같은 모든 Binary 데이터 저장.
- 해당 데이터를 DynamoDB 로 보낼 때는 Base64 인코딩 형식으로 Bynary 값을 인코딩 해야 한다.
- DynamoDB 는 Base64 인코딩 데이터를 받아, 부호가 없는 바이트 배열로 디코딩하고 Bynary 속성 길이로 사용.
- Partition Key 가 Binary 일 경우 최대 허용 길이는 2KB.
- Sort Key 가 Binary 일 경우 최대 허용 길이는 1KB.
4. Boolean
5. Null
Document Types
List, Map 이 있으며, 서로 중첩이 가능하고 32 Depth 까지 설정 가능.
Attribute 값으로 빈 List 나 Map 허용하지만, 빈 String 이나 빈 Set 은 허용하지 않음.
1. List
- 순서가 지정된 값들을 대괄호[...] 로 묶어 저장 가능.
- List 에 저장될 값은 테이터 타입의 제한이 없음.
- JSON 배열과 유사.
2. Map
- 정렬되지 않은 name-value 집합들을 중괄호{...} 로 묶어 저장 가능.
- Map 에 저장될 값은테이터 타입의 제한이 없음.
- JSON 객체와 유사.
- JSON 문서를 저장하는 데 이상적.
Set Types
- String, Number, Binary Set 을 지원.
- Set 값의 모든 요소 형식은 동일해야 함.
- Set 값의 모든 요소는 중복이 없어야 함.
- 순서가 유지되지 않음.
- 빈 Set 을 허용하지 않음.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,