효과적인 거래 관리 및 암호화 통제는 데이터베이스 시스템의 데이터 무결성 및 일관성을 유지하기위한 필수적입니다. 이 기술은 여러 사용자가 충돌 또는 오류를 발생시키지 않고 데이터를 동시에 액세스 및 수정할 수 있도록합니다.

거래 관리

거래는 단일 단위로 수행되는 작업의 순서입니다. 트랜잭션의 Proper 관리는 원자, 일관성, 격리, 내구성 (ACID 속성)입니다. 이것은 부분 업데이트를 방지하고 데이터 신뢰성을 유지합니다.

거래 로그 및 체크포인트와 같은 기술은 실패를 복구하고 데이터 무결성을 유지. 적절한 커밋 및 롤백 메커니즘을 구현하는 것은 완전히 또는 전혀하지 않는 트랜잭션을 보장합니다.

Concurrency Control 기술

Concurrency Control은 여러 사용자의 동시 데이터 액세스를 관리합니다. 분쟁을 방지하고 데이터 일관성을 보장합니다. 일반적인 기술은 잠금 프로토콜과 타임스탬프 주문이 포함됩니다.

블록 프로토콜은 엄격한 또는 lenient 일 수 있습니다. 거래 기간 동안 엄격한 프로토콜 잠금 데이터, 액세스에서 다른 트랜잭션을 방지. Lenient 프로토콜은 더 많은 통화를 허용하지만 충돌을 방지하기 위해주의적 관리를 필요로한다.

Common Concurrency Control 방법

  • 2단계 잠금 (2PL): 모든 필요한 잠금을 해제하기 전에 필요한 모든 잠금을 취득하여 serializability를 보장합니다.
  • Timestamp 주문: 트랜잭션을 결정하는 타임 스탬프를 사용, 충돌 방지.
  • Optimistic Concurrency Control: 어셈블러 충돌은 커밋하기 전에 충돌을 위한 드물고 검사합니다.
  • Multiversion Concurrency Control (MVCC): concurrent reads and writes를 허용하는 데이터의 여러 버전을 유지한다.