[DBS] 트랜잭션 - Part3. 타임스탬프 기반 트랜잭션 동기화 규약 🕒 타임스탬프 기반 규약이란?타임스탬프 기반 규약은 데이터베이스 시스템에서 여러 트랜잭션이 동시에 실행될 때 충돌 없이 안전하게 작동하도록 해주는 규칙이다.이 규약은 각 트랜잭션과 데이터 항목에 타임스탬프를 부여하고, 이 타임스탬프를 기준으로 읽기(Read)나 쓰기(Write) 연산의 허용 여부를 판단한다. 타임스탬프 설정 TS(Ti): 트랜잭션 Ti가 시작될 때 부여받는 타임스탬프. 값이 작을수록 먼저 시작된 트랜잭션이다. 각 데이터 항목 A는 다음과 같은 정보를 가진다: R-TS(A): 지금까지 A를 읽은 트랜잭션 중 가장 큰 타임스탬프 (가장 최근에 A를 읽은 트랜잭션의 TS) W-TS(A): 지금까지 A를 쓴 트랜잭션 중 가장 큰 타임스탬프 (가장 최근에 A를 쓴 트랜잭션의 .. 2025. 6. 10. [DBS] 트랜잭션 - Part 2. 회복 가능한 스케줄과 비연쇄적 스케줄 지난 글에서는 트랜잭션의 의미와 동작 과정에 대해 살펴보았다. 데이터베이스 시스템에서 트랜잭션의 안정성과 성능을 보장하려면 스케줄의 유형을 이해하는 것이 중요하다. 이번 글에서는 회복 가능한 스케줄과 비연쇄적 스케줄에 대해 알아보자. 회복 가능한 스케줄이란?회복 가능한 스케줄은 트랜잭션 간의 데이터 읽기와 커밋 순서를 고려하는 스케줄이다. 트랜잭션 Tj가 트랜잭션 Ti가 작성한 데이터를 읽었다면, 반드시 Ti가 먼저 커밋을 해야 Tj도 커밋할 수 있다. 이렇게 해야 하나의 트랜잭션이 실패하더라도 데이터베이스를 일관된 상태로 되돌릴 수 있다. 예를 들어, T1이 데이터 A를 수정하고 T2가 그 데이터를 읽은 다음 커밋하는 경우, T1이 먼저 커밋한 후에 T2가 커밋해야 회복 가능한 스케줄이 된다. 반대로.. 2025. 6. 9. [DBS] 트랜잭션 - Part 1. 데이터 일관성과 트랜잭션 연산 트랜잭션(Transaction)이란 ? 데이터베이스에서 트랜잭션은 데이터의 일관성을 보장하면서 여러 작업을 하나의 논리적 단위로 묶어 처리하는 과정을 말한다. 일관성(Consistency)란 무엇을 말하는가? 우선 데이터베이스에서 일관된 상태란 다음 조건들을 충족하는 상태이다. 데이터 무결성 제약 조건(Integrity Constraints) 만족개체 무결성: 모든 테이블의 기본 키(Primary Key)는 널(NULL) 값을 가질 수 없으며, 중복될 수 없다. 각 엔티티(개체)는 고유하게 식별되어야 한다.참조 무결성: 외래 키(Foreign Key)는 참조하는 기본 키의 값이 데이터베이스에 존재하거나, 널(NULL) 값이어야 한다. 즉, 참조하는 데이터가 유효해야 한다. 예를 들어, '주문' 테이블에 .. 2025. 5. 22. 이전 1 다음