본문 바로가기
[AWS]/AWS SAA EXAMTOPICS

[AWS][SAA][EXAMTOPICS][공유] Question 30

by METAVERSE STORY 2022. 9. 1.
반응형

A company's website stores transactional data on an Amazon RDS MySQL Multi-AZ DB instance. Other internal systems query this database instance to get data for batch processing. When internal systems request data from the RDS DB instance, the RDS DB instance drastically slows down. This has an effect on the website's read and write performance, resulting in poor response times for users.

Which approach will result in an increase in website performance?

  • A. Use an RDS PostgreSQL DB instance instead of a MySQL database.
  • B. Use Amazon ElastiCache to cache the query responses for the website.
  • C. Add an additional Availability Zone to the current RDS MySQL Multi-AZ DB instance.
  • D. Add a read replica to the RDS DB instance and configure the internal systems to query the read replica.

 

 

한글로 번역

회사 웹 사이트는 Amazon RDS MySQL 다중 AZ DB 인스턴스에 트랜잭션 데이터를 저장합니다. 다른 내부 시스템은 이 데이터베이스 인스턴스를 쿼리하여 일괄 처리를 위한 데이터를 가져옵니다. 내부 시스템이 RDS DB 인스턴스에서 데이터를 요청하면 RDS DB 인스턴스가 급격히 느려집니다. 이는 웹사이트의 읽기 및 쓰기 성능에 영향을 미치므로 사용자의 응답 시간이 느려집니다.

어떤 접근 방식이 웹사이트 성능을 향상시킬까요?

  • A. MySQL 데이터베이스 대신 RDS PostgreSQL DB 인스턴스를 사용합니다.
  • B. Amazon ElastiCache를 사용하여 웹 사이트에 대한 쿼리 응답을 캐시합니다.
  • C. 현재 RDS MySQL 다중 AZ DB 인스턴스에 가용 영역을 추가합니다.
  • D. RDS DB 인스턴스에 읽기 전용 복제본을 추가하고 읽기 전용 복제본을 쿼리하도록 내부 시스템을 구성합니다.

 

 

정답:

  • D. Add a read replica to the RDS DB instance and configure the internal systems to query the read replica.

 

해설:

Amazon RDS 읽기 전용 복제본은 RDS 데이터베이스(DB) 인스턴스의 성능과 내구성을 높여줍니다. 읽기 전용 복제본을 사용하면 손쉽게 단일 DB 인스턴스의 용량 한도 이상으로 탄력적으로 확장하여 읽기 중심의 데이터베이스 워크로드를 처리할 수 있습니다. 특정 소스 DB 인스턴스의 복제본을 여러 개 만들어 여러 데이터 사본이 요청하는 높은 애플리케이션 읽기 트래픽도 처리할 수 있습니다. 덕분에 전체 읽기 처리량이 향상됩니다. 필요한 경우 읽기 전용 복제본은 독립 실행형 DB 인스턴스로 승격될 수 있습니다. 읽기 전용 복제본은 Amazon RDS for MySQL, MariaDB, PostgreSQL, Oracle  SQL Server뿐만 아니라 Amazon Aurora에서도 사용할 수 있습니다.

MySQL, MariaDB, PostgreSQL, Oracle 및 SQL Server 데이터베이스 엔진의 경우, Amazon RDS에서 소스 DB 인스턴스의 스냅샷을 사용해 두 번째 DB 인스턴스를 생성합니다. 그런 다음 엔진의 기본 비동기식 복제 기능을 사용해 소스 DB 인스턴스가 변경될 때마다 읽기 전용 복제본을 업데이트합니다. 읽기 전용 복제본은 읽기 전용 연결만 가능한 DB 인스턴스 역할을 수행합니다. 애플리케이션을 읽기 전용 복제본에 연결하는 방법은 DB 인스턴스에 연결하는 방법과 동일합니다. Amazon RDS는 원본 DB 인스턴스의 모든 데이터베이스를 복제합니다.

Amazon Aurora는 데이터베이스 워크로드를 위해 특별히 구축된 SSD 지원 가상화 스토리지 계층을 활용하여 읽기 전용 복제본의 이점을 더욱 확장합니다. Amazon Aurora 읽기 전용 복제본은 소스 인스턴스와 동일한 기본 스토리지를 공유하므로 비용이 절감되고 데이터를 복제본 노드에 복사할 필요가 없습니다.

 

향상된 성능

애플리케이션에서 읽기 전용 복제본으로 읽기 쿼리를 라우팅하여 원본 DB 인스턴스의 로드를 줄일 수 있습니다. 읽기 전용 복제본을 사용하면 단일 DB 인스턴스 용량의 한도 이상으로 탄력적으로 확장할 수 있어 읽기 중심의 데이터베이스 워크로드를 쉽게 처리할 수 있습니다. 읽기 전용 복제본이 마스터 상태로 승격될 수 있으므로 샤딩 구현의 일부로 사용하기에 유용합니다.

읽기 성능을 더욱 극대화하려면 Amazon RDS for MySQL을 사용하여 마스터에 표시하지 않고 테이블 인덱스를 읽기 전용 복제본에 직접 추가할 수 있습니다.

 

참조문서:

https://aws.amazon.com/ko/rds/features/read-replicas/

 

Amazon RDS 읽기 전용 복제본 | 클라우드 관계형 데이터베이스 | Amazon Web Services

Amazon RDS for MySQL, MariaDB, PostgreSQL, Oracle 및 SQL Server의 읽기 전용 복제본을 생성할 때, Amazon RDS는 리전 간에 복제하더라도 원본 DB 인스턴스와 읽기 전용 복제본 간에 퍼블릭 키 암호화를 사용하여

aws.amazon.com

 

20220901

회사 웹 사이트는 Amazon RDS MySQL 다중 AZ DB 인스턴스에 트랜잭션 데이터를 저장합니다. 다른 내부 시스템은 이 데이터베이스 인스턴스를 쿼리하여 일괄 처리를 위한 데이터를 가져옵니다. 내부 시스템이 RDS DB 인스턴스에서 데이터를 요청하면 RDS DB 인스턴스가 급격히 느려집니다. 이는 웹사이트의 읽기 및 쓰기 성능에 영향을 미치므로 사용자의 응답 시간이 느려집니다.

지문에서 제시하는 가장 큰 문제점은 내부 시스템이 RDS DB 인스턴스에서 데이터를 요청하면 RDS DB 인스턴스가 급격히 느려져서 사용자들이 서비스를 사용하는데 문제가 있다고 한다.

우선 선택지 A에서 MySQL 데이터베이스 대신 RDS PostgreSQL DB 인스턴스를 사용한다고 하지만, 이는 사실상 문제 해결이 아니라고 생각된다. DB가 느려져서 DBMS를 바꾼다는건 오히려 공수가 더 많이 들고, 바꾸고 나서 성능은 그대로일 확률이 있다.
다음 선택지인 B는 Amazon ElastiCache를 사용하여 웹 사이트에 대한 쿼리 응답을 캐시한다고 하지만, 캐시 메모리 자체가 임시로 저장하는 데이터이라서 RDS에 저장되는 데이터와 연관성이 없다.
다음 선택지인 C는 현재 RDS MySQL 다중 AZ DB 인스턴스에 가용 영역을 추가한다.
해당 선택지의 경우는 멀티 AZ를 솔루션으로 제시하지만, 해당 솔루션은 장애 대응 솔루션이다. 마스터 노드가 장애나면 다른 노드가 마스터 노드를 대신해서 마스터 노드의 역할을 하는것이라 성능, 속도와 연관성이 전혀 없다.
마지막 D 선택지 RDS DB 인스턴스에 읽기 전용 복제본을 추가하고 읽기 전용 복제본을 쿼리하도록 내부 시스템을 구성합니다.
위 상황에 가장 적합한 솔루션이다. Read Replica를 생성하면 원본 DB의 부하를 줄이고 복제본에서는 읽기만 담당하기 때문에, 데이터를 요청해서 속도를 유지할수 있다.

반응형

댓글