14.5.6 별도의 테이블 스페이스에 InnoDB Undo 로그 저장
MySQL 5.6.3 이후에는 시스템 테이블 스페이스 를 제외한 하나 이상의 개별 Undo 테이블 스페이스 에 InnoDB
의 Undo 로그 를 저장할 수 있습니다. 이 레이아웃은 Undo 로그가 시스템 테이블 스페이스 의 일부인 기본 구성과는 다릅니다. Undo 로그 I / O 패턴은 이러한 테이블 공간은 SSD 스토리지로 이동할 적합한 후보입니다. 한편, 시스템 테이블 공간은 하드 디스크 스토리지에 유지합니다. 사용자는 InnoDB
의 Undo 로그를 유지하기 위해 만든 개별 테이블 스페이스 및 테이블 스페이스의 세그먼트 를 제거 할 수 없습니다.
이러한 파일 시스템 테이블 공간에서 이전에 실행 된 I / O 작업을 처리하기 위해 이러한 새 파일을 추가하도록 시스템 테이블 스페이스의 정의를 확장합니다.
Undo 로그는 롤백 세그먼트 로도 알려져 있습니다.
이 기능에는 다음과 같은 새로운 구성 옵션 또는 다른 이름으로 바뀐 구성 옵션이 포함되어 있습니다.
innodb_undo_tablespaces
.innodb_undo_directory
.innodb_rollback_segments
는innodb_undo_logs
됩니다. 호환성을 위해 이전 이름도 사용할 수 있습니다.
InnoDB
의 Undo 로그 기능은 2 개의 비 동적 시작 변수 ( innodb_undo_tablespaces
및 innodb_undo_directory
)의 설정을 수반하기 때문에이 기능은 MySQL 인스턴스를 초기화하는 경우에만 활성화 할 수 있습니다.
사용상의주의
이 기능을 사용하려면 다음을 수행합니다.
Undo 로그를 보관하는 경로를 결정합니다. MySQL 구성 파일 또는 시작 스크립트의
innodb_undo_directory
옵션의 인수로 해당 경로를 지정합니다.innodb_undo_logs
옵션에 제로가 아닌 시작 값을 지정합니다. 비교적 작은 값에서 시작하여 성능 효과를 확인 서서히 값을 늘릴 수 있습니다.innodb_undo_tablespaces
옵션에 제로가 아닌 값을 지정합니다.innodb_undo_logs
값으로 지정된 여러 Undo 로그는이 숫자의 개별 테이블 공간 (.ibd
파일에서 지정)로 구분됩니다. 이 값은 MySQL 인스턴스가 유효 기간 동안은 고정되기 때문에 최적 값이 확실하지 않을 경우, 어느 쪽인가하면 높게 추정합니다.구성 파일 또는 MySQL 시작 스크립트에서 선택한 값을 사용하여 새로운 MySQL 인스턴스를 만듭니다. 프로덕션 서버에 유사한 데이터에서 실제 워크로드를 사용합니다. 또한 이동 가능한 테이블 스페이스 기능을 사용하여 기존의 데이터베이스 테이블을 새로 구성한 MySQL 인스턴스로 복사합니다. 자세한 내용은 섹션 14.5.5 "테이블 공간의 다른 서버로 복사 (이동 가능한 테이블 스페이스)" 를 참조하십시오.
I / O가 많은 워크로드의 성능 벤치 마크.
반복
innodb_undo_logs
값을 늘려 성능 테스트를 다시 실행합니다. I / O 성능 이득이 중지 값을 찾습니다.이러한 옵션에 이상적인 설정을 사용하여 새로운 실전 인스턴스를 배포합니다. 복제 구성에서 슬레이브 서버 로 설정하거나 이전 실전 인스턴스에서 데이터를 이동합니다.
성능 및 확장 성 고려 사항
Undo 로그를 개별 파일에 보관하면 MySQL 팀이 트랜잭션 데이터와 관련된 I / O 및 메모리 최적화를 구현할 수 있습니다. 예를 들어, Undo 데이터는 디스크에 기록되고 그 위에 거의 사용되지 않기 때문에 (충돌 복구의 경우에만) 파일 시스템의 메모리 캐시에 유지할 필요가없고, 그 결과 더 많은 시스템 메모리를 InnoDB
의 버퍼 풀 에 할당 할 수 있습니다.
InnoDB
시스템 테이블 스페이스를 하드 드라이브에 유지하고 각 테이블의 테이블 스페이스를 SSD로 이동하는 전형적인 SSD 모범 사례는 Undo 정보를 개별 테이블 공간 파일로 이동하여 도움이됩니다.
내부 정보
실제 테이블 공간 파일의 이름은 undo
입니다. 여기서 N
N
은 공간 ID (머리의 제로 포함)입니다.
현재 개별 Undo 테이블 스페이스를 포함 MySQL 인스턴스는 MySQL 5.5과 5.1 등 이전 버전으로 다운 그레이드 할 수 없습니다.