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 |