aws DaynamoDB
DynamoDB란?
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- NoSQL(Not Only SQL) 데이터베이스
- 매우 빠른 쿼리 속도
- Auto-Scaling 기능 탑재
- Key-Value 데이터 모델 지원
- 테이블 생성시 스키마 생성 필요 없음
- 모바일, 웹, IoT데이터 사용시
DynamoDB 구성
- 테이블 (Table)
- 아이템 (Items) - 행(row)과 개념이 비슷함
- 특징 (Attributes) - 열(column)과 개념이 비슷함
- Key-Value (Key : 데이터의 이름, Value : 데이터 자신)
- 예시) JSON, XML
DynamoDB - Primary Keys (PK)
-
PK를 사용하여 데이터 쿼리
-
DynamoDB에는 두가지의 PK 유형이 있음
-
파티션키 (Partition Key)
- 고유 특징 (Unique Attribute)
- 실제 데이터가 들어가는 위치를 결정해줌
- 파티션키 사용시 동일한 두개의 데이터가 같은 위치에 저장될 수 없음! -
복합키 (Composite Key)
- 파티션키(Partition Key) + 정렬키(Sort Key)
- 예시 : 똑같은 고객이 다른 날짜에 다른 물건을 구매
- 파티션키 : 고객아이디, 정렬키 : 날짜(Timestamp)
- 같은 파티션키의 데이터들은 같은 장소에 보관,
그다음 정렬키에 의해 데이터가 정렬됨{ “Customer_id” : “28942”, “Transaction_id” : “g9s4dd2”, “Item_purchased” : “sofa”, “Store_location” : “seoul”, “Transaction_date” : “2020-10-16 14:20:00”, }
DynamoDB 데이터 접근 관리
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- AWS IAM으로 관리할 수 있음
- 테이블 생성과 접근 권한을 부여할 수 있음
- 특정 테이블만, 특정 데이터만 접근 가능케 해주는
특별한 IAM 역할 존재
Index
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- 특정 컬럼만을 사용하여 쿼리
- 테이블 전체가 아닌 기준점(pivot)을 사용해 쿼리가
이루어짐 - 매우 큰 쿼리 성능 효과
- 두가지의 Index 유형 존재
- Local Secondary Index
- Global Secondary Index
Local Secondary Index (LSI)
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- 테이블 생성시에만 정의해줄 수 있음
- 따라서 테이블 생성 후 변경, 삭제가 불가능
- 똑같은 파티션키 사용, 그러나 다른 정렬키 사용
Global Secondary Index (GSI)
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB) - 테이블 생성후에도 추가, 변경, 삭제 가능
- 다른 파티션키, 정렬키 사용
Query
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- Primary Key를 사용하여 데이터 검색
- Query사용시 모든 데이터(컬럼) 반환
- ProjectionExpression 파라미터
Scan
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- 모든 데이터를 불러옴 (primary key 사용 X)
- ProjectionExpression 파라미터
Query VS Scan
AWS (Amazon Web Service) 입문자를 위한 강의 - Section 9 (DynamoDB)
- Query가 Scan보다 훨씬 효율적임
- 따라서 Query 사용 추천
Author And Source
이 문제에 관하여(aws DaynamoDB), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kjy991/aws-DaynamoDB저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)