'data types'에 해당하는 글 1건



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
손가락귀신
정신 못차리면, 벌 받는다.

,