[개발] 프로그램 지식

[SQLP] Redo 메커니즘: 트랜잭션 로그 및 복구 개념

  • -
반응형

🔄 SQLP Redo 메커니즘: 트랜잭션 로그 및 복구 개념

SQLP(Database Professional) 시험에서는 데이터베이스의 **트랜잭션 관리와 REDO 메커니즘**을 이해하는 것이 중요합니다. Redo 메커니즘은 **데이터베이스 장애 발생 시 트랜잭션을 복구**하고, 데이터 무결성을 유지하는 핵심 기술입니다.

Redo 메커니즘은 **데이터베이스가 변경된 데이터를 기록하고, 장애 발생 시 이를 복구하는 프로세스**입니다. 모든 트랜잭션 변경 사항은 **Redo 로그(트랜잭션 로그)에 기록되며, 시스템 장애 시 이를 활용하여 데이터 복원**이 가능합니다.

 

💾 **주요 개념:**

  • 📝 **트랜잭션 로그(Transaction Log)** – 데이터 변경 사항을 저장
  • 🔄 **Redo 로그(Redo Log)** – 커밋된 트랜잭션을 복구하는 로그
  • 🚀 **Write-Ahead Logging(WAL)** – 변경 사항을 먼저 로그에 기록 후 데이터 변경

트랜잭션이 실행되면, **데이터 변경 사항이 메모리(버퍼 캐시)와 Redo 로그에 먼저 기록됩니다.**

데이터 변경이 발생하면, **변경된 데이터를 먼저 Redo 로그에 기록한 후 실제 데이터 파일에 적용**됩니다.

트랜잭션이 커밋되면, **Redo 로그는 디스크에 영구 저장되고 데이터 파일로 반영됩니다.**

데이터베이스가 갑작스럽게 종료되거나 장애가 발생하면, **Redo 로그를 사용하여 트랜잭션을 복구**합니다.

  • 🔸 **Online Redo Log** – 실시간 변경 사항 저장
  • 🔸 **Archived Redo Log** – 오래된 로그를 보관하여 장애 시 복구
  • 🔸 **Log Writer (LGWR) 프로세스** – Redo 로그를 디스크로 저장
  • 🔹 **LDF(Transaction Log File)** – SQL Server의 Redo 로그
  • 🔹 **CHECKPOINT 프로세스** – 변경 내용을 디스크에 반영
  • 🔹 **트랜잭션 복구 모드** – SIMPLE, FULL, BULK-LOGGED
  • 🔸 **WAL 로그** – 변경 내용을 먼저 로그에 기록 후 디스크 반영
  • 🔸 **pg_wal 디렉토리** – PostgreSQL의 WAL 로그 저장소
  • 🔸 **Crash Recovery 기능** – 장애 발생 시 WAL 로그로 복구

Redo 로그는 **데이터베이스 장애 발생 시 빠른 복구를 위해 필수적인 요소**입니다.

장애 유형 복구 방법
전원 장애 Redo 로그를 사용하여 미반영된 변경 사항 복구
소프트웨어 오류 Redo 로그를 이용해 데이터 정합성 유지
디스크 손상 Archived Redo Log로 데이터 복원
  • 🔹 **Redo 로그 파일 크기 조절** – 너무 작으면 자주 덮어쓰게 되어 성능 저하
  • 🔹 **Log Buffer 크기 조정** – 적절한 크기로 조정하여 로그 기록 속도 향상
  • 🔹 **Archived Log 활성화** – 장애 발생 시 복구를 위해 활성화 필요
  • 🔹 **Redo 로그 그룹 활용** – 여러 개의 로그 파일을 사용하여 성능 향상

✔ **오라클 공식 문서:** Oracle Redo Log 설명 ✔ **SQL Server 트랜잭션 로그:** SQL Server Transaction Log 구조 ✔ **PostgreSQL WAL 개념:** PostgreSQL WAL Logging

Redo 메커니즘은 **데이터베이스 시스템에서 장애 발생 시 데이터를 보호하고 복구하는 필수적인 기능**입니다. 각 데이터베이스 시스템마다 Redo 로그를 관리하는 방식이 다르므로, **SQLP 시험 대비를 위해 오라클, SQL Server, PostgreSQL의 Redo 로그 개념을 비교하여 학습**하는 것이 중요합니다.

반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.