메뉴

문서정보

목차

... 오늘 부터(2019.6.27) 제대로 공부해야지

DynamoDB

DynamoDB는 AWS에서 제공하는 비관계형 데이터베이스이다. NoSQL 데이터베이스로 MongoDB와 비슷하게 사용 할 수 있다. DynamoDB의 가장 큰 장점은 완전 관리형 데이터 서비스라는 점이다. RDS 처럼 내부적으로 인스턴스를 만들거나 하지도 않는 서버리스형 데이터베이스 서비스다. 인스턴스 타입을 고른다거나 하는 일체의 작업이 없다. 그냥 테이블을 만드는 것으로 데이터베이스를 사용 할 수 있다.

테이블을 만든다.

DynamoDB 구성

Table 구성

Primary key

Sort key

데이터베이스 관리

테이블 생성

아래와 같은 테이블을 만들려고 한다. 이해하기 쉬운 SQL문으로 작성했다.
CREATE TABLE Music (
    Artist VARCHAR(20) NOT NULL, 
    SongTitle VARCHAR(30) NOT NULL,
    AlbumTitle VARCHAR(25),
    Year INT,
    Price FLOAT,
    Genre VARCHAR(10),
    Tags TEXT,
    PRIMARY KEY(Artist, SongTitle)
);

위 SQL문을 DynamoDB 형식으로 변경했다.
{
    "TableName" : "Music",
    "KeySchema": [       
        { 
            "AttributeName": "Artist", 
            "KeyType": "HASH"
        },
        { 
            "AttributeName": "SongTitle", 
            "KeyType": "RANGE"
        }
    ],
    "AttributeDefinitions": [
        { 
            "AttributeName": "Artist", 
            "AttributeType": "S" 
        },
        { 
            "AttributeName": "SongTitle", 
            "AttributeType": "S" 
        }
    ],
    "ProvisionedThroughput": {
        "ReadCapacityUnits": 1, 
        "WriteCapacityUnits": 1
    }
}
aws cli로 테이블을 만들었다.
# aws dynamodb create-table --cli-input-json file://item.json
Schemaless 데이터베이스이므로 필수 키를 제외하면 다른 아이템을 설정할 필요가 없다.