키-값 데이터베이스란
- Amazon DynamoDB는 key-value 형 데이터를 저장하는 데이터베이스 입니다.
- 단순한 데이터 구조이므로 복잡한 검색은 할 수 없지만 고속으로 데이터 추출을 할 수 있습니다.
- 키-값이라는 이름에서 유추할 수 있듯이 키의 이름과 그에 대한 값으로 구성된 데이터 입니다.
- 키와 같이 하나의 쌍으로 구성되며 되기 때문에 데이터 형태로는 자유도가 매우 높지만 RDB 보다 집계나 검색이 어렵습니다.
- 레코드
- 키-값 형의 데이터베이스에서 일련의 데이터
- 레코드의 각 항목을 '속성'이라고 합니다.
- 각 레코드가 고유하게 특정할 수 있는 속성(기본 키)을 가지고 있으면 다른 속성은 어떤 것을 가지고 있어도 상관 없습니다. (기본키로만 검색 가능)
DynamoDB란?
- 키-값 데이터는 기본적으로 프라이머리 키로만 검색해 데이터를 가져옵니다.
- DynamoDB도 내부적으로 프라이머리 키 검색을 쉽게 할 수 있게 데이터를 정리해 보존해 줍니다.
- 서버리스 입니다. 사용자는 레코드의 집합체인 '테이블'을 생성할 뿐 테이블 조작 요청을 모두 DynamoDB가 처리하기 때문에 사용자가 서버 관리를 하지 않아도 됩니다.
주요 특징
- 완전관리형 서비스
- 서버 관리, 유지보수, 설정, 스케일링 등의 작업이 필요 없습니다.
- AWS가 이 모든 작업을 자동으로 처리합니다.
- 빠른 성능
- DynamoDB는 밀리초 단위의 낮은 지연시간으로 데이터를 읽고 쓸 수 있어 매우 빠른 성능을 제공합니다.
- 확장성
- 트래픽과 데이터 양의 변화에 따라 자동으로 확장 및 축소가 가능합니다.
- 사용량에 따라 테이블의 용량을 늘리거나 줄일 수 있습니다.
- 데이터 모델링의 유연성
- 키-값 및 문서 데이터 모델을 지원합니다.
- 이를 통해 다양한 유형의 데이터를 저장하고 관리할 수 있습니다.
- 보안, 내구성 및 가용성
- 데이터는 자동으로 복제되어 여러 AWS 가용 영역에 걸쳐 저장되며, 높은 보안 및 데이터 내구성을 제공합니다.
- 데이터는 자동으로 복제되어 여러 AWS 가용 영역에 걸쳐 저장되며, 높은 보안 및 데이터 내구성을 제공합니다.
- 보조 인덱스
- 글로벌 보조 인덱스(Global Secondary Indexes) 및 로컬 보조 인덱스(Local Secondary Indexes)를 통해 다양한 쿼리 요구사항을 지원합니다.
DynamoDB 이용 요금
- DynamoDB는 서버리스 서비스이므로 사용자는 데이터의 집합인 '테이블'만 소유하는 형태가 됩니다.
- 데이터 보존 스토리지는 테이블의 데이터양에 따라 필요한 크기를 할당받으며 이와 관련된 조직은 DynamoDB가 직접 수행 합니다.
- 요청을 처리할 양을 예약하고 그 양만큼 요금이 부과 됩니다. 또한 데이터 보관료가 발생합니다.
- 처리량을 예약하지 않고 무제한으로 설정할 수 있습니다. 이럴 경우 이용한 만큼 요금이 발생합니다.
요청 처리량 예약
- '1초에 몇 번, 일기/쓰기 요청을 받아들일 것인지'를 지정
- DynamoDB는 예약량을 초과하는 요청에 대해 오류를 반환하지만 Auto Scaling을 사용하면 실제 요청 수에 따라 지정된 범위 내에서 예약량을 자동으로 변경할 수 있습니다.
- 처음부터 예약량을 지정하지 않고 발생한 요청을 전부 처리해서 실제로 처리된 요청 수에 따라 요금을 지불할 수 있습니다.
- 처리량 = 커패서티 유닛 RCU(Read Capacity Unit), WCU(Write Capacity Unit)
- 처리량을 예약하는 방식을 프로비저닝 용량 모드
- 처리량을 예약하지 않는 방식을 온디맨드 용량 모드
DynamoDB 보수
- DynamoDB에서 사용자의 소유물은 데이터 뿐입니다.
- 데이터를 사용하기 위한 시스템(요청 엔드포인트 및 스토리지)은 AWS가 제공하며 사용자의 커패서티 유닛이나 데이터 암호화 설정에 따라 알맞게 동작합니다.
- 사용자는 테이블 구조 검토나 백업 계획 같은 데이터 유지 보수만 고려하면 됩니다.
- 3개의 AZ에 실시간으로 데이터를 복제해 어느 하나의 AZ에 장애가 발생하더라도 문제없이 서비스를 이용할 수 있습니다.
- 특정 시점 복구(PITR) 라는 실시간 백업 기능이 존재합니다. 지난 35일 내 임의의 시점으로 테이블 데이터를 되돌릴 수 있어 갑자기 데이터 손실이 발생해도 대응할 수 있습니다.
'클라우드&인프라 > AWS 구조와 서비스' 카테고리의 다른 글
고기능 Aurora의 편리한 특징 (1) | 2023.12.26 |
---|---|
AWS RDS (1) | 2023.12.26 |
AWS CloudFront (0) | 2023.12.25 |
간편하게 사용할 수 있는 DNS 서비스 (0) | 2023.12.24 |
ELB로 부하를 분산시켜 가용성 향상 (0) | 2023.12.24 |