Aurora MySQL 버전 2와 Aurora MySQL 버전 3의 비교 - Amazon Aurora

Aurora MySQL 버전 2와 Aurora MySQL 버전 3의 비교

Aurora MySQL 버전 2 클러스터를 버전 3으로 업그레이드하는 경우 주의해야 할 변경 사항에 대해 알아보려면 다음을 참조하세요.

Aurora MySQL 버전 2와 3의 기능 차이점

다음 Amazon Aurora MySQL 기능은 Aurora MySQL for MySQL 5.7에서 지원되지만, 이러한 기능은 현재 Aurora MySQL for MySQL 8.0에서 지원되지 않습니다.

  • Aurora Serverless v1 클러스터를 위한 Aurora MySQL 버전 3을 사용할 수 없습니다. Aurora MySQL 버전 3은 Aurora Serverless v2와 호환됩니다.

  • 랩 모드는 Aurora MySQL 버전 3에는 적용되지 않습니다. Aurora MySQL 버전 3에는 랩 모드 기능이 없습니다. 인스턴트 DDL은 이전에 랩 모드에서 사용 가능했던 빠른 온라인 DDL 기능을 대체합니다. 예시는 인스턴트 DDL(Aurora MySQL 버전 3) 섹션을 참조하세요.

  • 쿼리 캐시는 커뮤니티 MySQL 8.0 및 Aurora MySQL 버전 3에서도 제거됩니다.

  • Aurora MySQL 버전 3은 커뮤니티 MySQL 해시 조인 기능과 호환됩니다. Aurora MySQL 버전 2에서 해시 조인의 Aurora별 구현은 사용되지 않습니다. Aurora 병렬 쿼리에서 해시 조인 사용에 대한 자세한 내용은 병렬 쿼리 클러스터에 대한 해시 조인 설정Aurora MySQL 힌트 섹션을 참조하세요. 해시 조인에 대한 일반적인 사용 정보는 MySQL 참조 설명서해시 조인 최적화를 참조하세요.

  • Aurora MySQL 버전 2에서 더 이상 사용되지 않는 mysql.lambda_async 저장 프로시저는 버전 3에서 제거됩니다. 버전 3의 경우 대신 비동기 함수 lambda_async을 사용합니다.

  • Aurora MySQL 버전 3의 기본 문자 집합은 utf8mb4입니다. Aurora MySQL 버전 2의 기본 문자 집합은 latin1이었습니다. 이 문자 집합에 대한 자세한 내용은 MySQL 참조 설명서utf8mb4 문자 집합(4바이트 UTF-8 유니코드 인코딩)을 참조하세요.

일부 Aurora MySQL 기능은 AWS 리전 및 DB 엔진 버전의 특정 조합에서 사용할 수 있습니다. 세부 정보는 Amazon Aurora에서 AWS 리전 및 Aurora DB 엔진별 지원 기능을 참조하세요.

인스턴스 클래스 지원

Aurora MySQL 버전 3은 Aurora MySQL 버전 2와 다른 인스턴스 클래스 집합을 지원합니다.

  • 대형 인스턴스의 경우 db.r5, db.r6gdb.x2g와 같은 최신 인스턴스 클래스를 사용할 수 있습니다.

  • 소형 인스턴스의 경우 db.t3db.t4g와 같은 최신 인스턴스 클래스를 사용할 수 있습니다.

    참고

    T DB 인스턴스 클래스는 개발 및 테스트 서버 또는 기타 비프로덕션 서버에만 사용하는 것이 좋습니다. T 인스턴스 클래스에 대한 자세한 내용은 개발 및 테스트에 T 인스턴스 클래스 사용 섹션을 참조하세요.

Aurora MySQL 버전 2의 다음 인스턴스 클래스는 Aurora MySQL 버전 3에서 사용할 수 없습니다.

  • db.r4

  • db.r3

  • db.t3.small

  • db.t2

Aurora MySQL DB 인스턴스를 생성하는 CLI 문을 관리 스크립트에서 확인하세요. Aurora MySQL 버전 3에서 사용할 수 없는 인스턴스 클래스 이름을 하드코딩합니다. 필요한 경우 인스턴스 클래스 이름을 Aurora MySQL 버전 3에서 지원하는 이름으로 수정합니다.

작은 정보

Aurora MySQL 버전 및 AWS 리전의 특정 조합에 사용할 수 있는 인스턴스 클래스를 확인하려면 describe-orderable-db-instance-options AWS CLI 명령을 사용하세요.

Aurora 인스턴스 클래스에 대한 자세한 내용은 Aurora DB 인스턴스 클래스 섹션을 참조하세요.

Aurora MySQL 버전 3에 대한 파라미터 변경 사항

Aurora MySQL 버전 3에는 새로운 클러스터 수준 및 인스턴스 수준 구성 파라미터가 포함되어 있습니다. Aurora MySQL 버전 3은 또한 Aurora MySQL 버전 2에 있던 일부 파라미터를 제거합니다. 일부 파라미터 이름은 포괄적 언어에 대한 이니셔티브의 결과로 변경됩니다. 이전 버전과의 호환성을 위해 이전 이름이나 새 이름을 사용하여 파라미터 값을 검색할 수 있습니다. 그러나 새 이름을 사용하여 사용자 지정 파라미터 그룹에서 파라미터 값을 지정해야 합니다.

Aurora MySQL 버전 3에서는 lower_case_table_names 파라미터가 클러스터가 생성될 때 영구적으로 설정됩니다. 이 옵션에 기본값이 아닌 값을 사용하는 경우 업그레이드하기 전에 Aurora MySQL 버전 3 사용자 지정 파라미터 그룹을 설정합니다. 그런 다음, 클러스터 생성 또는 스냅샷 복원 작업 중에 파라미터 그룹을 지정합니다.

참고

Aurora MySQL 기반 Aurora Global Database 사용 시 lower_case_table_names 파라미터가 활성화 되어 있는 경우 Aurora MySQL 버전 2에서 버전 3으로 현재 위치 업그레이드를 수행할 수 없습니다. 대신 스냅샷 복원 방법을 사용하세요.

Aurora MySQL 버전 3에서는 CONNECTION_ADMIN 권한이 있는 사용자에게 init_connectread_only 파라미터가 적용되지 않습니다. Aurora 마스터 사용자도 마찬가지입니다. 자세한 내용은 역할 기반 권한 모델 단원을 참조하십시오.

Aurora MySQL 클러스터 파라미터 전체 목록은 클러스터 수준 파라미터 섹션을 참조하세요. 이 테이블에서는 Aurora MySQL 버전 2 및 3의 모든 파라미터를 다룹니다. 이 테이블에는 Aurora MySQL 버전 3에서 새로운 파라미터 또는 Aurora MySQL 버전 3에서 제거된 파라미터를 보여주는 메모가 포함되어 있습니다.

Aurora MySQL 인스턴스 파라미터 전체 목록은 인스턴스 수준 파라미터 섹션을 참조하세요. 이 테이블에서는 Aurora MySQL 버전 2 및 3의 모든 파라미터를 다룹니다. 이 테이블에는 Aurora MySQL 버전 3에서 새로운 파라미터 또는 Aurora MySQL 버전 3에서 제거된 파라미터를 보여주는 메모가 포함되어 있습니다. 또한 이전 버전에서는 수정할 수 있었지만 Aurora MySQL 버전 3에서는 수정할 수 없는 파라미터를 보여주는 메모도 포함되어 있습니다.

변경된 파라미터 이름에 대한 자세한 내용은 Aurora MySQL 버전 3에 대한 포괄적 언어 변경 섹션을 참조하세요.

상태 변수

Aurora MySQL에 적용되지 않는 상태 변수에 대한 자세한 내용은 Aurora MySQL에 적용되지 않는 MySQL 상태 변수 섹션을 참조하세요.

Aurora MySQL 버전 3에 대한 포괄적 언어 변경

Aurora MySQL 버전 3은 MySQL 커뮤니티 에디션의 버전 8.0.23과 호환됩니다. Aurora MySQL 버전 3에는 포괄적 언어에 대한 키워드 및 시스템 스키마와 관련된 MySQL 8.0.26의 변경도 포함되어 있습니다. 예를 들어 SHOW REPLICA STATUS 명령이 이제 SHOW SLAVE STATUS 대신 기본 설정됩니다.

다음 Amazon CloudWatch 지표는 Aurora MySQL 버전 3에서 새 이름을 갖습니다.

Aurora MySQL 버전 3에서는 새 지표 이름만 사용할 수 있습니다. Aurora MySQL 버전 3으로 업그레이드할 때 지표 이름에 의존하는 경보 또는 기타 자동화를 업데이트해야 합니다.

이전 이름 새 이름
ForwardingMasterDMLLatency ForwardingWriterDMLLatency
ForwardingMasterOpenSessions ForwardingWriterOpenSessions
AuroraDMLRejectedMasterFull AuroraDMLRejectedWriterFull
ForwardingMasterDMLThroughput ForwardingWriterDMLThroughput

다음 상태 변수는 Aurora MySQL 버전 3에서 새 이름을 갖습니다.

호환성을 위해 초기 Aurora MySQL 버전 3 릴리스에서 두 이름 중 하나를 사용할 수 있습니다. 향후 릴리스에서 기존 상태 변수 이름이 제거되게 됩니다.

제거할 이름 새 이름 또는 기본 이름
Aurora_fwd_master_dml_stmt_duration Aurora_fwd_writer_dml_stmt_duration
Aurora_fwd_master_dml_stmt_count Aurora_fwd_writer_dml_stmt_count
Aurora_fwd_master_select_stmt_duration Aurora_fwd_writer_select_stmt_duration
Aurora_fwd_master_select_stmt_count Aurora_fwd_writer_select_stmt_count
Aurora_fwd_master_errors_session_timeout Aurora_fwd_writer_errors_session_timeout
Aurora_fwd_master_open_sessions Aurora_fwd_writer_open_sessions
Aurora_fwd_master_errors_session_limit Aurora_fwd_writer_errors_session_limit
Aurora_fwd_master_errors_rpc_timeout Aurora_fwd_writer_errors_rpc_timeout

다음 구성 파라미터는 Aurora MySQL 버전 3에서 새 이름을 갖습니다.

호환성을 위해 초기 Aurora MySQL 버전 3 릴리스에서 두 이름 중 하나를 사용하여 mysql에서 파라미터 값을 확인할 수 있습니다. 사용자 정의 파라미터 그룹의 값을 수정할 때는 새 이름만 사용 수 있습니다. 향후 릴리스에서 기존 파라미터 이름이 제거되게 됩니다.

제거할 이름 새 이름 또는 기본 이름
aurora_fwd_master_idle_timeout aurora_fwd_writer_idle_timeout
aurora_fwd_master_max_connections_pct aurora_fwd_writer_max_connections_pct
master_verify_checksum source_verify_checksum
sync_master_info sync_source_info
init_slave init_replica
rpl_stop_slave_timeout rpl_stop_replica_timeout
log_slow_slave_statements log_slow_replica_statements
slave_max_allowed_packet replica_max_allowed_packet
slave_compressed_protocol replica_compressed_protocol
slave_exec_mode replica_exec_mode
slave_type_conversions replica_type_conversions
slave_sql_verify_checksum replica_sql_verify_checksum
slave_parallel_type replica_parallel_type
slave_preserve_commit_order replica_preserve_commit_order
log_slave_updates log_replica_updates
slave_allow_batching replica_allow_batching
slave_load_tmpdir replica_load_tmpdir
slave_net_timeout replica_net_timeout
sql_slave_skip_counter sql_replica_skip_counter
slave_skip_errors replica_skip_errors
slave_checkpoint_period replica_checkpoint_period
slave_checkpoint_group replica_checkpoint_group
slave_transaction_retries replica_transaction_retries
slave_parallel_workers replica_parallel_workers
slave_pending_jobs_size_max replica_pending_jobs_size_max
pseudo_slave_mode pseudo_replica_mode

다음 저장 프로시저는 Aurora MySQL 버전 3에서 새 이름을 갖습니다.

호환성을 위해 초기 Aurora MySQL 버전 3 릴리스에서 두 이름 중 하나를 사용할 수 있습니다. 향후 릴리스에서 기존 프로시저 이름이 제거되게 됩니다.

제거할 이름 새 이름 또는 기본 이름
mysql.rds_set_master_auto_position mysql.rds_set_source_auto_position
mysql.rds_set_external_master mysql.rds_set_external_source
mysql.rds_set_external_master_with_auto_position mysql.rds_set_external_source_with_auto_position
mysql.rds_reset_external_master mysql.rds_reset_external_source
mysql.rds_next_master_log mysql.rds_next_source_log

AUTO_INCREMENT 값

Aurora MySQL 버전 3에서 Aurora에서는 각 DB 인스턴스를 다시 시작할 때 각 테이블의 AUTO_INCREMENT 값을 보존합니다. Aurora MySQL 버전 2에서는 다시 시작한 후에는 AUTO_INCREMENT 값이 보존되지 않았습니다.

스냅샷에서 복원하고, 특정 시점으로 복구를 수행하고, 클러스터를 복제하여 새 클러스터를 설정하는 경우 AUTO_INCREMENT 값이 보존되지 않습니다. 이런 경우 AUTO_INCREMENT 값은 스냅샷이 생성된 시점의 테이블에서 가장 큰 열 값을 기준으로 한 값으로 초기화됩니다. 이 동작은 이런 작업 중에 AUTO_INCREMENT 값이 보존되는 RDS for MySQL 8.0의 동작과 다릅니다.

이진 로그 복제

MySQL 8.0 커뮤니티 에디션에서는 기본적으로 이진 로그 복제를 설정해 둡니다. Aurora MySQL 버전 3에서는 기본적으로 이진 로그 복제를 해제해 둡니다.

작은 정보

Aurora 기본 제공 복제 기능으로 고가용성 요구 사항이 충족되면 이진 로그 복제를 해제해 둘 수 있습니다. 이렇게 하면 이진 로그 복제의 성능 오버헤드를 방지할 수 있습니다. 또한 이진 로그 복제를 관리하는 데 필요한 관련 모니터링 및 문제 해결을 방지할 수 있습니다.

Aurora는 MySQL 5.7 호환 소스에서 Aurora MySQL 버전 3으로 이진 로그 복제를 지원합니다. 소스 시스템은 Aurora MySQL DB 클러스터, RDS for MySQL DB 인스턴스 또는 온프레미스 MySQL 인스턴스일 수 있습니다.

커뮤니티 MySQL과 마찬가지로 Aurora MySQL은 특정 버전을 실행하는 소스에서 동일한 주 버전 또는 하나의 주 버전 이상을 실행하는 대상으로 복제를 지원합니다. 예를 들어 MySQL 5.6 호환 시스템에서 Aurora MySQL 버전 3으로 복제는 지원되지 않습니다. Aurora MySQL 버전 3에서 MySQL 5.7 호환 또는 MySQL 5.6 호환 시스템으로 복제는 지원되지 않습니다. 이진 로그 복제 사용에 대한 자세한 내용은 Aurora과 MySQL 간의 복제 또는 Aurora와 다른 Aurora DB 클러스터(이진 로그 복제본) 간의 복제 섹션을 참조하세요.

Aurora MySQL 버전 3에는 필터링된 복제와 같은 커뮤니티 MySQL 8.0에서 이진 로그 복제에 대한 개선이 포함됩니다. 커뮤니티 MySQL 8.0 개선 사항에 대한 자세한 내용은 MySQL 참조 설명서서버가 복제 필터링 규칙을 평가하는 방법을 참조하세요.

멀티스레드 복제

Aurora MySQL 버전 3을 통해 Aurora MySQL는 멀티스레드 복제를 지원합니다. 사용 정보는 다중 스레드 이진 로그 복제 섹션을 참조하세요.

참고

Aurora MySQL 버전 2를 통해 다중 스레드 복제를 사용하지 않는 것이 좋습니다.

이진 로그 복제에 대한 트랜잭션 압축

이진 로그 압축에 대한 사용 정보는 MySQL 참조 설명서의 이진 로그 트랜잭션 압축을 참조하세요.

Aurora MySQL 버전 3의 이진 로그 압축에는 다음 제한 사항이 적용됩니다.

  • 이진 로그 데이터가 허용되는 최대 패킷 크기보다 큰 트랜잭션은 압축되지 않습니다. 이는 Aurora MySQL 이진 로그 압축 설정이 켜져 있는지와 관계없이 해당됩니다. 이러한 트랜잭션은 압축되지 않고 복제됩니다.

  • 아직 MySQL 8.0을 지원하지 않는 변경 데이터 캡처(CDC)의 커넥터를 사용하는 경우 이 기능을 사용할 수 없습니다. 이진 로그 압축을 사용하여 타사 커넥터를 철저히 테스트하는 것이 좋습니다. 또한 CDC에 binlog 복제를 사용하는 시스템에서 binlog 압축을 켜기 전에 테스트하는 것이 좋습니다.