Amazon DynamoDB 사용

이 자습서에서는 DynamoDB 콘솔을 사용하여 간단한 테이블을 생성하고, 데이터를 추가하고, 추가한 데이터를 스캔 및 쿼리하고, 데이터를 삭제하고, 테이블을 삭제하는 방법을 배우게 됩니다. DynamoDB는 완전 관리형 클라우드 데이터베이스로서 문서 모델과 키-값 스토어 모델을 모두 지원합니다. 유연한 데이터 모델, 안정적인 성능, 처리량 용량 자동 조정 기능은 모바일, 웹, 게임, 광고 기술, IoT, 그 외 많은 애플리케이션에 매우 적합합니다.

이 자습서에서 수행하는 모든 것은 프리 티어에 해당합니다.

NoSQL 테이블을 생성 및 쿼리하려면 계정 필요

몇 분 만에 무료 계정 생성

AWS 프리 티어에서는 스토리지 25GB 및 월별 최대 2억 개의 Amazon DynamoDB 요청이 제공됩니다.

AWS 프리 티어 세부 정보 보기 »

 

여기를 클릭하면 AWS Management Console이 새 브라우저 창에서 열리므로 이 단계별 안내서를 계속 열어 놓을 수 있습니다. 이 화면이 표시되면, 서비스 검색창에 DynamoDB를 입력 후 클릭하여 DynamoDB 콘솔을 엽니다.

AWS 콘솔 이미지

(확대하려면 클릭)

tmt_create-nosql-table-01

이 단계에서는 DynamoDB 콘솔을 사용하여 테이블을 생성합니다.


a. DynamoDB 콘솔에서 Create Table을 클릭합니다.

create-select-nosql1

(확대하려면 클릭)

create-select-nosql1

b.  이 자습서의 사용 사례로 음악 라이브러리를 사용할 것입니다.  Table name 필드에 "Music"을 입력합니다.

create-select-nosql_a0

(확대하려면 클릭)

create-select-nosql_a0

c.  Partition Key를 사용하여 확장성을 위해 여러 파티션에 데이터를 분산합니다. 균등하게 분산된 액세스 패턴을 가질 가능성이 크고 다양한 값을 가진 속성을 선택하는 것이 중요합니다. Partition Key 필드에 "Artist"를 입력합니다.

 

create-select-nosql_a1

(확대하려면 클릭)

create-select-nosql_a1

d. 각 아티스트가 다수의 노래를 작곡할 수 있으므로, Sort Key를 사용하면 손쉽게 정렬할 수 있습니다. Add sort key 상자의 확인란을 선택합니다. Sort Key 필드에 "SongTitle"을 입력합니다.

 

create-select-nosql_a2

(확대하려면 클릭)

create-select-nosql_a2

e. 그리고 테이블에 대해 DynamoDB Auto Scaling을 활성화합니다.

DynamoDB Auto Scaling은 요청 볼륨에 따라 테이블의 읽기 및 쓰기 용량을 변경합니다. DynamoDB는 DynamoDBAutoscaleRole이라는 IAM 역할을 사용하여 자동으로 Auto Scaling 프로세스를 관리합니다. DynamoDB는 사용자가 계정에서 Auto Scaling을 처음 활성화할 때 이 역할을 생성합니다.

Use default settings 확인란을 해제하여 DynamoDB에게 이 역할을 생성하도록 지시합니다.

create-select-nosql23

(확대하려면 클릭)

create-select-nosql23

f. 보조 인덱스, 프로비저닝된 용량 및 Auto Scaling을 지나 Create 버튼까지 화면을 아래로 스크롤합니다. 본 자습서에서는 이러한 설정을 변경하지 않습니다.

Auto Scaling 섹션에서 DynamoDB가 사용자를 위해 DynamoDBAutoscaleRole 역할을 생성하는 것을 볼 수 있습니다.

이제 Create를 선택합니다.

[Music] 테이블을 사용할 수 있게 되면, 확인란과 함께 테이블 목록에 표시됩니다.

축하합니다! Amazon Dynamo DB 콘솔을 사용하여 NoSQL 테이블을 생성했습니다.

create-select-nosql25

(확대하려면 클릭)

create-select-nosql25

이 단계에서는 데이터를 새로운 DynamoDB 테이블에 추가합니다.


a. Iteams 탭을 클릭합니다. Items 탭 아래에 있는 Create item을 클릭합니다.

create-select-nosql_a3

(확대하려면 클릭)

create-select-nosql_a3

b. 데이터 입력 창에 다음과 같이 입력합니다.

  • "Artist" 속성에는 "No One You Know"를 입력하고,
  • "SongTitle" 속성에는 "Call Me Today"를 입력한 후,
  • "Save"를 클릭하여 항목을 저장합니다.
create-select-nosql9

(확대하려면 클릭)

create-select-nosql9

c. 같은 프로세스를 반복하여 "Music" 테이블에 몇 가지 항목을 더 추가합니다.

  • Artist: No One You Know, SongTitle: My Dog Spot
  • Artist: No One You Know, SongTitle: Somewhere Down The Road
  • Artist: The Acme Band, SongTitle: Still in Love
  • Artist: The Acme Band, SongTitle: Look Out, World
create-select-nosql_a5

(확대하려면 클릭)

create-select-nosql_a5

이 단계에서는 쿼리 작업을 사용해 테이블에 있는 데이터를 검색합니다. DynamoDB에서는 쿼리 작업이 효율적이며 키를 사용하여 데이터를 찾습니다. 반면에 스캔 작업은 전체 테이블을 트래버스합니다.


a. Items 위에 뜬 진회색 배너에 있는 드롭다운 목록을 사용하여 ScanQuery로 변경합니다. 

create-select-nosql24

(확대하려면 클릭)

create-select-nosql24

b. 콘솔을 사용하여 다양한 방법으로 Music 테이블을 쿼리할 수 있습니다. 첫 번째 쿼리를 위해 다음을 수행합니다.

  • "Artist" 필드에 "No One You Know"를 입력한 다음, Start search를 클릭합니다.  "No One You Know"가 부른 모든 노래가 표시됩니다.

다른 쿼리를 실행해 보겠습니다.

  • "Artist" 필드에 "The Acme Band"를 입력한 다음, Start search를 클릭합니다.  "The Acme Band"가 부른 모든 노래가 표시됩니다.
create-select-nosql12

(확대하려면 클릭)

create-select-nosql12

c. 또 다른 쿼리를 실행하되 이번에는 검색 결과를 좁혀보겠습니다.

  • "Artist" 필드에 "The Acme Band"를 입력하고,
  • "SongTitle" 필드의 드롭다운 목록에서 "Begins with"를 선택한 다음 "S"를 입력한 후,
  • Start search  를 클릭합니다. "The Acme Band"가 부른 "Still in Love"만 표시됩니다.

 

create-select-nosql15

(확대하려면 클릭)

create-select-nosql15

이 단계에서는 DynamoDB 테이블에서 항목을 삭제합니다.


Query 드롭다운 메뉴를 다시 Scan으로 변경합니다.  

"The Acme Band" 옆에 있는 확인란을 클릭하면, 선택된 항목이 강조 표시됩니다.  Actions 드롭다운 메뉴에서 Delete를 선택합니다.  항목을 삭제할 것인지 묻는 메시지가 표시됩니다.  Delete를 클릭하면 항목이 삭제됩니다.

create-select-nosql_a6

(확대하려면 클릭)

create-select-nosql_a6

이 단계에서는 DynamoDB 테이블을 삭제합니다.


Amazon DynamoDB 콘솔에서 손쉽게 테이블을 삭제할 수 있습니다.  사실은 사용하지 않는 테이블을 삭제하여 더는 비용이 부과되지 않도록 하는 것이 모범 사례입니다.

  • Amazon DynamoDB 콘솔에서 Music 테이블 옆에 있는 라디오 버튼을 클릭하고 Delete table을 클릭합니다.
  • 확인 대화 상자가 표시됩니다. Delete 버튼을 클릭합니다.

참고: 기본적으로 해당 테이블에 대한 CloudWatch 경보도 함께 삭제됩니다. 이 프로세스는 완료되는 데 몇 초 정도 걸립니다.

create-select-nosql20

(확대하려면 클릭)

create-select-nosql20

첫 번째 DynamoDB 테이블을 만들고, 테이블에 항목을 추가한 다음, 테이블을 쿼리하여 원하는 항목을 찾았습니다.  또한, AWS Management Console을 통해 DynamoDB 테이블과 항목을 보면서 관리하는 방법을 배웠습니다.

DynamoDB는 확장성, 처리량 및 안정적인 성능이 매우 중요한 모바일, 웹, 게임, 광고 기술 및 IoT 애플리케이션에 적합합니다.


이제 관리 콘솔에서 테이블과 항목을 생성, 관리 및 쿼리하는 방법을 익혔으므로, 다음 자습서로 진행하여 대용량 데이터를 가져와서, 필요한 정보를 빠르고 쉽게 찾는 방법을 배울 수 있습니다.  영화 데이터베이스를 가져와서 좋아하는 배우와 등장인물에 관한 세부 정보를 신속하게 찾는 방법을 알아보게 됩니다.

DynamoDB 작업의 기초 배우기 »

아니요