Journaling   저널링

(2025-10-31)

1. 저널링 (Journaling) 이란?시스템의 변경 사항을 기록(log 또는 journal) 하여, 
     - 오류장애 발생 시에, 데이터를 일관성 있게 복구할 수 있도록 하는 기법
        . 주로, 복원 가능한 정보 만을 저널 로그에 남기는 수단에 의함


2. 파일시스템 저널링 (Journaling File System)

  ㅇ 디스크에 저장된 파일시스템 메타데이터의 변경 사항을 저널에 먼저 기록한 뒤 반영하는 방식.
     - 例) ext3/ext4 (Linux), NTFS (Windows), XFS, JFS 등

  ㅇ 기본 동작 과정
     - 파일 생성, 삭제, 이름 변경 등 메타데이터 변경 요청 발생하면,
     - 해당 변경 내용을 저널 영역(Journal area)에 순차적으로 기록하고,
     - 저널 기록이 완료되면, 실제 파일시스템 구조에 반영
     - 만일, 시스템이 비정상 종료되면, 부팅 시 저널 내용 만을 읽어, 미완료된 작업 만 복구

  ㅇ 장점
     - 비정상 종료 후에도 빠른 복구 (fsck 등 긴 검사 불필요)
     - 파일시스템 일관성(consistency) 유지

  ㅇ 단점  :  매번 파일 갱신 시간이 길어짐


3. 데이터베이스 저널링 (Database Journaling / Logging)데이터베이스트랜잭션(작업 단위) 수행 기록을 남겨,
     - (이런 기록 행위를, 보통 "로그(log)" 또는 "트랜잭션 로그(transaction log)"라고 부름)
     - 장애 발생 시에, 트랜잭션 단위롤백(rollback) 또는 재실행(redo) 가능하게 하는 기술

  ㅇ 기본 동작 과정
     - DBMS는 변경을 적용하기 전, 저널 로그 파일에 먼저 기록  :  (Write-Ahead Logging, WAL)
     - 시스템 장애 시, 저널 로그를 이용해,
        . 완료된 트랜잭션은, redo(재적용)
        . 미완료 트랜잭션은, undo(취소)

  ㅇ 저널 로그 종류
     - Redo Log  :  커밋 완료된 트랜잭션의 변경사항 재적용용
     - Undo Log	 :  미완료 트랜잭션의 변경사항 되돌리기용
     - Checkpoint Log  :  특정 시점의 데이터베이스 상태 스냅샷 기록 (복구 성능 향상용)


4. [요약 비교]  (범례  :  ① 파일시스템 저널링,  ② 데이터베이스 저널링
  
  ㅇ 보호 대상  :  ① 파일시스템 구조 보호,  ② 트랜잭션 단위 복구
  ㅇ 기록 대상  :  ① 상태 변경 전후 정보,  ② 메타데이터 및 일부 데이터 블록
  ㅇ 기록 시점  :  ① 변경 전,  ② 변경 전 (WAL 원칙)
  ㅇ 복구 단위  :  ① 파일 단위,  ② 트랜잭션 단위

파일시스템
1. 파일시스템   2. 파일   3. 디렉토리   4. FAT   5. MBR   6. VFAT   7. NTFS   8. CDFS   9. NFS   10. UDF   11. UFS   12. 저널링  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          Copyrightⓒ 차재복