이 글에서는 Amazon Aurora DB 엔진에 대해서 설명합니다.
목차
- Amazon Aurora (Aurora) 개요
- Amazon Aurora를 Amazon RDS와 함께 사용하는 방법
- Amazon Aurora DB 클러스터
- Amazon Aurora Storage 엔진 소개
Amazon Aurora (Aurora) 개요
Amazon Aurora는 MySQL 및 PostgreSQL과 호환되는 고성능 관계형 데이터베이스 엔진입니다.
호환성 및 이점:
Aurora는 MySQL 및 PostgreSQL과의 호환성을 가지며, 기존 코드, 도구 및 애플리케이션을 그대로 사용할 수 있습니다. 특히 일부 워크로드에서는 MySQL의 처리량을 최대 5배, PostgreSQL의 처리량을 최대 3배까지 제공할 수 있습니다.
고성능 스토리지:
Aurora에는 고성능 스토리지 하위시스템이 포함되어 있으며, MySQL 및 PostgreSQL과 호환되는 데이터베이스 엔진이 빠른 분산형 스토리지를 활용하도록 설계되었습니다. Aurora 클러스터 볼륨 크기는 최대 128 tebibytes (TiB)까지 증가할 수 있습니다.
자동화된 데이터베이스 클러스터링 및 복제:
Aurora는 데이터베이스 클러스터링 및 복제를 자동화하고 표준화하여 데이터베이스 구성 및 관리의 어려운 측면을 해결합니다.
Amazon RDS와의 관계:
Aurora는 Amazon Relational Database Service(Amazon RDS)의 일부로 제공되며, 클라우드에서 관계형 데이터베이스 설치, 운영 및 크기 조정을 쉽게 할 수 있도록 도와줍니다.
Amazon Aurora를 Amazon RDS와 함께 사용하는 방법
다음 사항은 Amazon Aurora가 Amazon RDS에서 사용 가능한 표준 MySQL 및 PostgreSQL 엔진과 어떻게 관련되는지를 보여줍니다.
항목 | 내용 |
---|---|
Amazon Aurora와 Amazon RDS의 관계 | Amazon RDS에서 Aurora MySQL 또는 Aurora PostgreSQL을 DB 엔진 옵션으로 선택하여 새 데이터베이스 서버 설정 |
Aurora의 Amazon RDS 기능 활용 | Aurora는 Amazon RDS 관리 기능 활용하여 프로비저닝, 패치 적용, 백업, 복구, 장애 감지 및 복구 등 데이터베이스 작업 처리 |
Aurora의 클러스터링 및 복제 | Aurora 관리 작업은 전체 데이터베이스 서버 클러스터를 포함하며 자동 클러스터링, 복제, 스토리지 할당으로 간편한 설정, 작동 및 확장 가능 |
데이터 마이그레이션 | 스냅샷 생성, 복원 및 단방향 복제를 통해 Amazon RDS의 데이터를 Aurora로 이전 가능하며, 버튼식 마이그레이션 도구 사용하여 애플리케이션 전환 가능 |
Amazon Aurora DB 클러스터
Amazon Aurora DB cluster는 하나 이상의 DB 인스턴스와 이 DB 인스턴스의 데이터를 관리하는 클러스터 볼륨으로 구성됩니다. Aurora 클러스터 볼륨은 다중 가용 영역을 아우르는 가상 데이터베이스 스토리지 볼륨으로서, 각 가용 영역에는 DB 클러스터 데이터의 사본이 있습니다. Aurora DB 클러스터는 다음과 같이 두 가지 유형의 DB 인스턴스로 구성됩니다.
- 기본 DB 인스턴스 – 읽기 및 쓰기 작업을 지원하고, 클러스터 볼륨의 모든 데이터 수정을 실행합니다. Aurora DB 클러스터마다 기본 DB 인스턴스가 하나씩 있습니다.
- Aurora 복제본 – 기본 DB 인스턴스와 동일한 스토리지 볼륨에 연결되며 읽기 작업만 지원합니다. 각 Aurora DB 클러스터는 기본 DB 인스턴스에 더해 최대 15개까지 Aurora 복제본을 구성할 수 있습니다. Aurora 복제본을 별도의 가용 영역에 배치하여 고가용성을 유지합니다. Aurora는 기본 DB 인스턴스를 사용할 수 없는 경우 자동으로 Aurora 복제본으로 장애 조치합니다. Aurora 복제본에 대해 장애 조치 우선 순위를 지정할 수 있습니다. 또한 Aurora 복제본은 기본 DB 인스턴스에서 읽기 워크로드를 오프로드할 수 있습니다.
다음은 클러스터 볼륨과 Aurora DB 클러스터에 속하는 기본 DB 인스턴스 및 Aurora 복제본 사이의 관계를 나타낸 다이어그램입니다.
Aurora 클러스터를 보면 컴퓨팅 용량과 스토리지가 분리되어 있습니다. 예를 들어 DB 인스턴스가 1개뿐인 Aurora 구성은 계속해서 클러스터입니다. 기본 스토리지 볼륨에는 여러 가용 영역(AZ)으로 분산된 다수의 스토리지 노드가 포함되어 있기 때문입니다.
Aurora DB 클러스터의 입출력(I/O) 작업은 Writer DB 인스턴스인지 Reader DB 인스턴스인지에 관계없이 동일한 방식으로 계산됩니다. 자세한 내용은 Amazon Aurora DB 클러스터의 스토리지 구성 섹션을 참조하세요.
참고: https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html
아마존 오로라 아키텍처
참고: https://www.slideshare.net/awskorea/d3s02internal-architecture-of-amazon-aurora-level-400pdf
Amazon Aurora Storage 엔진 소개
데이터베이스 스토리지의 진화
- SAN은 비용이 많이 듭니다. 많은 수의 소규모 고개들은 SAN을 관리하는데 필요한 물리적인 SAN 인프라 또는 스토리지 전문성을 확보하기 힘듭니다.
- 디스크 스토리지는 성능을 위해 수평 확장이 복잡합니다. 효율적으로 운영하더라도, DAS와 SAN은 확장할 수 있는 한계가 여전히 존재합니다.
- DAS 및 SAN 인프라는 단일 물리적 데이터 센터에 존재합니다. 정전이나 네트워크 중단으로 단일 데이터 센터가 손상되면 데이터베이스 서버를 사용할 수 없습니다.
- 홍수, 지진 또는 기타 자연 재해로 인해 데이터 센터가 파괴되면 데이터가 손실 될 수 있습니다. 데이터 백업을 오프 사이트에 보관하면 새 위치에서 데이터베이스 서버를 다시 온라인 상태로 복구하는 데 몇 분에서 며칠 정도 걸릴 수 있습니다.
Amazon Aurora 스토리지 엔진 소개
스토리지 할당
Amazon Aurora 가 쓰기를 처리하는 방법
내결함성(Fault Tolerance)
복구 과정에서 Aurora는 데이터 손실없이 보호 그룹에 있는 AZ와 또 다른 스토리지 노드의 손실에 견딜 수 있도록 설계되었습니다. 보호 그룹에 있는 4개의 스토리지 노드가 가용할 경우에만 Aurora 에서 쓰기가 지속되기 때문입니다.
'DBMS' 카테고리의 다른 글
PolarDB for PostgreSQL 오픈 소스 분석 - 아키텍처 (0) | 2023.11.25 |
---|---|
Alibaba PolarDB 오픈소스 파해치기 - github 분석 1 (0) | 2023.11.25 |
alibaba cloud Polar DB - 알리바바 클라우드 폴라 디비 알아보기 (0) | 2023.11.25 |
Amazone Aurora 알아보기 - internal architecture (0) | 2023.11.25 |
오라클(Oracle) 19c 클라이언트 설치 및 다운로드 - 우분투 linux | window 버전 링크 포함 (0) | 2023.11.24 |