AWS RDS 기초개념
Data Engineering TIL (20190308)
study program : https://www.fastcampus.co.kr/extension_des
[학습목표]
- AWS RDS를 이해한다.
[학습기록]
-
2009년부터 Amazon은 관계형 데이터베이스 서비스(RDS)라는 플랫폼 형태의 서비스를 제공함으로써 기존에 서버에 데이터베이스를 탑재하는 형태처럼 더 이상 OS 및 서버에 신경 쓸 필요 없이 데이터베이스를 빌려 쓸 수 있도록 지원하기 시작했다. 이로 인해 기업입장에서 인프라 관리시 고려해야 할 옵션이 더 많아졌고 그만큼 제공할 수 있는 서비스의 질도 높일 수 있다. AWS RDS는 인프라 및 데이터베이스 업데이트를 관리해주는 것 뿐만 아니라 까다로운 관계형 데이터베이스의 설치, 운영 그리고 관리를 지원하는 서비스이다.
-
RDS는 여러 데이터베이스 인스턴스 유형으로 제공되며 Amazon Aurora, MySQL, Oracle Database 및 SQL Server 등 여러 데이터베이스 엔진을 선택할 수 있다. 또한 AWS Database Migration Service를 사용하여 기존 데이터베이스를 Amazon RDS로 손쉽게 마이그레이션 또는 복제할 수 있다.
-
AWS RDS의 Cache Architecture 요약
ElastiCache <-> EC2 <-> RDS
[AWS RDS의 Cache Architecture를 이해하기 위한 관련 개념 이해]
1) Redis 개요
-
학습 시 참고 URL : https://goodgid.github.io/Redis
-
remote dictionary server의 약자로 대용량데이터 처리 관련 기술이다.
[특징]
-
오픈 소스 소프트웨어이다.
-
디스크가 아닌 메모리 기반의 데이터 저장소이다.
-
NoSQL & Cache 솔루션이며 메모리 기반으로 구성된다.
-
명시적으로 삭제, Expire를 설정하지 않으면 데이터는 삭제되지 않는다. 다시말해 데이터의 영구적인 보존이 가능하다.
-
여러대의 서버 구성 가능하다.
-
데이터베이스로 사용될 수 있으며 Cache로도 사용될 수 있는 기술이다.
-
메모리 위에서 동작하는 Key/value 저장소인 Redis는 NoSQL DBMS로 분류되며 동시에 Memcached와 같은 인메모리 솔루션으로 분리된다.
-
다양한 데이터 구조체(Message Queue, Shared memory, Remote Dictionary)를 지원한다.
-
안전한 데이터의 보관과 백업을 위해 두 가지 방법을 제공한다.하나는 다른 서버의 메모리에 실시간으로 복사본을 남길 수 있고, 다른 하나는 디스크에 직접 저장하는 방법이다.
-
리스트, 배열과 같은 데이터를 처리하는데 유용하다. 예를들어서 리스트형 데이터 입력과 삭제가 MySQL에 비해서 10배정도 빠르다고 한다.
-
메모리를 활용하면서 영속적인 데이터 보존이 가능하다. 명령어로 명시적으로 삭제, expires를 설정하지 않으면 데이터가 삭제되지 않는다.
-
Redis Server는 1개의 싱글 쓰레드로 수행되며, 따라서 서버 하나에 여러개의 서버를 띄우는 것이 가능하다. 예를들어 Master - Slave 형식으로 구성이 가능하며 이는 데이터 분실 위험을 없애주기 위함이다. 위 기능을 이용하면 실시간으로 데이터를 다른 서버에 복제할 수 있다. 즉, Master server가 down되어도, slave server로 접속하면 바로 서비스를 계속할 수 있다. 그리고 레디스의 성능을 거의 떨어뜨리지 않고 디스크 쓰기 기능을 제공한다. 레디스 시작 시 이 데이터를 읽어 들어므로 데이터 분실 위험은 거의 없다고 봐도 된다.
2) Amazon ElastiCache 개요
-
학습 시 참고 URL : https://aws.amazon.com/ko/elasticache/redis/
-
Redis용 Amazon ElastiCache는 인터넷 규모의 실시간 애플리케이션을 지원할 수 있도록 1밀리초 미만의 지연 시간을 제공하는 놀랍도록 빠른 인 메모리 데이터 스토어이다. 오픈 소스 Redis를 기반으로 구축되고 Redis API와 호환되는 Redis용 ElastiCache는 Redis 클라이언트와 연동되며 개방형 Redis 데이터 형식을 사용하여 데이터를 저장한다. Redis용 ElastiCache는 오픈 소스 Redis의 속도, 간편성 및 다양성과 Amazon의 관리 편의성, 보안 및 확장성을 결합하여 게임, 광고 기술, 전자 상거래, 의료 서비스, 금융 서비스 및 IoT 분야에서 가장 까다로운 실시간 애플리케이션을 지원한다.
[Redshift]
- 학습 시 참고 URL : https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/c_redshift_system_overview.html