Aurora MySQL v3 Release Notes 정리

Aurora MySQL v3.07.0 – MySQL 8.0.36 호환 (2024-06-04)

Estimated reading: 2 minutes 36 views

원본 문서: Aurora MySQL database engine updates 2024-06-04 (version 3.07.0, compatible with MySQL 8.0.36)

버전: 3.07.0

Aurora MySQL 3.07.0이 정식 출시되었습니다. Aurora MySQL 3.07 버전은 MySQL 8.0.36과 호환됩니다. 커뮤니티 변경 사항에 대한 자세한 내용은 MySQL 8.0 릴리스 노트를 참조하십시오.

Aurora MySQL 버전 3의 새로운 기능에 대한 자세한 내용은 Aurora MySQL 버전 3, MySQL 8.0과 호환에서 확인할 수 있습니다. Aurora MySQL 버전 3과 버전 2의 차이점은 Aurora MySQL 버전 2와 버전 3 비교에서, Aurora MySQL 버전 3과 MySQL 8.0 커뮤니티 에디션의 비교는 Amazon Aurora 사용자 가이드Aurora MySQL 버전 3과 MySQL 8.0 커뮤니티 에디션 비교에서 확인할 수 있습니다.

현재 지원되는 Aurora MySQL 릴리스는 2.07.9, 2.07.10, 2.11.*, 2.12.*, 3.03.*, 3.04.*, 3.05.*, 3.06.*, 3.07.*입니다.

질문이나 우려 사항이 있는 경우, 커뮤니티 포럼과 AWS 지원 페이지를 통해 통해 AWS의 지원을 받을 수 있습니다. 자세한 내용은 Amazon Aurora 사용자 가이드Amazon Aurora DB 클러스터 유지 관리에서 확인할 수 있습니다.

개선 사항

보안 문제 및 CVE 수정:

이 릴리스는 MySQL 8.0.36을 포함한 모든 커뮤니티 CVE 수정 사항을 포함합니다. 다음 CVE 수정 사항이 포함되어 있습니다:

가용성 개선 사항:

  • 라이터 인스턴스에서 변경 또는 삭제 중인 테이블을 읽을 때 리더 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 전달된 쿼리를 실행하는 동안 쓰기 전달 세션이 닫힐 때 Aurora MySQL 라이터 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 바이너리 로그가 활성화된 인스턴스에서 대규모 GTID 세트를 처리할 때 DB 인스턴스가 재시작되는 문제를 수정했습니다.
  • InnoDB 파티션 테이블에서 INSERT 쿼리를 처리할 때 인스턴스의 여유 메모리가 점진적으로 감소할 수 있는 문제를 수정했습니다.
  • 드문 경우지만 리더 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • SHOW STATUSPURGE BINARY LOGS 문을 동시에 실행할 때 데이터베이스 인스턴스가 재시작될 수 있는 문제를 수정했습니다. PURGE BINARY LOGS는 사용자가 설정한 바이너리 로그 보존 기간을 준수하기 위해 실행되는 관리 명령어입니다.
  • MODIFY COLUMN 또는 CHANGE COLUMN 문으로 비가상 열의 순서가 변경된 테이블에서 데이터 조작 언어(DML) 문을 실행한 후 서버가 예상치 못하게 종료될 수 있는 문제를 수정했습니다.
  • 데이터베이스 인스턴스를 다시 시작하는 동안 추가로 다시 시작될 수 있는 문제를 수정했습니다.
  • 쓰기 전달을 사용하는 리더 DB 인스턴스에서 전달된 암시적 커밋문에 오류가 발생하면 다시 시작될 수 있는 문제를 수정했습니다.
  • 드문 경우지만 외래 키 제약 조건이 있는 테이블에서 SELECT 쿼리를 수행할 때 리더 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 수 TB이상 큰 사이즈의 Aurora 클러스터 볼륨을 사용하는 DB 인스턴스에서 InnoDB 버퍼 풀 유효성 검사 실패로 인해 다시 시작하는 동안 다운타임이 증가할 수 있는 문제를 수정했습니다.
  • 외래키 제약 조건을 설정함에 있어서, 그 대상 열이나, 참조된 테이블쪽의 구성 열로써 일반적인 열이 아닌 가상 열을 사용하고 있는 경우에, UPDATE나 DELETE 명령 수행에 따른 케스케이딩(cascade) 조건으로써 이 가상 열이 수정되어야할 수 있을 것입니다. 이러한 상황에서 데이터베이스가 재시작 될 수 있는 문제가 있었고, 이번 버전에서 수정되었습니다.
  • AUTO_INCREMENT 열과 관련된 과도한 INSERT 작업을 실행하는 동안 다시 시작이 발생한 경우, 기동 중에 데이터베이스 복구가 중단될 수 있는 문제를 수정했습니다.
  • 스케일 업하는 동안 데이터베이스가 다시 시작될 수 있는 Aurora Serverless v2의 문제를 수정했습니다.
-= 옮긴이 보충 설명 =- 
쓰기 전달 기능: 리더 인스턴스에서 쓰기 쿼리(INSERT, UPDATE, DELETE 등)를 실행하면, 해당 쿼리가 리더 인스턴스에서 직접 처리되지 않고 라이터 인스턴스로 전달되어 실행됩니다. 라이터 인스턴스에서 쓰기 작업이 완료되면 결과가 리더 인스턴스로 반환되어 최종적으로 사용자에게 전달되는 방식입니다. 즉, 리더 인스턴스에서 적용한 어떤 변경 사항으로 인해, 라이터 인스턴스에 암시적으로 commit 명령이 전달될 수 있는데, 이 때 라이터 인스턴스에서 commit 실행에 오류가 발생할 경우, 그것을 원인으로 리더 인스턴스가 재시작 될 수 있는 버그가 있었다는 이야기입니다.
가상 열: Virtual Column. 실제 물리적우로 데이터가 저장되지 않고, 다른 열들을 가지고 값을 만들어 낼 수 있는 열입니다. 예를들면 팬매 수량과, 금액은 실제로 물리적으로 저장하고, 판매총액 이라는 값은 (판매 수량) x (금액)으로 얼마든지 바로 계산할 수 있으니까, 굳이  물리적으로 직접 저장하지 않고 계산식 같은 메타 데이터만 저장했다가, 해당 컬럼이 사용될 때에 다른 컬럼들을 이용해서 계산하여 값을 보여주는 방식인 것입니다. 
위의 버그와 관련하여 풀어 설명해보자면, FK가 설정되어있는 두 테이블이 있는데, FK에 cascade 조건도 걸려있어서, 어느 한쪽이 수정/삭제되면 다른쪽에서도 수정/삭제 되는 상황이 배경 상황입니다. 근데 마침 FK를 구성하는 한쪽이 일반 컬럼이 아니라 가상 컬럼인 경우에, cascade 조건으로 인해 가상 컬럼이 자동으로 수정되는 일이 벌어지는 경우, 버그로 인해 DB가 죽었다가 재기동 되어버리는 상황이 발생할 수 있었다는 이야기입니다. 

일반 개선 사항:

  • 병렬 쿼리를 사용하는 일부 PK 범위 스캔 쿼리의 I/O 사용량을 줄이고 성능을 개선했습니다.
  • Aurora MySQL 버전 3.06.0에서는 Amazon Bedrock 통합을 지원합니다. 이에 따라 새로운 예약 키워드 (accept, aws_bedrock_invoke_model, aws_sagemaker_invoke_endpoint, content_type, timeout_ms)가 추가되었습니다. Aurora MySQL 버전 3.07.0에서는 이러한 키워드가 예약되지 않은 키워드로 변경되어, 따옴표 없이도 식별자로 사용할 수 있습니다. MySQL이 예약 키워드와 예약되지 않은 키워드를 어떻게 처리하는지에 대한 자세한 내용은 MySQL 문서의 키워드와 예약어를 참조하세요.
  • Amazon Bedrock이 아직 사용할 수 없는 AWS 리전의 Aurora MySQL DB 클러스터에서 Amazon Bedrock 서비스를 호출할 때 클라이언트에게 명확한 오류 메시지를 반환하지 않던 문제를 수정했습니다.
  • Aurora 병렬 쿼리를 사용하여 BLOB 열을 쿼리할 때 과도한 메모리 사용을 유발할 수 있는 문제를 수정했습니다.
  • 세션 수준에서 connection_memory_limitconnection_memory_chunk_size 매개변수를 설정할 수 있는 기능을 추가하여 MySQL 커뮤니티 에디션과 동일하게 동작하도록 개선했습니다. connection_memory_limit는 단일 사용자 연결에서 사용할 수 있는 최대 메모리 양을 설정하는 데 사용됩니다. connection_memory_chunk_size 매개변수는 전역 메모리 사용량 카운터의 업데이트에 대한 청크 크기를 설정하는 데 사용할 수 있습니다.
  • 사용자가 performance_schema 쿼리에 대한 중단 기능이나 세션 타임아웃 설정을 할 수 없는 문제를 수정했습니다.
  • 사용자 지정 SSL 인증서(mysql.rds_import_binlog_ssl_material)를 사용하도록 구성된 바이너리 로그(binlog) 복제가 복제 인스턴스에서 호스트 교체를 진행 중일 때 실패할 수 있는 문제를 수정했습니다.
  • 전체 테이블에 걸친 전문 검색 시스템의 메모리 사용량을 추적하기 위해 Aurora_fts_cache_memory_used 전역 상태 변수를 추가했습니다. 자세한 내용은 Amazon Aurora 사용 설명서Aurora MySQL 전역 상태 변수를 참조하세요.
  • 제로 ETL 대상으로 구성된 Amazon Redshift 클러스터에서 Amazon Aurora MySQL DB 클러스터가 바이너리 로그 복제본으로 구성되고 Enhanced Binlog 및 제로 ETL 통합이 활성화된 경우 IntegrationLag가 일시적으로 증가할 수 있는 문제를 수정했습니다.
  • 로그 파일을 다운로드하거나 순환할 수 없게 만들고 경우에 따라 CPU 사용량을 증가시킬 수 있는 감사 로그 파일 관리와 관련된 문제를 수정했습니다.
  • AUTO_INCREMENT 키 복구를 최적화하여 데이터베이스에 많은 수의 테이블이 있는 스냅샷 복원, 특정 시점 복구 수행 및 DB 클러스터 복제를 완료하는 데 걸리는 시간을 단축했습니다.
  • Performance Schema의 대기 이벤트 요약 테이블wait/io/redo_log_flush 이벤트가 표시되지 않는 문제를 수정했습니다.
  • 스냅샷 복원, 백트래킹 또는 데이터베이스 복제(cloning) 작업 후 내림차순 인덱스를 사용하는 AUTO_INCREMENT 컬럼에서 중복 키 오류가 발생할 수 있는 문제를 수정했습니다.
  • 쓰기 전달 기능을 사용하는 리더 DB 인스턴스가 타임스탬프 값을 포함하는 데이터 조작 언어(DML) 문을 실행하고 time_zone 데이터베이스 파라미터가 UTC로 설정된 경우, 라이터 DB 인스턴스가 재시작될 수 있는 문제를 수정했습니다.
  • Aurora 리더 인스턴스에서 최소 하나의 전문 검색(FTS) 인덱스를 가진 테이블에 대해 SELECT 쿼리를 실행할 때, Aurora 작성기 DB 인스턴스에서 TRUNCATE 문이 실행 중일 경우 table doesn't exist라는 오류가 발생할 수 있는 문제를 수정했습니다.
  • 드문 경우에 제로 다운타임 패칭(ZDP)이 실패하는 문제를 수정했습니다.
  • 해시 조인 알고리즘을 사용하여 병렬 쿼리로 LEFT JOIN 또는 RIGHT JOIN 연산을 수행할 때 불완전한 결과 집합을 초래할 수 있는 문제를 해결했습니다.

업그레이드 및 마이그레이션:

  • 테이블 스키마에 사용자 정의 FTS_DOC_ID 열이 있을 때, Aurora MySQL 버전 2에서 Aurora MySQL 버전 3으로 업그레이드가 실패할 수 있는 문제를 수정했습니다.
  • InnoDB 테이블스페이스를 처리하는 동안 발생하는 동기화 문제로 인해 Aurora MySQL 버전 2에서 버전 3으로 주요 버전 업그레이드가 실패할 수 있는 문제를 수정했습니다.
  • Aurora MySQL 버전 2의 InnoDB 시스템 테이블에 이미 삭제된 테이블스페이스에 대한 고아 항목이 있는 경우 Aurora MySQL 버전 3으로 주요 버전 업그레이드가 실패할 수 있는 문제를 수정했습니다.
  • Amazon RDS Blue/Green Deployment 전환 후 SERVER_ID 값이 업데이트되지 않는 문제를 수정했습니다. 이로 인해 Amazon Web Services (AWS) JDBC Driver와 같은 스마트 드라이버가 블루/그린 전환 후 DB 클러스터 토폴로지를 발견할 수 없는 문제가 발생했습니다. 이번 수정으로 Aurora MySQL 버전 3.07 이상에서 실행되는 RDS Blue/Green Deployment의 일환으로 이름이 변경된 Aurora DB 클러스터는 전환의 일환으로 SERVER_ID 값이 업데이트됩니다. 이전 버전에서는 블루 및 그린 클러스터의 DB 인스턴스를 재부팅하여 SERVER_ID 값을 업데이트할 수 있습니다.

MySQL 커뮤니티 에디션 버그 수정 통합

이 릴리스는 8.0.36까지의 모든 커뮤니티 버그 수정 사항이 포함되어 있습니다. 자세한 내용은 Aurora MySQL 3.x 데이터베이스 엔진 업데이트로 수정된 MySQL 버그에서 확인할 수 있습니다.

  • Graviton 기반 인스턴스에서 데이터베이스 재시작 시 캐시 라인 값이 잘못 계산되어 오류가 발생할 수 있는 문제를 수정했습니다. (커뮤니티 버그 수정 #35479763)
  • 스토어드 루틴 내에서 일부 서브쿼리 인스턴스가 올바르게 처리되지 않는 문제를 수정했습니다. (커뮤니티 버그 수정 #35377192)
  • 백그라운드 TLS 인증서 갱신으로 인해 CPU 사용량이 증가할 수 있는 문제를 수정했습니다. (커뮤니티 버그 수정 #34284186)
  • InnoDB가 3.05보다 낮은 Aurora MySQL 버전에서 MySQL 시스템 스키마의 테이블에 INSTANT 열을 추가할 수 있도록 허용하여 Aurora MySQL 버전 3.05.0으로 업그레이드한 후 서버가 예기치 않게 닫히는(데이터베이스 인스턴스 다시 시작) 문제를 수정했습니다. (커뮤니티 버그 수정 #35625510)

Leave a Comment



이 문서 공유

Aurora MySQL v3.07.0 – MySQL 8.0.36 호환 (2024-06-04)

링크 복사

CONTENTS