Amazon Aurora MySQL 개요

Aurora MySQL 버전 3 – MySQL 8.0 호환

Estimated reading: 1 minute 41 views

원본 문서: Aurora MySQL version 3 compatible with MySQL 8.0

Aurora MySQL 버전 3을 사용하면 최신 MySQL 호환 기능, 성능 향상, 버그 수정을 활용할 수 있습니다. 여기에서 MySQL 8.0과 호환되는 Aurora MySQL 버전 3에 대해 알아보고, 클러스터와 애플리케이션을 Aurora MySQL 버전 3으로 업그레이드하는 방법을 배울 수 있습니다.

Aurora Serverless v2와 같은 일부 Aurora 기능은 Aurora MySQL 버전 3을 필요로 합니다.

MySQL 8.0 커뮤니티 에디션의 기능들

Aurora MySQL 버전 3의 초기 릴리스는 MySQL 8.0.23 커뮤니티 에디션과 호환됩니다. MySQL 8.0은 다음을 포함한 여러 새로운 기능을 도입했습니다:

  • 원자적(Atomic) 데이터 정의 언어(DDL) 지원. 자세한 정보는 원자적 데이터 정의 언어(DDL) 지원을 참조하세요.
  • JSON 함수. 사용 방법은 MySQL 참조 매뉴얼JSON 함수를 참조하세요.
  • 윈도우 함수. 사용 방법은 MySQL 참조 매뉴얼윈도우 함수를 참조하세요.
  • WITH 절을 사용하는 공통 테이블 표현식(CTEs). 사용 방법은 MySQL 참조 매뉴얼WITH (공통 테이블 표현식)를 참조하세요.
  • ALTER TABLE 문의 ADD COLUMNRENAME COLUMN 절 최적화. 이 최적화들은 “인스턴트 DDL”이라고 불립니다. Aurora MySQL 버전 3은 커뮤니티 MySQL의 즉시 DDL 기능과 호환됩니다. 이전의 Aurora 빠른 DDL 기능은 사용되지 않습니다. 즉시 DDL의 사용 방법은 즉시 DDL (Aurora MySQL 버전 3)를 참조하세요.
  • 내림차순, 함수, 보이지 않는 인덱스. 사용 방법은 MySQL 참조 매뉴얼보이지 않는 인덱스, 내림차순 인덱스, 및 CREATE INDEX 문을 참조하세요.
  • SQL 문을 통해 제어되는 역할 기반 권한. 권한 모델의 변경 사항에 대한 자세한 정보는 역할 기반 권한 모델을 참조하세요.
  • SELECT ... FOR SHARE 문과 함께 NOWAITSKIP LOCKED 절. 이 절들은 다른 트랜잭션이 행 잠금을 해제할 때까지 기다리지 않습니다. 사용 방법은 MySQL 참조 매뉴얼잠금 읽기를 참조하세요.
  • 이진 로그(binlog) 복제의 개선. Aurora MySQL의 세부사항은 이진 로그 복제를 참조하세요. 특히, 필터링된 복제를 수행할 수 있습니다. 필터링된 복제의 사용 방법에 대한 정보는 MySQL 참조 매뉴얼서버가 복제 필터링 규칙을 평가하는 방법을 참조하세요.
  • 힌트들. 일부 MySQL 8.0 호환 힌트는 이미 Aurora MySQL 버전 2로도 백포트되었었습니다. Aurora MySQL에서 힌트를 사용하는 방법에 대한 정보는 Aurora MySQL 힌트를 참조하세요. 커뮤니티 MySQL 8.0의 힌트 전체 목록은 MySQL 참조 매뉴얼옵티마이저 힌트에서 확인할 수 있습니다.

MySQL 8.0 커뮤니티 에디션에 추가된 기능 전체 목록은 블로그 포스트 MySQL 8.0의 새로운 기능 전체 목록에서 확인할 수 있습니다.

Aurora MySQL 버전 3에는 커뮤니티 MySQL 8.0.26에서 백포트된 포괄적 언어 변경도 포함되어 있습니다. 이 변경에 대한 자세한 내용은 Aurora MySQL 버전 3의 포괄적 언어 변경을 참조하세요.

Aurora MySQL 버전 3 – Aurora MySQL Serverless v2 필수 요건

Aurora MySQL Serverless v2를 사용하려면, 클러스터의 모든 DB 인스턴스에 Aurora MySQL 버전 3 사용이 필수 요건입니다. Aurora MySQL Serverless v2는 DB 클러스터에서 리더 인스턴스를 지원하고, Aurora MySQL Serverless v1에서 사용할 수 없는 기타 Aurora 기능을 포함합니다. 또한 Aurora MySQL Serverless v1보다 더 빠르고 세밀한 스케일링이 가능합니다.

Aurora MySQL 버전 3 릴리스 노트

Aurora MySQL 버전 3의 모든 릴리스 노트는 Aurora MySQL 릴리스 노트Amazon Aurora MySQL 버전 3의 데이터베이스 엔진 업데이트에서 확인할 수 있습니다.

새로운 병렬 쿼리 최적화

Aurora 병렬 쿼리 최적화는 이제 더 많은 SQL 작업에 적용됩니다:

  • 병렬 쿼리는 이제 TEXT, BLOB, JSON, GEOMETRY, 그리고 768바이트보다 긴 VARCHARCHAR 데이터 타입이 포함된 테이블에 적용됩니다.
  • 병렬 쿼리는 파티셔닝된 테이블을 포함하는 쿼리를 최적화할 수 있습니다.
  • 병렬 쿼리는 선택 목록과 HAVING 절에 집계 함수 호출을 포함하는 쿼리를 최적화할 수 있습니다.

이러한 기능 향상에 대한 자세한 정보는 Aurora MySQL 버전 3으로 병렬 쿼리 클러스터 업그레이드를 참조하세요. Aurora 병렬 쿼리에 대한 일반적인 정보는 Amazon Aurora MySQL의 병렬 쿼리에서 확인할 수 있습니다.

데이터베이스 재시작 시간 감소를 위한 최적화

Aurora MySQL DB 클러스터는 계획되거나 계획되지 않은 중단 순간 동안에도 높은 가용성을 유지해야 합니다.

데이터베이스 관리자는 가끔 데이터베이스 유지 관리를 수행해야 합니다. 이 유지 관리에는 데이터베이스 패치, 업그레이드, 수동 재부팅이 필요한 데이터베이스 매개변수 변경, 인스턴스 클래스 변경 시간을 줄이기 위한 페일오버 수행 등이 포함됩니다. 이러한 계획된 작업은 다운타임을 필요로 합니다.

그러나 다운타임은 기본 하드웨어 결함으로 인한 예기치 않은 장애 조치나 데이터베이스 자원의 스로틀링과 같은 계획되지 않은 작업으로 인해 발생할 수도 있습니다. 이러한 계획되거나 계획되지 않은 작업은 모두 데이터베이스 재기동을 유발합니다.

Aurora MySQL 버전 3.05 이상에서는, 데이터베이스 재시작 시간을 최소화하는 최적화 기법이 도입되었습니다. 이 최적화 기법을 통해, 기존 대비 65%까지 다운타임을 줄일 수 있으며, DB 재기동 후 데이터베이스 작업에 대한 방해를 덜 받게됩니다.

데이터베이스 기동 중에는 많은 내부 메모리 구성 요소가 초기화됩니다. 이 중 가장 큰 것은 Aurora MySQL의 기본값으로 인스턴스 메모리 크기의 75%를 차지하도록 설정하는 InnoDB 버퍼 풀입니다. 테스트 과정에서, DB 초기화 시간은 InnoDB 버퍼 풀의 사이즈와 비례한다는 것을 확인했으며, 따라서 DB 인스턴스 클래스 크기가 커지면 DB 초기화 시간 또한 커집니다. 이 초기화 단계 동안 데이터베이스는 신규 커넥션을 받아들일 수 없으며, 이로 인해 재기동 중 다운타임이 더 길어지게 됩니다. Aurora MySQL 빠른 재시작의 첫 단계는, 버퍼 풀 초기화 작업을 최적화하여 데이터베이스의 초기화 시간을 줄이고, 이를 통해 DB 전체 재시작 시간을 감소시키는 것입니다.

자세한 내용은 블로그 Reduce downtime with Amazon Aurora MySQL database restart time optimizations(아마존 Aurora MySQL의 재기동 시간 최적화 기능을 통해 다운타임 줄이기)를 참조하세요.

Leave a Comment



이 문서 공유

Aurora MySQL 버전 3 – MySQL 8.0 호환

링크 복사

CONTENTS