진짜 개발자
본문 바로가기

AWS/Database

AWS - 이론) Database(데이터베이스) 서비스

728x90

DataBase 서비스

쿼리 

- 데이터의 일부분을 검색하여 찾아 반환 하는것

스캔

- 각항목을 처음부터 끝까지 읽어 데이터를 찾아 반환하는 것

SQL    

- 관계형 데이터베이스

- 트랜잭션

NO SQL

- 분산데이터베이스 

- 빠른 검색


Amazon RDS

- Database 관리작업을 AWS에서 대신 해준다 (업그레이드 ,패치, 보안 등등)


백업 방식

1. 자동백업 

- AWS에서 기본적으로 자동으로 백업을 해주는 기능 활성화되어있다.

- 최대 35일까지 보존기간을 선택할 수 있으며 35일이 지나면 백업본은 삭제된다


2. 수동백업

- 사용자가 수동으로 백업을 진행 하는 것이다

- 사용자가 삭제하기 전까지 유지 된다.

- 스냅샷을 찍어 S3에 안전히 보관한다


다중 AZ

- 다중 AZ를 선택하면 같은 리전의 다른 AZ로 마스터 DB, Stanby DB를 자동으로 구성한다.


Aurora DB

- 분산 데이터베이스 환경

- 16개의 노드를 묶어 하나의 클러스터로 구성

- Database 의 총작업중 Select의 비중이 많으므로 Select를 처리하는 DB와

  DML을 처리하는 DB를 격리하여 구성하는 기능 제공


다음의 기능이 필요할 때에는 RDS를 사용하면 안된다

1. 대규모 읽기/ 쓰기 속도

2. 큰데이터 크기 또는 처리량 수요

3. NoSQL 데이터베이스가 처리할 수 있는 간단한 Get/Put 요청 및 쿼리

4. RDBMS 사용자 정의 (커스터마이징)


최적화

- RDS에서 Select 작업이 많이 일어난다면 Read replica(읽기전용 복제본)을 만들어 그쪽으로 트래픽 분산

- 쿼리를 최적화


암호화

- AES-256 알고리즘을 사용


ReadReplica(읽기전용 데이터베이스)

- 읽기 전용 데이터베이스로 Master DB의 복제본이며 DB에 대한 부하를 분산시킨다

- 2018.11월 기준 Oracle DB는 아직 제공하지 않는다


Amazon Dynamo DB

- 완전 관리형 NoSQL 데이터베이스 서비스

- SSD에서만 실행된다

- 자체적 Auto Scaling 기능을 내포하고 있다 => 과금이 유발되므로 제한을 할 수 있다.


읽기 용량 형태

분산 데이터베이스 환경에서 사용자가 데이터를 변경하면 엄청의 자그마한 시간동안 모든 데이터베이스에 동기화를 위한 시간이

필요한데 이때 강력한 일관된 읽기는 약간의 딜레이 타임이 있지만 모든 데이터베이스에서 일관된 데이터를 읽을 수 있다.

최종적 일관된 읽기는 딜레이 타임은 없지만 서로다른 데이터베이스에서 조금 다른 데이터를 읽을 수 있다.


1. 강력한 일관된 읽기 : 동시성이 떨어지지만 항상 일관된 데이터를 유지할 수 있다

2. 최종적 일관된 읽기 : 동시성이 올라가지만 약간의 일관성이 떨어질 수 있다


글로벌 테이블

- 서로다른 리전간 데이터 복제와 업데이트 기능을 제공



Amazon ElastiCache 

- Database에서 자주사용되는 쿼리등을 메인Memory의 캐시등에 올려서 제공하는 서비스(MemCached 이용)