728x90
반응형

dbms 7

Timestamp-based Concurrency Control (타임스탬프 기반 병행제어)

개요타임스탬프 기반 병행제어(Timestamp-based Concurrency Control)는 트랜잭션에 고유한 시간 값을 부여하여 실행 순서를 제어하는 데이터베이스 동시성 제어 기법이다. Lock을 사용하지 않고도 트랜잭션 간 충돌을 방지하며, 높은 병렬성과 성능을 제공하는 것이 특징이다. 특히 실시간 처리 시스템이나 분산 환경에서 효율적인 동시성 제어 방식으로 활용된다.1. 개념 및 정의타임스탬프 기반 병행제어는 각 트랜잭션에 시작 시점의 고유한 타임스탬프(Timestamp)를 부여하고, 이 값을 기준으로 데이터 접근 순서를 결정하는 방식이다.트랜잭션은 자신의 타임스탬프보다 늦은 작업만 수행할 수 있으며, 순서가 맞지 않는 경우 트랜잭션을 롤백(Rollback)하여 일관성을 유지한다. 이를 통해 직..

Topic 2026.04.19

2PL (Two-Phase Locking, 2단계 로킹)

개요2PL(Two-Phase Locking)은 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때 데이터의 일관성과 직렬 가능성(Serializability)을 보장하기 위한 대표적인 동시성 제어 기법이다. 트랜잭션이 데이터를 읽거나 수정할 때 Lock을 획득하고 해제하는 과정을 두 단계로 나누어 관리하며, DBMS의 핵심 트랜잭션 처리 방식으로 널리 사용된다.1. 개념 및 정의2PL은 트랜잭션 수행 중 Lock을 획득하는 단계(Growing Phase)와 Lock을 해제하는 단계(Shrinking Phase)를 명확히 구분하는 동시성 제어 기법이다.트랜잭션은 Lock을 획득하는 동안에는 해제할 수 없고, 한 번 Lock을 해제하면 더 이상 새로운 Lock을 획득할 수 없다. 이러한 규칙을 통해 트랜잭션 ..

Topic 2026.04.18

Data Independence (데이터 독립성)

개요데이터 독립성(Data Independence)은 데이터베이스 구조의 변경이 응용 프로그램에 미치는 영향을 최소화하는 개념이다. 데이터베이스 관리 시스템(DBMS)의 핵심 목표 중 하나로, 데이터의 물리적·논리적 구조를 변경하더라도 기존 프로그램이 영향을 받지 않도록 하는 것이 목적이다. 이는 시스템 유지보수성과 확장성을 크게 향상시키는 중요한 설계 원칙이다.1. 개념 및 정의데이터 독립성은 데이터의 구조와 응용 프로그램 간의 의존성을 제거하여, 데이터 구조 변경 시에도 응용 프로그램을 수정하지 않도록 하는 능력을 의미한다.이는 ANSI/SPARC 3단계 스키마 구조(외부, 개념, 내부 스키마)를 기반으로 구현되며, 데이터 표현과 접근 방식을 분리하여 유연한 시스템 설계를 가능하게 한다.2. 특징구분..

Topic 2026.04.18

ANSI/SPARC 3-Level Architecture

개요ANSI/SPARC 3단계 구조는 데이터베이스 시스템에서 데이터의 독립성과 추상화를 보장하기 위해 제안된 표준 아키텍처 모델이다. 이 모델은 데이터 구조를 외부(External), 개념(Conceptual), 내부(Internal) 3개의 계층으로 분리하여 사용자와 시스템 간의 데이터 접근을 효율적으로 관리한다.1970년대 ANSI(미국 표준 협회)와 SPARC(Standard Planning and Requirements Committee)에 의해 제안되었으며, 데이터베이스 설계의 기본 원칙으로 자리 잡았다. 특히 데이터 독립성(Data Independence)을 확보하여 시스템 변경 시 애플리케이션 영향 최소화가 핵심 목적이다.1. 개념 및 정의ANSI/SPARC 3단계 구조는 데이터베이스를 3개..

Topic 2026.04.05

데이터베이스 회복 기법

개요데이터베이스 시스템은 장애나 오류가 발생해도 데이터의 무결성을 유지해야 합니다. 이를 위해 다양한 **회복 기법(Database Recovery Techniques)**이 활용되며, 대표적으로 REDO, UNDO, Shadow Paging 기법이 있습니다. 본 글에서는 데이터베이스 회복 기법의 개념과 주요 방법을 살펴보고, 최신 트렌드를 분석합니다. 1. 데이터베이스 회복 기법이란?데이터베이스 회복 기법은 시스템 장애(System Failure), 트랜잭션 오류(Transaction Failure), 디스크 장애(Disk Failure) 등으로 인해 데이터가 손상될 경우, 일관성을 유지하며 정상 상태로 복구하는 기술입니다. 회복 기법은 트랜잭션 로그(Log-based) 방식과 Shadow Paging..

Topic 2025.03.13

트랜잭션 격리 수준

개요트랜잭션 격리 수준(Transaction Isolation Level)은 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션이 다른 트랜잭션의 변경 사항에 접근하는 방식을 제어하는 설정입니다. 격리 수준을 적절히 설정하면 데이터 일관성을 보장하면서도 성능 저하를 최소화할 수 있습니다. 본 글에서는 트랜잭션 격리 수준의 개념과 주요 유형, 발생할 수 있는 문제점, DBMS별 지원 여부 및 최신 트렌드를 살펴봅니다. 1. 트랜잭션 격리 수준이란?트랜잭션이 실행될 때 다른 트랜잭션과의 간섭을 얼마나 허용할 것인지 결정하는 설정입니다. 격리 수준이 높을수록 데이터 일관성은 증가하지만, 동시 처리 성능은 저하될 수 있습니다.1.1 트랜잭션 격리 수준이 중요한 이유데이터 일관성을 유지하고 비정상적인..

Topic 2025.03.13

ACID 속성

개요ACID 속성은 데이터베이스 트랜잭션의 무결성(Integrity)과 신뢰성(Reliability)을 보장하는 핵심 원칙입니다. ACID는 **Atomicity(원자성), Consistency(일관성), Isolation(고립성), Durability(지속성)**의 약자로, 이 속성들이 충족될 때 데이터베이스 시스템은 안정적으로 운영될 수 있습니다. 본 글에서는 ACID 속성의 개념과 각 요소의 역할, 적용 사례 및 최신 트렌드를 살펴봅니다.1. ACID 속성이란?ACID 속성은 데이터베이스 트랜잭션의 신뢰성을 보장하기 위한 4가지 기본 원칙을 의미합니다.원자성(Atomicity): 트랜잭션은 완전히 수행되거나 전혀 수행되지 않아야 한다.일관성(Consistency): 트랜잭션 수행 후 데이터베이스는 ..

Topic 2025.03.13
728x90
반응형