Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- orioledb
- NextJs
- Eclipse
- Can't load AMD 64-bit .dll on a IA 32-bit platform
- HTML Special Entity
- PostgreSQL
- BRIN
- HTML Code
- typeorm
- exit code = -805306369
- Windows 10
- PG-Strom
- tortoise SVN
- NestJS
- springboot
- Maven Project
- OGM
- MariaDB
- 서브라임 텍스트
- Spring Cloud
- loadcomplete
- tomcat
- Next.js
- Spring
- maven
- JSP
- Java
- STS
- Spring Boot
- graph database
Archives
- Today
- Total
Undergoing
Aurora Replication 본문
Amazon Aurora
What is Amazon Aurora
- 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스
- 표준 MySQL 및 PostgreSQL 데이터베이스보다 빠름
- 또한 10분의 1 비용으로 상용 데이터베이스의 보안, 가용성 및 안정성을 제공
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리작업을 자동화하는 Amazon Relational Database Service(RDS)에서 Amazon Aurora의 모든 것을 관리
- MySQL과 PostgreSQL 기반으로 새롭게 설계한 관계형 데이터베이스 서비스
AWS 기반, 기존 RDS의 Architecture
- Multi-AZ(Multiple Availability Zones)
- 두 개의 가용영역 안에 각각의 RDS가 있음
- 하나의 RDS는 하나의 인스턴스와 EBS(Elastic Block Store)로 구성
Aurora의 Architecture
1. Single-Master
- 읽기/쓰기를 분리
- 한 대의 Write 인스턴스와 다수의 읽기 전용 인스턴스(Aurora Replica)로 구성
- 쓰기 전용 노드가 받아서 6개의 저장 노드에 모두 write를 함
- 읽기 전용 노드들이 저장 노드와 통신을 해서 데이터를 불러와서 유저에게 전달
- 총 15개의 Replica 생성 가능
- 비동기식 Replication
- 하나의 Region 안에 생성 가능
- Writer가 죽을 경우 자동으로 Replica 중 하나가 Writer로 Failover
- 용어 정의 : VPC(Virtual Private Cloud)
2. Multi-Master
- 읽기/쓰기를 담당하는 노드가 여러 개 존재
- 각 노드는 독립적
- 주로 Multitenant(단일 소프트웨어 인스턴스로 서로 다른 여러 사용자 그룹에 서비스를 제공할 수 있는 소프트웨어 아키텍처) 또는 Sharding이 적용된 애플리케이션에 좋은 성능
- 현재 Aurora의 Multi Master는 MySQL에 대한 확실한 레퍼런스는 존재하나, PostgreSQL은 다소 빈약
Scaler.com 번역
- Multi Master 의 모든 DB 인스턴스는 데이터를 읽고 쓸 수 있음
- Multi Master 클러스터에서 DML(데이터 조작 언어) 및 DDL(데이터 정의 언어) 문을 실행하려면 각 인스턴스 엔드포인트에 대한 연결을 설정해야 함
- Aurora 클러스터는 모든 쓰기 활동이 일반적으로 하나의 클러스터 엔드포인트로 전달됨
- Multi Master 클러스터는 n개의 Write/Read Node가 존재함(Maximum of n is 4)
- Multi Master 클러스터에는 특정 Read only 전용 node가 존재하지 않음
- 두 DB 인스턴스가 동일한 데이터 페이지를 거의 동시에 편집하려고 하면 쓰기 충돌이 발생하는데, 가장 빠른 변경 요청을 승인하기 위해 정족수(Quorum) 투표 프로세스가 사용됨
별첨 : Aurora의 특징
- MySQL과 PostgreSQL 지원
- 두 가지 모드 지원
- 용량의 자동 증감: 10GB부터 시작하여 10GB 단위로 증가( 최대 128TB )
- 데이터의 분산 저장
- 각 AZ마다 2개의 데이터 복제본 저장 * 최소 3개 이상의 AZ==> 최소 6개의 복사본
- 3개 이상을 잃어버리기 전엔 쓰기 능력이 유지
- 4개 이상을 잃어버리기 전엔 읽기 능력이 유지
- 손실 된 복제본은 자가 치유 - 지속적으로 손실된 부분을 검사 후 복구
- Quorum 모델 사용 (Aurora Quorum Model)
- 6개 복제본이 존재할 때 6개에 대한 상태를 어떻게 유지할 것에 대한 방법을 투표로 정함
- write가 발생했을 때 6개 중 4개 이상의 노드에 쓰여질 경우 완전무결한 write로 인정, 6개 중 3개 이상의 노드를 확보하여 read 했을 때 올바른 read라고 인정
'개발 > DB' 카테고리의 다른 글
Overview of PostgreSQL Internals(PG14 기준) (1) | 2024.07.19 |
---|---|
MySQL Group Replication (1) | 2024.07.16 |
OrioleDB (0) | 2024.07.12 |
PostGraphile (0) | 2024.07.11 |
Postgres Database Replication (0) | 2024.07.10 |