본문 바로가기

개발

AWS DynamoDB 1(DynamoDB란 ?)

회사에서 다양한 인프라를 사용하고 있지만 오늘은 그 중 AWS에서 제공하는 DynamoDB에 대해 AWS 공식 문서를 정리해보았습니다.



DynamoDB란 무엇인가
AWS에서 제공 하는 NoSQL 데이터베이스
AWS에서 운영 확장에 대한 관리를 해주기 때문에 부담이 없음.
대규모 트래픽도 처리 가능하며, 다운타임이나 성능 저하 없이 테이블 처리 능력을 조정할 수 있음.
온 디맨드 백업 기능을 제공하여 원하는 수준의 백업을 설정 할 수 있음.

핵심 구성 요소

 

테이블
-항목의 집합
-데이터가 저장되는 곳
-데이터의 집합


항목
-속성의 집합
-각 테이블에는 0개 이상의 항목이 있음
-RDBS의 행, 레코드 또는 튜플과 유사함. ex) People 테이블에서 각 항목은 한 사람을 의미함


속성
-항목은 하나 이상의 속성으로 구성
-속성은 기본적인 데이터 요소로서 더 이상 나뉠 필요가 없음. ex) People 테이블의 항목에는 PersonID, LastName 등이 가능


기본키
-테이블의 각 항목을 고유하게 식별(항목간 동일한 기본키는 가질 수 없음)
-기본키는 데이터 타입이 필요함(기본키를 제외한 나머지 속성에는 데이터 타입이 필요 없음)
-기본키에는 두가지 종류가 있음.
-파티션 키 : 하나의 속성으로 구성되는 단순 기본 키로 DynamoDB가 내부 해시 함수에 대한 입력으로 파티션 키 값을 사용하고 해시 함수 출력에 따라 항목을 저장할 파티션이 결정됌.
-파티션 키 및 정렬 키 : 두개의 속성으로 구성됌. 파티션키와 정렬키로 구성된 기본키는 파티션키는 같을 수 있지만 정렬키는 달라야함. 


보조 인덱스
-테이블에서 하나 이상의 보조 인덱스 생성 가능
-쿼리를 유연하게 작성할 수 있도록 도움
-보조 인덱스는 두가지 종류가 있음.
-global secondary index : 파티션 키 및 정렬 키가 테이블의 파티션 키 및 정렬 키와 다를 수 있는 인덱스
-로컬 보조 인덱스 : 테이블과 파티션 키는 동일하지만 정렬 키는 다른 인덱스


DynamoDB 스트림
-테이블의 데이터 수정 이벤트를 캡처하는 선택적 기능
-이벤트 종류
-항목 추가 : 스트림은 모든 속성을 포함하여 전체 항목의 이미지 캡처
-항목 업데이트 : 스트림은 항목에서 수정된 속성의 이전 및 이후 이미지를 캡처
-항목 삭제 : 스트림은 삭제하기 전에 전체 항목의 이미지를 캡처
-24시간동안 확인 가능


읽기 일관성
-DynamoDB는 전 세계의 여러 AWS 리전에서 사용할 수 있습니다. 각 리전은 다른 AWS리전과 독립되어 운영되고 있기 때문에 서로 다른 리전에 같은 A라는 테이블이 있다면 이 두개의 테이블은 서로 아예 다른 테이블
-하나의 리전에는 여러개의 가용영역이 있는데 이 안에서는 이름이 같다면 같은 테이블입니다.
-일관된 읽기 종류
-최종적 일관된 읽기 : 데이터를 읽을 때 가장 최신 데이트가 응답으로 오지 않을 수 있음
-강력한 일관된 읽기 : 성공한 모든 이전 쓰기 작업의 업데이트를 반영해 가장 최신 데이터로 응답(단점 : 네트워크 지연 혹은 500에러 발생 가능, gsi 지원 X, 읽기 용량 더 사용) 

 

출처 : docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/Introduction.html

'개발' 카테고리의 다른 글

자주 사용하는 git 커맨드  (0) 2021.06.24
Node Sass could not find a binding for your current environment:Windows 64-bit with  (0) 2021.05.10
세션과 쿠키  (0) 2021.03.25
NPM이란?  (0) 2021.03.09
Sonarlint 설치 오류  (0) 2021.02.08