What is Amazon DynamoDB? - Amazon DynamoDB

서버리스 분산형 NoSQL 데이터베이스

AWS에서 제공하는 서버리스 기반 Key-Value형식의 NoSQL 데이터 베이스이다.

→ 테이블 Join이 불필요하다.(지원X)

→ ACID 트랜잭션(원자성, 일관성, 격리성, 영속성) 지원

→ 모든 규모에서 10m/s 미만의 성능을 제공하여 관계형 데이터베이스의 성능과 확장성을 개선

테이블, 항목 및 속성

HowItWorksTables-2024.png

People

{
    "PersonID": 101,
    "LastName": "Smith",
    "FirstName": "Fred",
    "Phone": "555-4321"
}

{
    "PersonID": 102,
    "LastName": "Jones",
    "FirstName": "Mary",
    "Address": {
                "Street": "123 Main",
                "City": "Anytown",
                "State": "OH",
                "ZIPCode": 12345
    }
}

{
    "PersonID": 103,
    "LastName": "Stephens",
    "FirstName": "Howard",
    "Address": {
                "Street": "123 Main",
                "City": "London",                                    
                "PostalCode": "ER3 5K8"
    },
    "FavoriteColor": "Blue"
} 
// 중첩 속성 예시
{
  "userId": "u001",
  "name": "Kim",
  "address": {
    "city": "Seoul",
    "detail": {
      "road": "Teheran-ro",
      "building": {
        "name": "ABC Tower",
        "floor": {
          "value": 12
        }
      }
    }
  }
}

DynamoDB attribute 타입 종류

타입 설명 예시
String 문자열 "hello"
Number 숫자 123
Boolean 참/거짓 true
Map 객체 { "city": "Seoul" }
List 배열 ["a", "b"]
String Set 문자열 집합 ["tag1", "tag2"]
Number Set 숫자 집합 [1, 2, 3]
Binary 바이너리 이미지/파일 일부 등

Primary Key

테이블을 생성할 때는 테이블 이름 외에도 테이블의 기본 키를 지정해야 한다. Primary Key는 테이블의 각 항목을 나타내는 고유 식별자이며, 두 항목이 동일한 키를 가질 수 없다.

Primary Key 속성에 허용되는 데이터 형식은 문자열. 숫자 또는 이진수 뿐이다. 다른 속성들은 제한이 없다.