관계형 데이터베이스 시스템 트랜잭션의 ACID 특성: 1. 트랜잭션의 모든 작업이 완료되거나 완료되지 않습니다. 2. 일관성. 데이터베이스는 항상 일관된 상태를 유지해야 합니다. 3. 독립성, 동시 거래는 서로 영향을 미치지 않습니다. 4. 지속성, 일단 트랜잭션이 커밋되면 수정 사항이 데이터베이스에 영구적으로 저장됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, mysql 버전 5.8, Dell G3 컴퓨터.
(추천 튜토리얼: mysql 비디오 튜토리얼)
트랜잭션은 관계형 데이터베이스의 핵심입니다. 지난 수십 년 동안 관계형 데이터베이스가 번성한 이유는 트랜잭션 지원과 불가분의 관계입니다. 그러나 성공은 실패만큼 나쁘다는 말이 있습니다. 특히 최근 몇 년간 빅 데이터의 폭발적인 발전으로 인해 관계형 데이터베이스 트랜잭션은 인터넷 애플리케이션의 성능 병목 현상이 되었습니다. 데이터베이스 트랜잭션의 속성은 특정 유형의 특수 애플리케이션에 대해 관계형 데이터베이스의 성능을 몇 배나 향상시킵니다.
먼저 트랜잭션이 무엇인지부터 살펴보겠습니다. 트랜잭션은 영어로 된 트랜잭션으로, 실제 트랜잭션과 매우 유사합니다.
1. A(Atomicity) 원자성
원자성 즉, 트랜잭션의 모든 작업이 완료되거나 완료되지 않는다는 의미입니다. 트랜잭션의 성공 조건은 하나의 작업이 실패하는 한 트랜잭션의 모든 작업이 성공한다는 것입니다. 전체 트랜잭션이 실패하여 롤백해야 합니다.
예를 들어 계좌 A에서 계좌 B로 100위안을 이체하는 은행 송금은 1) 계좌 A에서 100위안을 인출하고 2) 계좌 B에 100위안을 입금하는 단계로 나뉩니다. 이 두 단계를 함께 완료하거나 함께 완료하지 않거나 첫 번째 단계만 완료하고 두 번째 단계가 실패하면 아무 이유 없이 돈이 100위안 줄어듭니다.
2.C(일관성) 일관성
일관성 역시 비교적 이해하기 쉽습니다. 즉, 데이터베이스는 항상 일관된 상태에 있어야 하며 트랜잭션 작업이 데이터베이스의 원래 일관성 제약 조건을 변경하지 않는다는 의미입니다.
예를 들어 기존 무결성 제약 조건 a+b=10에서 트랜잭션이 a를 변경하면 트랜잭션이 끝난 후에도 a+b=10이 계속 충족되도록 b를 변경해야 하며 그렇지 않으면 트랜잭션이 실패합니다.
3. I(격리) 독립
소위 독립이란 한 트랜잭션에서 액세스할 데이터가 다른 트랜잭션에 의해 수정되는 경우 다른 트랜잭션이 서로 영향을 미치지 않음을 의미합니다. 커밋되지 않은 경우 액세스하는 데이터는 커밋되지 않은 트랜잭션의 영향을 받지 않습니다.
예를 들어 A계좌에서 B계좌로 100위안을 이체하는 거래가 있습니다. 거래가 아직 완료되지 않은 상태에서 이때 B가 자신의 계좌를 확인하면 새로 추가된 100위안이 보이지 않습니다.
4. D(내구성) 내구성
내구성은 트랜잭션이 커밋되면 수정 사항이 데이터베이스에 영구적으로 저장되며 가동 중지 시간이 발생하더라도 손실되지 않음을 의미합니다.
위의 예를 다시 살펴보겠습니다. 전송이 성공했는데 이때 데이터베이스가 다운된 경우 다시 시작한 후에도 성공적인 전송 결과를 볼 수 있습니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !
위 내용은 관계형 데이터베이스 시스템 트랜잭션의 ACID 속성은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!