저널(Journal)

agnusdei·2025년 7월 27일
0

ICT

목록 보기
31/102

컴퓨팅에서 "저널(Journal)"은 파일 시스템이나 데이터베이스에서 데이터 무결성과 복구를 보장하기 위한 로그(log) 기록 구조를 의미합니다. 시스템 장애(예: 전원 장애, 시스템 크래시 등)가 발생하더라도 작업의 일관성과 복원 가능성을 확보하기 위해 사용됩니다.


📘 1. 정의: 저널(Journal)이란?

**저널(Journal)**은 시스템이 변경 작업을 실행하기 전에 변경 내용을 순차적으로 기록(log) 해 두는 공간입니다.
→ 시스템에 문제가 발생했을 때, 이 기록을 바탕으로 작업을 되돌리거나 복구할 수 있습니다.


🧱 2. 저널의 적용 분야

1. ✅ 파일 시스템(File System Journaling)

파일 시스템의 메타데이터 또는 데이터 자체의 변경 사항을 먼저 저널에 기록한 후, 실제 파일 시스템에 반영합니다.

  • 대표적인 저널링 파일 시스템:

    • ext3/ext4 (Linux)
    • NTFS (Windows)
    • XFS, JFS

📌 작동 방식 (ext4 예시):

  1. 파일 수정 →
  2. 변경 사항을 저널 영역에 기록
  3. 변경 완료 후 저널에서 삭제 →
  4. 장애 시: 저널 로그를 재적용(redo) 하여 복구

2. ✅ 데이터베이스 저널링(DB Journaling)

트랜잭션 로그를 통해 변경 내용을 기록하고, 시스템 장애 발생 시 commit된 트랜잭션은 redo, 미완료는 undo하는 방식.

  • Write-Ahead Logging (WAL) 방식 사용

    • PostgreSQL, MySQL (InnoDB), Oracle 등

📌 예: PostgreSQL WAL 구조

  • 데이터 변경 전 → WAL에 기록
  • 장애 발생 → WAL 로그를 이용해 복구

🧠 3. 저널링의 핵심 기능 및 이점

기능설명
무결성 보장트랜잭션의 일관성과 원자성 유지 (ACID 중 A, C)
빠른 복구장애 후 저널 재적용으로 빠르게 복구 가능
순차적 기록로그는 순차적으로 쓰여 디스크 성능을 최대화
Redo / Undo 지원로그 기반으로 트랜잭션 롤백 또는 재적용 가능

⚙️ 4. 저널링 모드의 종류 (특히 파일 시스템에서)

모드설명예시
Writeback메타데이터만 저널링, 데이터는 비동기 처리빠르지만 위험
Ordered메타데이터 + 순서 보장된 데이터 기록ext3 기본 모드
Journal메타데이터 + 데이터 전체를 저널링안정성 최고, 속도 저하

🔄 5. 저널 vs 체크포인트 vs 트랜잭션 로그

항목설명
저널(Journal)변경 사항을 사전 기록하는 구조적 로그
체크포인트(Checkpoint)메모리 상태를 디스크에 주기적으로 저장
트랜잭션 로그데이터베이스의 변경 트랜잭션 기록 (WAL 등)

→ 이 세 가지는 함께 사용되어 데이터 일관성과 복원력을 확보합니다.


🧾 요약 정리

항목설명
정의데이터 변경을 안전하게 적용하기 전 로그로 기록하는 구조
목적시스템 장애 시 데이터 복구, 무결성 보장
사용 분야파일 시스템(ext4, NTFS), 데이터베이스(PostgreSQL, Oracle)
관련 개념WAL, ACID, 트랜잭션, 체크포인트
주요 방식Redo log, Undo log, Write-Ahead Logging

profile
DevSecOps ⚙️ + Pentest 🚩

0개의 댓글