본문 바로가기

AWS

관계형 데이터베이스 vs 비관계형 데이터베이스 : Amazon DynamoDB

728x90

DynamoDB로 관계형 데이터베이스를 비관계형 데이터베이스로 전환할 수 있대!

 

  관계형(SQL) 비관계형(NoSQL)
데이터 스토리지 행과 열 키-값, 문서(JSON(JavaScript Object Notation)을 사용), 그래프
스키마 고정 동적
쿼리 실행 SQL 사용 문서 수집에 집중
확장성 수직적 수평적(대규모 데이터세트에 적합)

 

https://liveyourit.tistory.com/213  https://docs.microsoft.com/ko-kr/azure/architecture/data-guide/big-data/non-relational-data

비관계형 데이터베이스는 반정형, 비정형 데이터의 요구 사항을 처리하는 것과 관련된 관계형 데이터베이스의 한계 극복

 

 

Amazon DynamoDB

: 규모와 관계없이 10mm/s 미만의 지연시간이 요구되는 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스

- 테이블을 생성한 다음 테이블에 항목 추가. 데이터를 자동으로 분할한 후, 데이터 세트에 최적화된 테이블 스토리지에 저장(테이블에 저장할 수 있는 항목 수 제한 X)

- 속성이 다른 항목을 동일한 테이블에 배치 가능 -> 애플리케이션이 변경될 때 속성을 유연하게 추가 가능. 스키마를 마이그레이션 할 필요 없이 동일한 테이블에 이전 형식 항목과 나란히 최신 형식 항목 저장 가능

- 기존 관계형 데이터베이스에서 스키마를 마이그레이션하면 변환하는 데이터 요구 사항에 신속하게 대응하는 능력 저하

-> 애플리케이션의 사용자가 지속적으로 상호작용하게 되면 애플리케이션의 요구 사항에 맞춰 스토리지를 확장해야 할 수 있음

- DynamoDB의 모든 데이터는 SSD(Solid State Drive)에 저장됨

- 단순한 쿼리 언어 사용 -> 지연시간이 짧은 쿼리 성능이 유지

- 고객이 읽기/쓰기 처리량을 프로비저닝 가능 -> 애플리케이션 사용이 증가하면 수동 프로비저닝을 통해 DynamoDB 테이블을 확장하여 가능함

- 자동 조정 활성화 가능 -> DynamoDB가 테이블의 로드를 모니터링, 프로비저닝된 처리량을 자동으로 늘리거나 줄임

- 글로벌 테이블 기능 -> 선택한 AWS 리전에 자동으로 복제 가능

- 유휴 데이터 암호화, 특정 항목의 TTL 설정 가능

 

핵심 구성 요소

테이블, 속성, 항목

- 테이블(데이터의 모음), 항목(고유하게 식별 가능한 속성의 그룹), 속성(테이블의 기본적인 데이터 요소)

- 테이블을 생성할 때는 이름, 테이블의 기본 키 지정해야함

- 테이블의 항목 추가, 업데이트, 삭제 시에는 해당 항목에 대한 기본 키 속성 값을 지정해야함 -> 단순 기본 키(Simple Primary Key)는 고유하게 식별하는 속성 : 파티션 키라고 함, 복합 기본 키는 파티션 키와 정렬 키로 이루어짐

 

 

 

 

 

 

728x90

'AWS' 카테고리의 다른 글

AWS의 관계형 데이터베이스 : Amazon Aurora  (0) 2022.07.17
Amazon Redshift  (0) 2022.07.17
AWS에서 쓰는 데이터베이스 : Amazon RDS  (0) 2022.07.17
Amazon S3 Glacier  (0) 2022.07.13
AWS EFS가 뭔데  (0) 2022.07.13