본문 바로가기

클라우드

AWS 7 : 데이터베이스 서비스 Amazon RDS

728x90

일곱번째 AWS 포스팅 범위

데이터베이스와 RDB, Amazon RDS, RDS에서 사용가능한 DBMS, RDS 사용 절차, 키밸류 데이터베이스

 

AWS 관련 가장 쉬운 책을 읽고 나중에 찾아볼 주요 용어들을 정리해 둡니다. "그림으로 이해하는 AWS 구조와 기술(오가사와라 시게타카 지음)" 을 읽고 중요하다고 생각하는 용어들을 정리합니다. 얇은 책이지만 모르는 용어가 많은 만큼 포스팅 양이 많아 몇 번에 걸쳐 업로드 예정입니다.

 


데이터베이스와 RDB

데이터베이스란 구조적으로 정리된 데이터의 집합체로 실제 데이터를 조작하는 것은 데이터베이스 관리 시스템(DBMS, Database Management System) 이다.데이터베이스와 DBMS를 통틀어 '데이터베이스'라고 하며 일부 기능이나 속도, 안전성, 확장 여부 등의 특화 기능에 따라 유료, 무료 DBMS가 나뉜다. (유료 : Oracle, SQL Server 등, 무료 : MySQL, PostgreSQL, MariaDB 등)

 

관계형 데이터베이스(RDB)와 비관계형 데이터베이스(NoSQL DB) 두가지로 나뉜다. RDB는 엑셀같이 표 형식으로, 데이터 종류까지 세세하게 설정해 정밀한 조작이 가능하다. 비관계형 데이터베이스(NoSQL DB)는 구조가 단순해 설정이 적어 쉽게 구축 가능하며, 액세스가 빠르다. 키 밸류형, 문서형의 구조를 가진다.

 

AWS는 RDB(Amazon RDS), 비RDB(Amazon DynamoDB나 Amazon ElastiCache) 등이 있다. 

 

Amazon RDS

Amazon Relational Database Service(Amazon RDS)는 관계형 DB 6종류의 제품음 클라우드에 최적화된 상태로 제공하는 서비스이다. Amazon Aurora 외에도 PostgreSQL, MySQL, MariaDB, Oracle Database, SQL Server를 지원하며 메모리, 성능, I/O 등이 최적화된 DB 인스턴스를 제공한다. DB 제공방식은 EC2와 비슷하다. VPC 상 인스턴스 형태로 구축하여 인스턴스 클래스를 사용 가능하다. RDS는 매니지드 서비스로 업데이트 등 관리가 AWS에 의해 자동으로 이뤄지지만 업데이트 시점이 곤란할때 수행될수도 있어 장단점을 고려해 사용해야 한다. AWS Database Migration Server(DMS)는 기존 DB를 이전, 복제도 가능하다.

 

데이터베이스 인스턴스 클래스는 VPC에 설치해야 한다. 종류는 표 참고.

주요 인스턴스 클래스, 출처 : 그림으로 이해하는 AWS 구조와 기술

RDS 요금 =  스토리지 요금 + 데이터베이스 인스턴스 요금 + 백업 스토리지 요금 + 통신료(인터넷 통신시)

 

RDS에서 사용가능한 DBMS

Amazon Aurora는 AWS가 만든 관계형 데이터베이스이다. 

RDS가 지원하는 DBMS,  출처 : 그림으로 이해하는 AWS 구조와 기술

RDS 사용 절차

RDS 사용 절차, 출처 : 그림으로 이해하는 AWS 구조와 기술

 

키 밸류 데이터베이스

키 밸류 스토어(key value store, KVS) 데이터베이스란 데이터 형식에 관계없이 어떤 데이터에 대해 특정 '키'가 되는 값을 결합해 저장하는 방식의 데이터베이스이다. 상세하게 검색할 수 없으나 액세스가 빠르다. 빅데이터나 대용량데이터 처리시 많이 사용한다. AWS 키 벨류 스토어 데이터베이스는 스토리지 저장하는 DynamoDB, 메모리에 저장하는 Amazon ElastiCache 두 종류가 있다.

 

Amazon DynamoDB는 관계형 데이터베이스에 맞지 않는 범용적 데이터를 저장할 때 사용하며, 데이터 저장 형식이 정해져 있지도, 연관관계도 없다. SQL을 사용할 수 없고 고급 검색을 할 수 없으나 응답 속도가 빠르다. DynamoDB는 VPC가 불필요하므로 LAmbda 등과 같은 VPC 를 사용하지 않은 애플리케이션 환경과 궁합이 좋다는 장점이 있다.

 

Amazon ElastiCache란 DB 조작시마다 외부 기억장치에 Read/Write 하지 않고, 빈번히 읽고 쓰는 데이터는 메모리에 보관(캐시)하는 방식으로 처리 속도를 빠르게 하는 데이터베이스이다. 메모리에 저장하기 때문에 인스턴스를 재시작할 때 데이터가 삭제된다. Redis용과 Memocached용이 있다. 

 

끝.

728x90