-
AWS Dynamo DB 개념DB 2021. 4. 25. 12:41
AWS Dynamo DB를 처음 접하므로, 개념 정리글!
기존의 RDBMS와는 다른 관점에서 접근해야하는 듯하다!
쿼리를 먼저생각하고 스키마를 설계하는 방식!
1.기본 키
파티션키와 정렬키가 있음.
구성을 파티션키로만 사용할지, 파티션키+정렬키를 기본키로 사용할 지 선택 가능.
파티션키(해시키), 정렬키(선택사항)
1-1. 파티션키란?
-파티션 키는 유일해야함
-RDB의 PK정도로 이해하면됨
-테이블내에 필수!
-조건문으로 일치하는 값(=)만 가져 올 수 있음.
1-2. 정렬키란?
-필수는 아님!
-조건문으로 사용가능 한 것들 =, >, <, between, begin_with....
1-2. 파티션키+정렬키(복합키)
-동일한 파티션키 값을 갖을 수 있으며, 두 아이템의 정렬키가 달라야함
-파티션키가 동일할 경우, 모든 항목은 정렬키값 기준으로 정렬됨.
주의사항 : 파티션키와 정렬키는 한번 정해지면 바꿀 수 없음
2.데이터타입
Scalar Type (N) Number, (S) String, (B)Binary, Boolean, Null Document List , Map Set Types Number Set, String Set, Binary Set 3.보조인덱스
-SQL의 인덱스와 비슷한 역할.
3-1.보조인덱스 종류
글로벌 보조 인덱스 와 로컬 보조 인덱스가 있다(일반적으로 글로벌 보조 인덱스를 사용한다.)
3-1-1. Global Secondary Index(글로벌 보조 인덱스) :
-파티션키와 정렬키가 둘다 다른 것
-테이블당 20개 까지만 생성가능
-인덱스 생성후 추가 생성,삭제 가능
3-1-2. Local Secondary Index(로컬 보조 인덱스)
-파티션키는 같지만, 정렬키는 다른 인덱스
-테이블당 5개까지만 생성가능
-한번 생성후 추가,삭제,수정 불가능
4.조인은 있을까?
-없다
5.정렬은?
-한번에 다중정렬은 불가능!
6.내포속성이란?
-테이블내에 depth를 가지고 있는 속성을 말함.
- Dnynamo DB는 32 depth까지 지원한다고 함
7.단점?
-Dynamo DB는 사용량에 따라 요금이 부과되서, 쿼리수 최적회에 신경을 많이 쓴다고함
하지만 특정 필드만 지정해서 select 가 불가능하다고함.
8.용량유닛이란?(Capacity Units)
-1초당 읽거나, 쓸수 있는 데이터 단위
-DB가 얼마나 일을 많이하고 있는지 확인하는 항목=과금량
-읽기용량과 쓰기용량 각각 독립적으로 요금을 먹임
참고
AWS 정렬 키를 사용하여 데이터 정리하는 모범 사례docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/bp-sort-keys.html
조건식
AWS Dynamo DB 핵심구성요소
docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html
Dynamo DB 설계방법
changhoi.github.io/posts/backend/dynamodb-single-table-design/
'DB' 카테고리의 다른 글
트랜잭션 격리 레벨 정리 (0) 2021.04.03 [MSSQL] 스키마, 데이터 추출 스크립트 생성 방법 (링크) (0) 2020.02.08 [Maria DB & MySQL] 사용자 권한 주기 (0) 2019.10.23 [MSSQL] 프로시저 동적쿼리 작성시 SQL Injection 우회 방법 (0) 2019.06.03 [MSSQL] SCOPE_IDENTITY() (0) 2019.02.24