스케일링, 내결함성, 가용성에 있어서 unmanaged는 사용자에게 관리가 필요하다. managed는 해당 모두를 제공해준다.
MySQL
noSQL
RDS와 redshift를 비교하면
RDS는 읽기와 쓰기 모두 유리하고, redshift는 쓰기(조회)만 유리해 데이터 분석에 사용된다.
RDS는 데이터 전체를 확인해야 하고
redshift는 해당 조회만 가능하다.
RDS는 최대치 I/O bound 가 정해져 있지만,
redshift는 제한이 없나..? 더빠른 속도로 처리한다.
RDS는 여러 AZ에 대해서 복제복을 유지하면서 고가용성을 유지하며,
redshift는 여러 리전에 대해서 복제된 table과 DBMS를 이용한다.
클라우드에서 관게형 데이터베이스를 설정하고 운영하는 관리형 서비스
고가용성/ 애플리케이션 최적화 확장/ 데이터베이스 백업/ 데이터베이스 소프트웨어 패치/ 데이터베이스 소프트웨어 설치/ 운영체제 패치/ 운영체제 설치/ 랙 및 스택 서버 전원, HVAC, 네트워크
등에 대해서
온프레미스 -> EC2 instance에 DBMS설치(물리적인 것은 AWS제공)-> RDS, Aurora(모두 AWS 제공)
책임
사용자 책임)
애플리케이션 최적화
AWS 책임)
이외의 os 설치 및 패치, 데이터베이스 소프트웨어 설치 및 패치, 백업, 스케일링, 고가용성, 서버 유지 등등
RDS DB instance구성
제공 엔진
MYSQL, Amazon Aurora, Microsoft SQL server, PostgerSQL, MariaDB, Oracle
private subnet 내에 존재한다. 외부에서 아무나 접근할 수 없도록, public subnet에서 접근가능하도록
multi AZ를 적용하여 고가용성(무중단)을 보장한다.
AZ에 적용해서 애플리케이션과 직접 통신하는 master instance와 이외 슬레이브 인스턴스로 구성하여 synchronous(동기적으로 변경 사항이 계속 업데이트-슬레이브에)되어 master가 망가져도 중간하지 않고 계속 active 상태가 된다.
복제본이랑은 asynchronous(비동기화)된다. 복제본은 read만 쿼리하기 때문에
배포유형
인바운드 데이터 전송 비용은 무료
아웃바운드 데이터 전송에 대한 계층화된 요금
Amazon RDS를 사용하면 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장할 수 있습니다.
• 특징 –
• 관리 서비스
• 콘솔, AWS CLI(명령줄 인터페이스) 또는 API(애플리케이션 프로그래밍 인터페이스) 호출을 통해 액세스 가능
• 확장 가능(컴퓨팅 및 스토리지)
• 자동화된 이중화 및 백업 사용 가능
• 지원되는 데이터베이스 엔진:
• Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server
SSD기반 managed 서비스이다.
relational VS non-relational
데이터 구조 : 행과 열 | 키와 값, 문서, 그래프
shemas : fixed | dynamic
쿼리 : use SQL | 변형된쿼리
확장성 : 수직적 확장(고성능 가능) | 수평적 확장(성능 변화 없음)
구성요소
Pratitioning
partition key로 병렬호하여 논리적으로 구분이 된다. 쿼리가 각 partition된 table마다 결과를 합쳐서 제공한다.
=> 분산해서 쿼리를 수행해 조회가 빠르다
dynamoDB
• SSD에서만 실행됩니다.
• 문서 및 키 값 저장소 모델을 지원합니다.
• 선택한 AWS 지역에 걸쳐 테이블을 자동으로 복제합니다.
• 모바일, 웹, 게임, 애드테크 및 사물인터넷(IoT) 애플리케이션에 적합합니다.
• 콘솔, AWS CLI 및 API 호출을 통해 액세스할 수 있습니다.
• 모든 규모에서 일관된 한 자리 밀리초 지연 시간을 제공합니다.
• 테이블 크기 또는 처리량에 제한이 없습니다.
manage monitor scale을 자동화한다.
호환적
사례
Amazon Redshift:
• Fast, fully managed data warehouse service
• Easily scale with no downtime
• Columnar storage and parallel processing architectures
• Automatically and continuously monitors cluster
• Encryption is built in
RDS의 고가용성을 극대화 시킴
RDS와 공동의 장점
RDS와 차이점
Amazon Aurora:
• 고성능 및 확장성
• 고가용성 및 내구성
• 다양한 수준의 보안
• MySQL 및 Postgre와 호환 가능SQL • 완벽한 관리
(문제)
1. 수십만 명의 동시 사용자로 확장할 전자 상거리 웹 애플리케이션을 설계하고 있습니다. 이 예에서 세션 상태를 유지하는 데 가장 적합한 데이터베이스 기술을 무엇입니까?