>데이터 베이스 >MySQL 튜토리얼 >MySQL Redo 및 Undo 로그란 무엇입니까?

MySQL Redo 및 Undo 로그란 무엇입니까?

WBOY
WBOY앞으로
2023-05-30 16:07:311867검색

    1. Redo 로그 소개

    Redo 로그는 페이지 변경 사항을 기록하는 물리적 로그입니다.

    1.1 Redo 로그의 역할

    • 데이터베이스 쓰기 효율성 향상

    • 데이터베이스가 데이터를 잃지 않도록 확인하고 데이터 복구를 수행

    1.2 Redo 로그의 형식과 유형

    소위 REDO 구성 방법은 필요한 REDO 콘텐츠를 디스크 파일에 기록하여 효율적인 REDO 쓰기, 읽기, 복구 및 정리를 용이하게 하는 방법입니다. 우리는 REDO를 위에서 아래로 논리적 REDO 계층, 물리적 REDO 계층, 파일 계층의 세 가지 계층으로 나눕니다.

    • 논리적 REDO 레이어

    이 레이어는 실제 REDO 콘텐츠이며, 순차적 데이터 흐름입니다. REDO는 전역적으로 고유한 증분 오프셋 sn을 사용하여 끝에 연결된 여러 REDO 레코드로 구성됩니다. 전역 log_sys에서 sn의 최대값이며 데이터가 기록될 때마다 REDO 콘텐츠 길이만큼 sn이 증가합니다.

    • 물리적 REDO 레이어

    디스크는 블록 장치이기도 합니다. 블록 OS_FILE_LOG_BLOCK_SIZE의 길이는 디스크 섹터 512B의 크기와 같습니다. 각 IO 읽기 및 쓰기는 블록입니다.

    • 파일 레이어

    마지막으로 REDO가 REDO 로그 파일에 기록되고 로그 파일이 루프에 기록됩니다

    MySQL Redo 및 Undo 로그란 무엇입니까?

    2. Redo 로그(MTR)를 작성하는 과정

    • 사용자 스레드의 작업은 먼저 로그 버퍼log buffer

    • log buffer

    • 로그 버퍼에 기록됩니다. Redo 논리 로그

    • 에 순차적으로 기록되고 나중에 디스크에 기록됩니다. 디스크에 저장소를 유지한 후

    사용자에게 저장소가 완료되었음을 알립니다

    3.

    체크포인트는 Redo 로그에서 더티 페이지를 표시하는 비트로, 다음 두 가지 기능을 가지고 있습니다.
    • Redo 로그를 유지하여 정리를 용이하게 합니다.
    • 다시 시작 작업 부하를 줄입니다

    MySQL Redo 및 Undo 로그란 무엇입니까?

    데이터베이스 복구 프로세스:
    • 체크포인트 정보 읽기 •체크포인트 위치부터 나머지 로그 읽기
    • 로그를 구문 분석하고 space_no 및 page_id에 따라 해시 테이블 구축
    • Redo 로그, Redo 로그 적용 재생은 멱등성을 보장합니다
    • binlog를 구문 분석하여 xid 목록 만들기
    • 롤백 세그먼트를 스캔하여 보류 중인 트랜잭션 목록 만들기
    • xid 목록에 없는 트랜잭션 롤백

    4. Undo log

    Undo 로그는 데이터의 증분 변화를 기록하는 논리적 로그이며, 그 기능은 트랜잭션의 원자성을 보장하고 트랜잭션 동시성 제어를 수행하는 것입니다. 다시 작성됨: 실행 취소 로그는 논리적 로그 역할을 하는 데이터의 증분 변경 사항을 기록하여 트랜잭션의 원자성을 보장하고 동시성을 제어하는 ​​역할을 합니다. 트랜잭션을 롤백하고, 다중 버전 제어(MVCC)를 구현하고, 읽기-쓰기 충돌과 일관된 읽기를 해결하는 데 사용할 수 있습니다.

    5. MVCC

    MVCC의 의미:
    • 읽기와 쓰기는 서로를 막지 않습니다.
    • 교착 상태의 가능성을 줄입니다.
    MVCC에서 UndoLog의 역할:

      각 트랜잭션에는 단일 증분 트랜잭션 ID가 있습니다.
    • 데이터 페이지의 행 레코드에는 DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR이 포함됩니다.
    • DB_ROLL_PTR 데이터 행의 모든 ​​스냅샷 레코드는 연결된 목록 구조를 통해 연결됩니다.

    위 내용은 MySQL Redo 및 Undo 로그란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제