AWS

AWS DynamoDB

박현국 2024. 10. 29. 23:50
DynamoDB
  • 완전 관리형 데이터베이스로 데이터가 다중 AZ 간에 복제되므로 가용성이 높다.
  • DynamoDB 는 클라우드 네이티브이며 AWS 독점 서비스이다. NoSQL 데이터베이스
  • RDS 나 Aurora 같은 관계형 데이터베이스는 아니지만 트랜잭션 지원 기능이 있다.
  • DynamoDB 를 이용하면 방대한 워크로드로 확장이 가능하다.
  • DB 가 내부에서 분산되기 때문에, 초당 수백만 개의 요청을 처리하고 수조 개의 행, 수백 TB 의 스토리지를 갖게 된다.
  • 수조 개의 행, 수백 TB 의 스토리지를 갖게 된다.
  • 성능은 한 자릿수 밀리초를 자랑하고 일관성 또한 높다. 
  • 보안과 관련된 기능은 IAM 과 통합되어 있다.
  • 보안, 권한 부여, 관리 기능이 포함된다.
  • 비용이 적게 들고 ASG 기능이 탑재되어 있다.
  • 유지 관리나 패치 없이도 항상 사용할 수 있다.
  • 데이터베이스를 프로비저닝할 필요가 없습니다.
    -> 항상 사용할 수 있으므로 테이블을 생성해 해당 테이블의 용량만 설정하면 된다.
  • 테이블 클래스는 두 종류이다.
    -> 액세스가 빈번한 데이터에는 Standard 클래스 액세스가 빈번하지 않는 데이터는 IA 테이블 클래스에 저장한다.
  • DynamoDB 는 테이블로 구성되며 데이터베이스를 생성할 필요가 없다.
  • DynamoDB 는 테이블을 생성하면 각 테이블에 기본 키가 부여되는데, 기본 키는 생성 시 결정된다.
    -> 각 테이블에 데이터를 추가한다. 항목, 즉 행을 무한히 추가할 수 있다.
  • 각 항목은 속성을 가지며 속성은 열에 표시된다.
    -> 속성은 나중에 추가할 수도 있고 null 이 될 수도 있다.
  • 사전 요구 사항 없이 나중에 쉽게 속성을 추가할 수 있다.
  • DynamoDB 항목의 최대 크기는 400KB 이므로 큰 객체를 저장할 때는 적합하지 않다.
  • 문자열, 숫자, 바이너리, 불리언 null 과 같은 스칼라 유형 목록, 지도와 같은 문서 유형과 세트 유형을 지원한다.
  • 스키마를 빠르게 전개해야할 때 DynamoDB를 선택하면 된다.

 

 

DynamoDB 테이블 예시

  • 기본 키는 파티션 키와 선택 사항인 정렬 키로 구성되고, 속성 테이블이 있는데, DB 형태이다.
  • 속성은 null 로 설정하거나 나중에 추가할 수 있는데, 이것이 DynamoDB 의 장점이다.
  • DynamoDB 를 사용하려면 읽기/쓰기 용량 모드도 설정해야한다.
  • 테이블 용량 관리 방식을 제어하는데는 두 가지 모드가 있다.
  • 기본 설정은 프로비저닝된 모드로 미리 용량을 프로비저닝한다. 초당 읽기 / 쓰기 요청 수를 예측해서 미리 지정하면 그것이 테이블의 용량이 된다.
  • 미리 용량을 계획하고 프로비저닝된 RCU 와 WCU 만큼의 비용을 지불하는 방식이다.
  • RCU 는 읽기 용량 단위 WCU 는 쓰기 용량 단위를 뜻하고요. 미리 용량을 계획한 경우에도 오토 스케일링 기능이 있으므로 테이블의 로드에 따라 자동으로 RCU 와 WCU 를 늘리거나 줄일 수 있다.
  • 프로비저닝된 모드는 로드를 예측할 수 있고 서서히 전개되며, 비용 절감을 원할 때 적합한다. 다음은 온디맨드 모드이다. 즉, 읽기 / 쓰기 용량이 워크로드에 따라 자동으로 확장된다.

'AWS' 카테고리의 다른 글

Amazon Databases  (3) 2024.10.31
Amazon 서비스로 모바일 앱 만들기  (0) 2024.10.30
Amazon Lambda  (1) 2024.10.28
Amazon ECR 와 EKS  (0) 2024.10.28
Amazon ECS  (0) 2024.10.26