1. 거래 관리 시스템 :
* 데이터베이스 관리 시스템 (DBMS) : 최신 DBMS는 거래 관리를위한 산성 특성 (원자력, 일관성, 격리, 내구성)과 같은 기능을 제공합니다. 이 시스템은 다음과 같은 기술을 사용합니다.
* 잠금 장치 : 이러한 메커니즘은 트랜잭션 중에 데이터에 대한 동시 액세스를 방지하여 한 프로세스 만 한 번에 데이터를 수정할 수 있도록합니다.
* 저널링 : 트랜잭션은 저널 파일로 기록됩니다. 거래가 실패하면 저널은 변경 사항을 롤백하고 데이터베이스를 이전 상태로 복원하는 데 사용됩니다.
* 트랜잭션 처리 모니터 (TPMS) : 이 특수 소프트웨어 시스템은 실시간으로 대량의 거래를 관리하도록 설계되었습니다. TPMS는 데이터 무결성 및 일관성을 보장하기 위해 원자력을 포함한 트랜잭션 관리 기능을 구현합니다.
2. 기술 :
* 2 상 커밋 (2pc) : 2PC는 코디네이터와 여러 참가자가 포함 된 분산 거래 프로토콜입니다. 모든 참가자가 거래를 커밋하거나 롤백하는 데 동의하도록 보장합니다.
* 낙관적 잠금 : 이 접근법은 동시 액세스가 드물며 "체크 앤-세트"메커니즘을 사용한다고 가정합니다. 운영 중에 다른 트랜잭션으로 데이터가 변경되면 트랜잭션이 실패하고 다시 시작됩니다.
* 비관적 잠금 : 이 접근법은 잠금 장치를 사용하여 다른 트랜잭션이 거래 중에 데이터에 액세스하는 것을 방지합니다. 이것은보다 보수적 인 접근 방식이지만 거래가 성공할 수 있도록합니다.
3. 예제 구현 :
한 계정에서 다른 계좌로 자금을 양도하는 은행 거래를 상상해보십시오. 트랜잭션 관리자는 다음과 같이 구현할 수 있습니다.
1. 거래 시작 : 트랜잭션 관리자는 새로운 트랜잭션을 시작하여 소스 및 대상 계정의 관련 데이터를 잠긴 것으로 표시합니다.
2. 직불 소스 계정 : 거래 관리자는 소스 계정에서 자금을 공제합니다.
3. 신용 대상 계정 : 거래 관리자는 자금을 대상 계정에 추가합니다.
4. 거래 거래 : 모든 운영이 성공하면 트랜잭션 관리자가 변경 사항을 제시하여 잠금 장치를 공개합니다.
5. 롤백 트랜잭션 : 운영이 실패하면 (예 :자금이 부족한 경우) 거래 관리자는 모든 변경 사항을 롤백하고 잠금 장치를 공개하며 데이터베이스를 원래 상태로 복원합니다.
키 포인트 :
* 원자력은 데이터 무결성에 필수적입니다 : 실패에 직면하더라도 데이터가 항상 일관되도록합니다.
* 구현은 컨텍스트에 따라 다릅니다. 원자력을 달성하는 데 사용되는 특정 기술 및 메커니즘은 기본 데이터베이스 시스템, 트랜잭션의 특성 및 원하는 성능 수준에 따라 다릅니다.
* 원자력은 신뢰할 수있는 데이터 관리의 초석입니다 : 트랜잭션이 올바르게 완료되고 데이터베이스가 일관성이 유지되도록 보장합니다.
특정 데이터베이스 시스템에서 원자력이 어떻게 달성되는지에 대한보다 구체적인 질문이 있다면 언제든지 문의하십시오!