30.3. 쓰기 전달 로깅 (Wal)

쓰기 로깅(Wal)는 데이터 무결성을 보장하기위한 표준 방법입니다. 세부적인 설명은 거래 처리에 관한 대부분의 책에서 찾을 수 있습니다. 간단히,Wal의 중심 개념은 데이터 파일의 변경 사항 (테이블 및 인덱스가 상주하는 경우)이 변경 사항을 기록한 후에 만 ​​작성해야한다는 것입니다. 이 절차를 따르는 경우 모든 트랜잭션 커밋에서 데이터 페이지를 디스크로 플러시 할 필요가 없습니다. 충돌이 발생하면 로그를 사용하여 데이터베이스를 복구 할 수 있다는 것을 알고 있기 때문입니다. 데이터 페이지에 적용되지 않은 변경 사항은 로그 레코드에서 다시 만들 수 있습니다. (이것은 redo라고도하는 롤 포워드 복구입니다.)

때문에Wal데이터베이스 파일 컨텐츠 복원 충돌 후에는 데이터 파일 또는 WAL 파일의 안정적인 저장을 위해 저널링 된 파일 시스템이 필요하지 않습니다. 실제로 저널링 오버 헤드는 성능을 줄일 수 있습니다. 특히 저널링이 파일 시스템을 일으키는 경우데이터디스크로 플러시됩니다. 다행히도 저널링 중 데이터 플러싱은 종종 파일 시스템 마운트 옵션으로 비활성화 될 수 있습니다 (예 :data = WriteBackLinux ext3 파일 시스템에서. 저널링 된 파일 시스템은 충돌 후 부팅 속도를 향상시킵니다.

사용Wal트랜잭션에 의해 변경된 모든 데이터 파일이 아니라 트랜잭션이 커밋되도록 로그 파일 만 디스크로 플러시해야하기 때문에 디스크 쓰기 수가 크게 줄어 듭니다. 로그 파일은 순차적으로 작성되므로 로그를 동기화하는 비용은 데이터 페이지를 플러시하는 비용보다 훨씬 저렴합니다. 이는 특히 데이터 저장소의 다른 부분을 터치하는 많은 작은 트랜잭션을 처리하는 서버에 특히 그렇습니다. 또한 서버가 많은 작은 동시 트랜잭션을 처리 할 때 1fsync로그 파일의 많은 거래를 저 지르기에 충분할 수 있습니다.

Wal|섹션 26.3. WAL 데이터를 보관함으로써 사용 가능한 WAL 데이터가 다루는 순간으로 되돌릴 수 있습니다. 데이터베이스의 사전 물리적 백업을 설치하고 원하는 시간까지 WAL 로그를 재생합니다. 또한 물리적 백업은 데이터베이스 상태의 즉각적인 스냅 샷 일 필요는 없습니다. 일정 기간 동안 이루어지면 해당 기간 동안 WAL 로그를 재생하면 내부 불일치가 해결됩니다..

정정 제출

문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면