Amazon의 관계형 데이터베이스 서비스(RDS)는 개발자들이 선택할 수 있는 여러 종류의 데이터베이스 엔진을 제공합니다.
기업마다 필요한 부분이 각각 다르겠지만, 모든 기업이 놓치지 말고 확인해야 할 부분은
라이센스, 가격 정책, 오픈 소스 기능입니다.
AWS를 처음 접하는 사용자에게 AWS가 제공하는 다양한 서비스는 복잡해 보일 수 있습니다.
다양한 옵션은 선택을 어렵게 만듭니다.
AWS의 관계형 데이터베이스 서비스(RDS)는 6가지 데이터베이스 엔진을 지원합니다.
사용자의 환경과 목적에 맞게 각각 다른 주요 기능들을 제공합니다.
Amazon RDS는 클라우드에서 관계형 데이터베이스를 손쉽게 설정, 운영 및 확장할 수 있게 해주는 관리형 서비스로
AWS Management Console에서 AWS RDS 명령줄 인터페이스 또는 간단한 API 호출을 통해 몇 분 내에 설치하고 작동할 수 있습니다.
각 데이터베이스 엔진에 가장 적합한 형태로 초기 설정이 되어있으나 사용자의 요건에 맞게 설정을 조정할 수 있습니다.
복수의 데이터베이스에 동일한 설정을 해야한다면 DB 파라미터 그룹을 사용하여 공유할 수 있습니다.
Elastic Compute Cloud (EC2) 인스턴스와 유사하게 개발자들은 최대 32대의 가상 CPU와 244GB RAM까지 데이터베이스 용량을 조절할 수 있습니다.
기본적으로 Amazon RDS인스턴스는 SSDs를 사용하지만 높은 트랜잭션 처리량(Transaction Throughput)을 요하는 워크로드의 경우,
프로비저닝된 IOPS 스토리지를 사용하여 인스턴스 당 30,000 IOPS를 처리할 수 있습니다.
AWS RDS - 6가지 옵션
1.Amazon Aurora:
– Aurora는 MySQL RDBMS로 스토리지, 네트워크, 서버, 데이터베이스 소프트웨어를 클라우드 기반의 단일 서비스로 제공하는 관계형 데이터베이스 관리 시스템입니다.
– Aurora는 사용량이 증가함에 따라 10GB씩 최대 64TB까지 자동으로 확장합니다.
– 데이터베이스의 성능은 용량에 따라 일정하게 증가하며, 더 높은 IOPS가 필요할 경우 순간적인 확장이 가능합니다.
– 높은 가용성을 보장하기 위해 3곳의 가용 영역(AZ)에 데이터 복제본을 2개씩 자동으로 생성합니다.
– 이러한 이중화 덕분에 6개의 복제본 중 4개만 쓰기(write)가 완료되어도 즉시 데이터를 처리 할 수 있습니다.
– Aurora DB는 최대 15개의 복제본을 생성 할 수 있으며, 10 ~ 20 밀리세컨드(만분의 1초) 단위의 페일오버(Failover) 조치가 가능합니다.
2. MySQL:
– InnoDB 스토리지 엔진을 기반으로 MySQL 커뮤니티 에디션의 스톡 설치(Stock installation)를 제공합니다.
– 사용자는 설치하는 동안 5.5, 5.6 및 5.7의 MySQL 버전과 각각의 마이너 버전을 구성할 수 있습니다.
– Amazon은 RDS를 처음 출시한 후 최소 3년 동안 각 버전들을 지원하기로 했습니다.
– Aurora와 달리 MySQL 인스턴스는 오토스케일링(Auto-scaling)이 불가능하고 여러 가용영역(AZ)에 복제될 수 없습니다.
– 사용된 데이터베이스에 대해서만 비용을 지불하는 Aurora와 달리, MySQL은 스토리지에 대한 비용을 지불해야 합니다.
– 장점으로는 MySQL의 확장성을 꼽을 수 있습니다.
– Aurora는 가장 작은 인스턴스가 t2.small인 반면 MySQL은 그보다 작은 t2.micro 인스턴스 단위까지 프로비저닝 할 수 있습니다.
3. MariaDB:
– MariaDB는 MySQL의 한 갈래에 속하는 DB로 자동 패치 및 데이터베이스 스냅 샷을 포함하여 RDS MySQL 서비스와 유사한 기능을 제공합니다.
– 인스턴스는 마그네틱, 범용 SSD을 제공하고, 높은 IOPS가 예상되는 경우 인스턴스당 1,000에서 30,000 IOPS까지 지원하는 SSD Elastic Block Store Storage를 사용할 수 있습니다.
– 사용자는 페일오버(failover) 기능을 사용하여 가용영역(AZ) 전체에 인스턴스를 자동으로 복제 할 수 있습니다.
4. Oracle:
– 엔터프라이즈 기업들이 대부분 사용하고 있는 Oracle 데이터베이스는 RDS 내에서 온-디멘드(즉시주문) 또는 리저브드(Reserved, 예약) 로 할당할 수 있습니다.
– EC2 인스턴스와 마찬가지로 리저브드 데이터베이스는 조건에 따라 시간당 20%~60% 할인된 요금으로 선 지불할 수 있습니다.
– 인스턴스 가격에 Oracle 라이선스 비용은 포함되어 있으나, 이미 라이선스를 구매한 경우 보유 라이선스를 적용할 수 있으며, 이 경우 50%까지 비용이 절감됩니다.
5. Microsoft SQL Server:
– Windows 데이터베이스의 표준 인스턴스로 Amazon RDS는 SQL Server 2008 R2, 2012/2014 Express, 2008 Standard/Enterprise, 2012 Enterprise를 지원합니다.
– 리저브드 인스턴스에 대해 할인이 적용되며, 이 중 Microsoft Software Assurance를 보유한 기업은 자체 라이선스를 적용해 큰 할인율을 적용 받을 수 있습니다.
6. PostgreSQL:
– 여타 오픈 소스 데이터베이스와 동일한 가격으로 핵심 관리 및 패치 기능이 제공됩니다.
– PostgreSQL은 RDS로 이전 시 기존 어플리케이션 코드를 많이 변경하지 않아도 되기 때기 때문에 지리정보 분석, 머신러닝 등의 시스템 개발자에게 인기가 높습니다.
가격 비교
RDS 옵션은 각각 다른 라이선스 정책이 적용됩니다.
아래 테이블은 한국리전(서울) 기준의 대표적인 온디멘드 및 메모리 최적화 인스턴스의 가격 샘플을 요약한 것입니다.
오픈 소스 데이터베이스 기반으로 어플리케이션을 구축할 경우 눈에 띄는 비용적 이점이 있습니다.
사용자가 기존 라이선스를 보유하고 있지 않는 한 SQL 서버가 3~4배 비쌉니다.
그 마저도 기본 OS에 Window 서버 라이선스가 필요하기 때문에 오픈 소스 대비 더 많은 비용이 듭니다.
Database | db.r3.large | db.r3.4xlarge |
---|---|---|
Aurora | $0.35/hr | $2.8/hr |
MySQL | $0.29 | $2.27 |
MariaDB | $0.29 | $2.27 |
Oracle (license included) | $0.53 | $4.20 |
Oracle (BYO license) | $0.28 | $2.27 |
SQL Server Standard (license included) | $1.05 | $6.42 |
SQL Server Standard (BYO license) | $0.39 | $2.87 |
PostgreSQL | $0.30 | $2.39 |
RDS 옵션 선정하기
RDS 옵션을 선정하는 데 있어서 어플리케이션 요건을 고려하는 것이 가장 중요합니다.
Oracle 또는 SQL 서버에서 실행되는 레거시 시스템을 그대로 클라우드로 이전하려는 엔터프라이즈 기업은 AWS에서 그와 동일한 플랫폼을 사용하고자 합니다.
반대로 클라우드를 기반으로 하는 신규 어플리케이션을 개발하는 개발자는 특별한 경우를 제외하고 오픈소스 데이터베이스를 선택하는 경우가 많습니다.
Aurora는 상대적으로 많은 기능, 높은 가용성, 멀티 가용 영역(AZ) 복제, 오토 스케일링 기능을 통해
불필요한 프로비저닝을 줄이고, 비용을 절감할 수 있습니다.
데이터베이스 용량이 작다면 Micro 단위까지 지원하지 않는 Aurora가 적절하지 않을 수 있습니다.
이러한 경우 MySQL을 선택하는 것이 나을 수 있습니다.
인스턴스 크기가 비용에 상당한 영향을 미치기 때문에 볼륨이 작은 어플리케이션의 경우,
Aurora는 효율적이지 못한 선택일 수 있습니다.
하지만 Aurora가 MySQL 기반이기 때문에 벤더에 종속되지 않고 얼마든지 다른 MySQL DB로 전환할 수 있는 것은 큰 장점입니다.
오픈 소스 데이터베이스는 이제 전통적인 엔터프라이즈 데이터베이스와 기능 측면에서 거의 차이가 없습니다.
세계적인 IT 조사 기관 가트너는 2018년까지 신규 어플리케이션의 약 70 %가 오픈 소스 데이터베이스에서 실행될 것이며
기존 커머셜 관계형 데이터베이스 사용자 중 절반이 오픈 소스로 전환할 것으로 전망했습니다.
주요 관계형 데이터베이스 업체들이 NoSQL, 인-메모리, 캐싱, 분산 빅데이터 기술 업체들을 인수하면서 데이터베이스 시장은 점점 통합해가는 양상입니다.
이러한 데이터베이스 시장에서 AWS를 포함한 클라우드 공급자들은 유리한 위치를 차지하고 있습니다.
기능과 성능에 따른 다양한 데이터베이스 옵션 뿐 아니라, 구축과 API을 통한 어플리케이션 내 연결, 중앙에서 관리까지 가능한 데이터베이스 서비스를 지원하기 때문에 사용자들은 원하는 조건에 맞춰 적절한 데이터베이스를 선택할 수 있습니다.
데이터베이스 이전으로 고민하고 계신가요?
베스핀글로벌의 전문 DBA(Database Administrator) 팀에 문의하세요.
다년간의 경험과 노하우, 전문성을 바탕으로 여러분의 고민에 해결책을 제시합니다.