Aurora는 쿼럼 모델로 작동한다고 알고 있다.
그런데 읽기 작업에서 3개 쿼럼이 성공하면 읽기 성공으로 친다는데, 이러면 읽기 시간이 길어지는 것 아닌가?
결론부터 말하면 아니다.
Aurora가 Read quorum이 아닌 Repair quorum이기에 그렇다는데, 이게 무슨 소리인지 알아보자.
읽기 성공을 위해 3개 스토리지 노드를 읽는다고 생각할 수 있는데, 이게 아니기에 읽기 지연이 없는 것이다.
6개 중 3개를 골라 읽는다던가, 6개 중 3개가 일치하면 옳은 정보로 생각한다던가 그런 것이 아니다.
비동기식 저장 방식이기에 응답 시간이나 처리 속도가 제각각이기에 어떤 노드는 LSN이 좀 늦을 수도 있고, 어떤 노드는 빠를 수 있다.
애초에 인스턴스는 응답 시간이 가장 빠른/LSN이 가장 높은(빠른) 스토리지 노드를 인지하고, 읽기 요청이 들어오면 해당 노드를 조회한다.
-> 아래 글에 따르면 각 노드의 응답 시간은 추적/관리한다고 표현하고, LSN은 읽기 뷰 형식으로 조회한다고 한다.
어쨌건 인스턴스가 가장 최신의 정보를 가진 노드만을 조회하기에(경우에 따라서는 하나 더 추가 조회) 3개 노드를 읽을 필요가 없고, 그래서 읽기 지연이 발생하지 않는다는 것이다.
Read quorum이 아니라 Repair quorum이라는 것이 이런 의미로 보인다. 쿼럼 모델을 읽기에는 사용하지 않고, 쓰기에 적용해 데이터의 정확성을 보증하기 위해 사용하는 것이다.
출처 :
https://aws.amazon.com/ko/blogs/korea/amazon-aurora-under-the-hood-quorum-reads-and-mutating-state/
'AWS' 카테고리의 다른 글
EC2에서 MySQL 5.5 테스트 (1) (0) | 2022.05.12 |
---|---|
AWS DB 공부 일정 (0) | 2022.05.01 |
AWS DocumentDB 비용 문제 (0) | 2022.04.14 |
RDS와 Aurora의 백업(수정 중) (0) | 2022.04.14 |
DynamoDB 테이블 용량 조절 구조 (1) | 2022.04.07 |
댓글