개발하는 두부

[DynamoDB] 핵심 구성 요소

by 뚜부니

DynamoDB Logo

DynamoDB 테이블에서 항목 및 속성은 작업 시 필요한 핵심 구성 요소이다. 테이블은 항목 집합이고, 각 항목은 속성의 집합이다. DynamoDB는 기본 키를 사용하여 테이블의 각 항목을 고유하게 식별하고 보조 인덱스를 사용하여 보다 유연하게 쿼리를 작성할 수 있도록 도와준다.

DynamoDB는 크기 제한이 있다. 이에 대한 내용은 아래 링크에 접속하여 내용을 확인하면 된다.

 

Amazon DynamoDB의 서비스, 계정 및 테이블 할당량 - Amazon DynamoDB

테이블 감소 제한과 글로벌 보조 인덱스 감소 제한은 별개이므로 특정 테이블에 대한 모든 글로벌 보조 인덱스는 자체 감소 제한을 갖습니다. 그러나 단일 요청이 테이블 및 글로벌 보조 인덱스

docs.aws.amazon.com

 

1. 테이블, 항목 및 속성

DynamoDB의 기본 구성 요소는 다음과 같다.

Element Description
테이블 데이터(항목) 집합. 다른 DB 시스템과 마찬가지로 데이터를 테이블에 저장.
항목 각 테이블에는 0개 이상의 항목 존재. 각 항목은 하나 이상의 속성 집합.
속성 기본적인 데이터 요소로 더 이상 나뉠 필요가 없는 것.

 

 

 

 

 

 

왼쪽 그림에 대해 설명하면,

People 이라는 하나의 테이블에 총 3개의 항목이 들어가 있고 각 항목은 PersonID 라는 기본키(Primary Key)를 통해 구분된다.

첫 번째 항목은 PersonID, LastName, FirstName, Phone이라는 속성을 가지며, 두 번째 항목은 PersonID, LastName, FirstName, Address라는 속성을 가지는 것으로 보아 각 항목의 속성은 다르게 구성할 수 있음을 알 수 있다.

Address를 보면 하위에 속성이 있는 것을 확인 할 수 있는데 이를 **내포 속성** 이라고 한다. 다시 말해, 내포 속성은 Depth를 가지고 있는 속성이고 DynamoDB는 32 Depth까지 지원한다.

 

 

 

 

2. 기본 키

기본 키는 테이블의 각 항목을 나타내는 고유 식별자로, 테이블을 생성할 때 지정해야 한다.

DynamoDB는 두 가지의 기본 키를 지원한다.

Key Description
Partition Key (파티션키) Partition Key(파티션키)로 알려진 하나의 속성으로 구성되는 단순 기본 키.
Partition key and sort key (파티션키 및 정렬키) Composite Primary Key(복합 기본키)로 지칭되며, 파티션키와 정렬키라는 두 개의 속성으로 구성됨.

 

3. 보조 인덱스

테이블에서 하나 이상의 보조 인덱스를 생성할 수 있다. 보조 인덱스는 기본 키에 대한 쿼리는 물론 대체 키를 사용하여 테이블의 데이터에 대한 쿼리까지 실행할 수 있다. 보조 인덱스를 생성한 후 인덱스를 통해 데이터를 읽을 수 있으며, 인덱스의 종류는 두 가지이다.

Index Description
Global Secondary Index 기본키(파티션키+정렬키)가 테이블의 기본키와 다를 수 있는 인덱스
Local Secondary Index 테이블의 파티션키와 동일하지만 정렬키는 다른 인덱스

 

4. DynamoDB 스트림

DynamoDB 스트림은 DynamoDB 테이블의 데이터 수정 이벤트를 캡처하는 선택적 기능이다. 각 이벤트는 스트림 레코드에 의해 나타나고, 스트림을 설정하면 다음 이벤트마다 스트림 레코드를 기록한다.

  1. 항목 추가 : 모든 속성을 포함하여 전체 항목의 이미지 캡처
  2. 항목 업데이트 : 항목에서 수정된 속성의 이전 및 이후 이미지 캡처
  3. 항목 삭제 : 삭제하기 전 전체 항목의 이미지 캡처

스트림에 대한 추가적인 내용은 아래 링크에 접속하면 확인할 수 있다.

 

스트림에 대한 변경 데이터 캡처DynamoDB - Amazon DynamoDB

항목 안의 어떠한 데이터도 변경되지 않는 PutItem 또는 UpdateItem 작업이 수행되면 DynamoDB 스트림은 해당 작업에 대하여 아무런 스트림 레코드도 작성하지 않습니다.

docs.aws.amazon.com

 


🔗Reference

👉 Amazon DynamoDB의 핵심 구성 요소
👉 Dynamo DB 공식 문서 정리 1편 - 핵심 구성 요소

 

 

 

'DB > DynamoDB' 카테고리의 다른 글

[DynamoDB] Java와 DynamoDB 시작하기  (0) 2021.02.03
[DynamoDB] 웹 서비스 설정  (0) 2021.01.31
[DynamoDB] 이름 지정 규칙 및 데이터 형식  (0) 2021.01.30
[DynamoDB] DynamoDB API  (0) 2021.01.29

블로그의 정보

개발하는 두부

뚜부니

활동하기