일관성 (데이터베이스 시스템)
1. 개요
일관성 (데이터베이스 시스템)은 ACID 트랜잭션의 네 가지 보장 중 하나로, 데이터베이스 시스템에서 데이터의 정확성과 무결성을 유지하는 데 중요한 역할을 한다. 일관성은 데이터베이스 제약 조건의 준수, 미래 트랜잭션이 과거 커밋된 트랜잭션의 영향을 볼 수 있도록 보장, 그리고 애플리케이션 의미론적 연산의 정확성을 보장하는 등 다양한 의미로 정의된다. 이러한 정의들은 상호 배타적이지 않으며, 대부분의 관계형 데이터베이스 관리 시스템은 모든 의미에서 일관성을 보장하도록 설계되었다. CAP 정리에 따른 "원자적 일관성"은 ACID의 일관성과는 다른 개념이며, 분산 환경에서는 일관성과 가용성 사이의 트레이드 오프가 발생할 수 있다.
-
트랜잭션 처리 -
2단계 커밋 프로토콜
2단계 커밋 프로토콜은 분산 컴퓨팅 환경에서 트랜잭션의 원자성을 보장하는 분산 알고리즘으로, 조정자와 참가자로 구성되어 모든 참가자가 트랜잭션을 완료하거나 아무도 완료하지 못하도록 하며, 커밋 요청 및 커밋 단계를 거쳐 모든 참가자의 동의를 얻어야 커밋된다. -
트랜잭션 처리 -
온라인 트랜잭션 처리
온라인 트랜잭션 처리(OLTP)는 실시간 데이터베이스 트랜잭션 처리 방식으로, 가용성, 속도, 동시성, 내구성을 목표로 은행, 항공사, 전자 상거래 등에서 활용된다. -
데이터 관리 -
데이터 센터
-
데이터 관리 -
정보 아키텍처
정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
2. ACID 보장으로서의 일관성
ACID의 데이터베이스 트랜잭션을 정의하는 네 가지 보장 중 하나인 일관성은 그 본질에 대해 다양한 해석이 존재한다. 이러한 정의들은 상호 배타적이지 않으므로, 오늘날 일반적으로 사용되는 대부분의 관계형 데이터베이스 관리 시스템처럼, 모든 의미에서 "일관성"을 보장하는 시스템을 설계하는 것이 가능하다.
2.2. 트랜잭션 간 영향 보장
미래에 시작되는 모든 트랜잭션이 과거에 커밋된 다른 트랜잭션의 영향을 반드시 볼 수 있도록 보장한다. 이는 데이터의 정확성과 예측 가능성을 높여준다.
2.4. 원자적 일관성
CAP 정리에서 언급되는 "원자적 일관성"은 ACID의 일관성과는 다른 개념이다. 원자적 일관성은 단일 요청/응답 연산 시퀀스의 속성에 관한 것이며, ACID의 원자성과 일관성 개념을 모두 포함한다.
2.5. 일관성과 가용성의 상충 관계
CAP 정리는 세 가지 상충 관계를 기반으로 하며, 그 중 하나는 "원자적 일관성"(약어로 "일관성")이다. 저자는 이에 대해 다음과 같이 언급한다. "원자적 일관성을 논하는 것은 ACID 데이터베이스에 대해 이야기하는 것과는 다소 다르다. 데이터베이스 일관성은 트랜잭션을 의미하는 반면, 원자적 일관성은 단일 요청/응답 연산 시퀀스의 속성만을 의미한다. 또한 ACID의 원자성과는 다른 의미를 가지며, 원자성(Atomic)과 일관성(Consistent)의 데이터베이스 개념을 모두 포함한다." CAP 정리에서는 일관성, 가용성, 분산 내결함성 중 두 가지만 가질 수 있다. 따라서 일부 데이터베이스 시스템에서는 일관성을 포기해야 할 수 있다.