aws DaynamoDB

2975 단어 awsaws

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 유형이 있음

  1. 파티션키 (Partition Key)
    - 고유 특징 (Unique Attribute)
    - 실제 데이터가 들어가는 위치를 결정해줌
    - 파티션키 사용시 동일한 두개의 데이터가 같은 위치에 저장될 수 없음!

  2. 복합키 (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 사용 추천

좋은 웹페이지 즐겨찾기