AWS Aurora vs AWS RDS

marco x brown·2021년 2월 12일
0

What is Aurora

MySQL과 PostgreSQL의 호환을 위해 AWS 자체적으로 만든 RDBMS이다. RDS처럼 RDB를 관리하기 위한 서비스가 아니라 DBMS라고 볼 수 있다.

단순히 제목만 보고는 Aurora와 RDS가 같은 범주에 드는 것 같지만 실제로는 Aurora가 RDS에 포함되어 있는 관계고, 엄밀히 말하면 Aurora MySQL vs RDS MySQL가 더 정확하다.

Aurora MySQL vs RDS MySQL

Aurora MySQL(이하 Aurora)와 RDS MySQL(이하 MySQL)의 가장 핵심적인 차이점을 아래와 같이 3개 정도를 들 수 있겠다.

  • Storage
    • Aurora - Shared Storage 사용
    • MySQL - Storage와 Page 기반의 Replication 사용
  • 관리 주체
    • Aurora - AWS가 직접 개발하므로 업데이트가 주기적으로 이루어짐
    • MySQL - 개발자가 직접 버전 업데이트를 수행
  • Read Replica 구성
    • Aurora - storage와 redo log 사용하여 동기화
    • MySQL - binlog 사용

Aurora Endpoint

  • Cluster Endpoint
  • Reader Endpoint
  • Instance Endpoint
  • Custom Endpoint

Aurora는 Cluster 단위로 운영이 되고, Cluster와 Instance가 서로 독립적인 구조를 가지기 때문에 Instance가 없는 빈 껍데기인 Cluster 운영도 가능하다.

Write 요청과 Read 요청의 상황을 예시로 들어 어떻게 해당 Endpoint로 접근하는지 알아보자.

먼저, Write 요청이 들어오는 경우 Cluster Endpoint로 접근하여 Master 인스턴스에 직접 Write 쿼리를 날린다. Read 요청이 들어오게 되면 Cluster 레벨에서 관리하는 Read Endpoint로 요청을 보내게 되고, 각 Read Replica로 로드 밸런싱된다.

참고

https://notemusic.tistory.com/69

https://medium.com/hbsmith/aws-aurora-도입에-대한-몇가지-사실-45eb602bad58

profile
개발자로 크는 중

0개의 댓글