데이터베이스 구성, 백업 및 장애 조치
많은 웹 애플리케이션에는 일반적으로 관계형 또는 비관계형 데이터베이스
표 1 - 관계형 및 비관계형 데이터베이스 솔루션
관계형 데이터베이스 솔루션 | NoSQL 솔루션 | |
---|---|---|
관리형 데이터베이스 서비스 |
Amazon RDS for MySQL |
Amazon DynamoDB |
자체 관리형 | Amazon EC2 |
EC2 인스턴스에서 비관계형 데이터베이스 솔루션 호스팅 |
Amazon RDS
Amazon Relational Database Service
Amazon RDS 다중 AZ 배포는 데이터베이스 가용성을 높이고 예기치 않은 중단으로부터 데이터베이스를 보호합니다. Amazon RDS 읽기 전용 복제본은 데이터베이스의 읽기 전용 복제본을 제공하므로 단일 데이터베이스 배포의 용량 이상으로 확장하여 읽기 중심의 데이터베이스 워크로드를 처리할 수 있습니다. 모든 AWS 서비스와 마찬가지로 사전 투자가 필요하지 않으며 사용한 리소스에 대해서만 비용을 지불하면 됩니다.
Amazon EC2 인스턴스에서 관계형 데이터베이스 관리 시스템(RDBMS) 호스팅
관리형 Amazon RDS 서비스 외에도 EC2 인스턴스에 원하는 RDBMS(예: MySQL, Oracle, SQL Server 또는 DB2)를 설치하고 직접 관리할 수 있습니다. Amazon EC2에서 데이터베이스를 호스트하는 AWS 고객은 읽기 전용 복사본에 대한 미러링 및 상시 준비 패시브 슬레이브에 대한 로그 전달을 포함하여 다양한 프라이머리/스탠바이 및 복제 모델을 성공적으로 사용합니다.
Amazon EC2에서 직접 데이터베이스 소프트웨어를 관리하는 경우 내결함성 영구 스토리지의 가용성도 고려해야 합니다. 이를 위해 Amazon EC2에서 실행되는 데이터베이스는 네트워크 연결 스토리지와 유사한 Amazon Elastic Block Store
데이터베이스를 실행하는 EC2 인스턴스의 경우 모든 데이터베이스 데이터와 로그를 EBS 볼륨에 배치해야 합니다. 이들은 데이터베이스 호스트에 장애가 발생하더라도 계속 사용할 수 있습니다. 이 구성을 사용하면 호스트에 장애가 발생할 경우 새 EC2 인스턴스를 시작하고 기존 EBS 볼륨을 새 인스턴스에 연결할 수 있는 간단한 장애 조치 시나리오가 가능합니다. 그러면 데이터베이스가 중단된 부분부터 다시 시작할 수 있습니다.
EBS 볼륨은 가용 영역 내에서 자동으로 중복성을 제공합니다. 단일 EBS 볼륨의 성능이 데이터베이스 요구 사항에 충분하지 않은 경우 볼륨을 스트라이프하여 데이터베이스의 IOPS(초당 입출력 작업 수) 성능을 높일 수 있습니다.
까다로운 워크로드의 경우 사용자가 필요한 IOPS를 지정하는 EBS 프로비저닝된 IOPS를 사용할 수도 있습니다. Amazon RDS를 사용하는 경우 서비스에서 자체 스토리지를 관리하므로 사용자는 데이터 관리에 집중할 수 있습니다.
비관계형 데이터베이스
AWS는 관계형 데이터베이스에 대한 지원 외에도 다음과 같은 여러 관리형 비관계형 데이터베이스도 제공합니다.
-
Amazon DynamoDB
는 완전관리형 NoSQL 데이터베이스 서비스로서 원활한 확장성과 함께 빠르고 예측 가능한 성능을 제공합니다. AWS Management Console 또는 DynamoDB API를 사용하면 가동 중지 시간이나 성능 저하 없이 용량을 확장 또는 축소할 수 있습니다. DynamoDB는 분산 데이터베이스를 운영하고 조정하는 데 따른 관리 부담을 AWS로 전가하므로 하드웨어 할당, 설정 및 구성, 복제, 소프트웨어 패치 또는 클러스터 조정에 대해 걱정할 필요가 없습니다. -
Amazon DocumentDB
(MongoDB 호환)는 대규모 JSON 데이터 관리를 위해 특별히 설계된 데이터베이스 서비스로, 완전관리형이고 AWS에서 실행되며 탁월한 내구성을 바탕으로 엔터프라이즈급 성능을 제공합니다. -
Amazon Keyspaceshttps://aws.amazon.com/keyspaces/
(Apache Cassandra 용)는 확장성과 가용성이 뛰어나며 관리형 Apache Cassandra와 호환되는 데이터베이스 서비스입니다. Amazon Keyspaces를 사용하면 현재 사용 중인 것과 동일한 Cassandra 애플리케이션 코드 및 개발자 도구를 사용하여 AWS에서 Cassandra 워크로드를 실행할 수 있습니다. -
Amazon Neptune
은 빠르고 안정적인 완전관리형 그래프 데이터베이스 서비스로, 상호연결성이 높은 데이터 집합을 활용하는 애플리케이션을 손쉽게 구축 및 운영할 수 있습니다. Amazon Neptune은 한마디로 수십억 개의 관계를 저장하고 불과 몇 밀리초의 지연 시간으로 그래프를 쿼리하는 데 최적화된, 특수 목적의 고성능 그래프 데이터베이스 엔진입니다. -
Amazon Quantum Ledger Database
(QLDB)는 완전관리형 원장 데이터베이스로, 신뢰할 수 있는 중앙 기관에서 소유하는 투명하고 변경 불가능하며 암호화 방식으로 검증 가능한 트랜잭션 로그를 제공합니다. QLDB는 모든 애플리케이션 데이터 변경 내용을 추적하며 완전하고 검증 가능한 시간대별 변경 기록을 유지합니다. -
Amazon Timestream
는 IoT 및 운영 애플리케이션으로 제공되는 확장이 용이한 고속 서버리스 시계열 데이터베이스 서비스로, 관계형 데이터베이스에 비해 최대 10배나 저렴한 비용으로 1,000배 더 빠르게 매일 수조 건의 이벤트를 쉽게 저장하고 분석할 수 있습니다.
또한 Amazon EC2를 사용하여 다른 비관계형 데이터베이스 기술을 호스트할 수도 있습니다.