[Study] 기술 부채 - MySql

최대 1 분 소요

Study : 내가 부족한 기술(MySql)에 대해 정리한다.

InnoDB

  • MySQL DBMS 에서 사용 되는 스토리지 엔진

특징

  • 트랜잭션 처리(ACID 준수), 높은 동시성(MVCC), 데이터 무결성 및 복구 기능을 강조
    • 롤백 세그먼트를 사용하여 트랜잭션 롤백을 처리
    • 롤백 세그먼트는 장애 발생 시 데이터의 일관성을 유지하는 데 사용
    • 자동 복구 기능 제공
    • 버퍼 풀 : 데이터를 메모리에 캐시하여 디스크 I/O 줄임
    • 로그 기반의 I/O 방식을 사용하여 데이터 변경을 로그에 기록하고, 필요한 경우 복구할 수 있다.
      • Redo Log : 변경 사항을 디스크에 저장. 장애 발생 시에도 디스크에 저장 되므로 원하는 상태로 복구 가능
      • Undo Log : 트랜젝션의 롤백 작업을 디스크에 기록 하는데 사용. 트랜젝션에서 수행된 변경 작업을 언두에 기록, 롤백이 필요한 경우 해당 작업을 취소하여 이전 상태로 복구

ACID

데이터베이스 트랜잭션들이 안정적으로 수행된다는 것을 보장하기 위한 성질을 가리키는 약어.

  • Atomic : 원자성, 트랜잭션 내 작업은 모두 실행되거나, 모두 실행되지 않거나
  • Consistency : 일관성, 저장된 모든 데이터는 DDL 로 설정한 속성을 따라야 한다.
  • Isolation : 독립성, 서로 다른 트랜잭션간에는 서로 침범하면 안 됨
  • Durability : 지속성, 성공적으로 수행된 트랜잭션은 영구적으로 반영되어야 함. 일반적으로 모든 트랜잭션은 로그를 남아 장애 발생 전 상태로 되돌릴 수 있다. 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있음.

댓글남기기