개발하는 두부

[DynamoDB] DynamoDB API

by 뚜부니

DynamoDB Logo

 

Amazon DynamoDB를 사용하려면 애플리케이션에서 간단한 API 작업을 몇 가지 사용해야 한다.

 

1. 제어 플레인

제어플레인은 DynamoDB 테이블을 생성하고 관리하도록 해주며, 인덱스, 스트림 및 테이블에 따라 다른 객체를 사용하도록 해준다.

Table Description
CreateTable 새 테이블 생성. 하나 이상의 보조 인덱스를 생성하고 테이블에 DynamoDB 스트림 설정도 가능.
DescribeTable 기본 키 스키마, 처리량 설정, 인덱스 정보와 같은 테이블에 대한 정보 반환
ListTables 모든 테이블의 이름을 목록으로 반환
UpdateTable 테이블의 설정이나 인덱스를 수정하거나, 테이블의 새 인덱스 생성 또는 제거, 테이블의 DynamoDB 스트림 설정을 수정.
DeleteTable 테이블 및 해당 종속적 객체 모두 제거

 

2. 데이터 플레인

데이터 플레인 작업은 테이블의 데이터에 대해 CRUD (Create, Read, Update Delete) 작업을 수행하도록 해준다. 데이터 플레인 작업의 일부는 보조 인덱스로부터 데이터를 읽도록 해주기도 한다.

Amazon DynamoDB용 PartiQL (SQL 호환 쿼리 언어)을 사용하여 이러한 CRUD 작업을 수행하거나 별개의 API 호출로 구분하는 DynamoDB의 클래식 CRUD API를 사용할 수 있다.

2.1 PartiQL- SQL 호환 쿼리 언어

  • ExecuteStatement : 테이블에서 여러 항목을 읽고, 단일 항목을 쓰거나 업데이트 할 수 있다. 단일 항목을 쓰거나 업데이트할 때는 기본 키 속성을 지정해야 한다.
  • BatchExecuteStatement : 테이블에서 여러 항목을 쓰거나 업데이트하거나 읽는다. 응용 프로그램은 항목을 쓰거나 읽으려면 단일 네트워크 왕복만 필요하므로 ExecuteStatement보다 효율적이다.

👉 더 자세한 내용은 아래 링크

 

PartiQL - 용 SQL 호환 쿼리 언어 Amazon DynamoDB - Amazon DynamoDB

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

2.2 클래식 APIs

  1. 데이터 생성
    • PutItem : 테이블에 단일 항목으로 쓰며, 기본 키 속성은 꼭 지정해야 하지만 다른 속성은 지정하지 않아도 된다.
    • BatchWriteItem : 테이블에 최대 25개의 항목을 쓰며, 항목을 쓸 때 애플리케이션이 네트워크를 한 번만 왕복하면 되므로 PutItem 을 여러 번 호출하는 것보다 효율적이다.
  2. 데이터 읽기
    • GetItem : 테이블에서 단일 항목을 가져오며, 원하는 항목의 기본키를 지정해야 한다. 전체 항목 또는 속성 일부만 가져올 수 있다.
    • BatchGetItem : 하나 이상의 테이블에서 최대 100개의 항목을 가져오며, 항목을 읽을 때 애플리케이션이 네트워크를 한 번만 왕복하면 되므로 GetItem 을 여러 번 호출하는 것보다 효율적이다.
    • Query : 특정 파티션키가 있는 모든 항목을 가져오며, 파티션키 값을 지정해야 한다. 전체 항목 또는 속성 일부만 가져올 수 있다. 경우에 따라 정렬키 값에 조건을 적용하여 파티션키가 동일한 데이터의 하위 집합만 검색할 수도 있다. 테이블이나 인덱스에 파티션키와 정렬키가 모두 있는 경우 이 작업을 테이블이나 인덱스에 사용할 수 있다.
    • Scan : 지정한 테이블 또는 인덱스의 전체 항목 또는 속성 일부를 가져올 수 있다. 필터링 조건을 적용하여 필요한 값만 반환하고 나머지는 버릴 수도 있다.
  3. 데이터 업데이트
    • UpdateItem : 항목에서 하나 이상의 속성을 수정하며, 수정하려는 항목의 기본키를 지정해야 한다. 여기서 수정은 새로운 속성 추가, 기존 속성 수정 또는 제거를 의미한다.사용자 정의 조건을 만족할 때 업데이트가 수행되는 조건부 업데이트도 가능하다.
  4. 데이터 삭제
    • DeleteItem : 테이블에서 단일 항목을 삭제하며, 삭제하려는 항목의 기본키를 지정해야 한다.
    • BatchWriteItem : 하나 이상의 테이블에서 최대 25개의 항목을 삭제한다.

 

3. DynamoDB 스트림

DynamoDB 스트림 작업을 사용하면 테이블에 스트림을 설정 또는 해제할 수 있으며, 스트림에 포함되어 있는 데이터 수정 레코드에 액세스할 수 있다.

  • ListStreams : 모든 스트림 목록 또는 특정 테이블의 스트림만 반환한다.
  • DescribeStream : ARN( (Amazon Resource Name) 및 애플리케이션이 첫 스트림 레코드를 읽기 시작할 수 있는 위치와 같은 스트림에 대한 정보를 반환한다.
  • GetShardIterator : 애플리케이션이 스트림으로부터 레코드를 가져오는 데 사용하는 데이터 구조인 Shard iterator 를 반환한다.
  • GetRecords : 지정된 Shard iterator 를 사용하여 하나 이상의 스트림 레코드를 가져온다.

 

4. Transactions

트랜잭션은 원자성, 일관성, 격리 및 내구성(ACID)을 제공하여 애플리케이션에서 데이터 정확성을 더 쉽게 유지할 수 있다.

4.1 PartiQL - SQL 호환 쿼리 언어

  • ExecuteTransaction : 테이블 내부 및 전체의 여러 항목에 대해 CRUD 작업을 모두 수행하거나 아무것도 수행하지 않는 결과를 보장하는 배치 작업이다.

4.2 클래식 APIs

  • TransactWriteItems : 테이블 내부 및 전체의 여러 항목에 대해 Put, Update , Delete 작업을 모두 수행하거나 아무것도 수행하지 않는 결과를 보장하는 배치 작업이다.
  • TransactGetItems : Get 작업을 통해 하나 이상의 테이블에서 여러 항목을 검색할 수 있는 배치 작업이다.

 


 

🔗 Reference

👉 이름 지정 규칙 및 데이터 형식

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

[DynamoDB] Java와 DynamoDB 시작하기  (0) 2021.02.03
[DynamoDB] 웹 서비스 설정  (0) 2021.01.31
[DynamoDB] 이름 지정 규칙 및 데이터 형식  (0) 2021.01.30
[DynamoDB] 핵심 구성 요소  (0) 2021.01.27

블로그의 정보

개발하는 두부

뚜부니

활동하기