>  기사  >  데이터 베이스  >  mysql 고급(23) 데이터베이스 트랜잭션의 네 가지 주요 특징

mysql 고급(23) 데이터베이스 트랜잭션의 네 가지 주요 특징

黄舟
黄舟원래의
2017-02-11 10:49:361930검색

데이터베이스 트랜잭션의 4가지 주요 특징

원자성, 일관성, 분리, 내구성

원자성

원자성 트랜잭션은 트랜잭션에 포함된 프로그램이 데이터베이스의 논리적 작업 단위 역할을 하며 수행하는 모든 데이터 수정 작업이 수행되거나 전혀 수행되지 않음을 의미합니다. 이 속성을 원자성이라고 합니다.

트랜잭션의 원자성 요구 사항은 트랜잭션이 프로그램으로 간주될 수 있으면 완전히 실행되거나 전혀 실행되지 않는다는 것입니다. 즉, 트랜잭션의 작업 순서가 데이터베이스에 완전히 적용되거나 데이터베이스에 전혀 영향을 미치지 않습니다. 이 속성을 원자성이라고 합니다.

사용자가 트랜잭션 내에서 데이터베이스 업데이트를 완료하면 모든 업데이트가 외부 세계에 표시되어야 합니다. 그렇지 않으면 업데이트가 전혀 없을 수도 있습니다. 전자는 트랜잭션이 커밋되었음을 나타내고, 후자는 트랜잭션이 취소(또는 중단)되었음을 나타냅니다. DBMS는 성공적으로 커밋된 트랜잭션에 의해 완료된 모든 작업이 데이터베이스에 완전히 반영되도록 보장해야 하며, 실패한 트랜잭션은 데이터베이스에 전혀 영향을 미치지 않도록 해야 합니다.

일관성

트랜잭션 일관성이란 트랜잭션 실행 전후에 데이터베이스가 일관된 상태를 유지해야 함을 의미합니다. 이 속성을 트랜잭션 일관성이라고 합니다. 데이터베이스의 상태가 모든 무결성 제약 조건을 충족하면 데이터베이스는 일관성이 있다고 합니다.

일관성은 데이터베이스의 모든 의미 제약 조건을 보호합니다. 예를 들어, 데이터베이스가 일관성 상태 S1이면 데이터베이스에서 트랜잭션이 실행됩니다. 트랜잭션 실행 중에 데이터베이스의 상태는 일관성이 없는 것으로 간주됩니다. 일관성 상태 S2.

분리

분리란 동시 트랜잭션이 서로 격리되는 것을 의미합니다. 즉, 트랜잭션 내의 작업과 작동 중인 데이터는 차단되어야 하며 이를 수정하려는 다른 트랜잭션에서 볼 수 없습니다.

분리성은 동시 트랜잭션 간의 충돌에 대해 DBMS가 제공하는 보안 보장입니다. DBMS는 잠금을 통해 동시에 실행되는 트랜잭션 간에 다양한 수준의 분리를 제공할 수 있습니다. 동시 트랜잭션 실행에 대한 제어가 없는 경우 동일한 공유 객체를 조작하는 여러 동시 트랜잭션의 실행으로 인해 비정상적인 상황이 발생할 수 있습니다.

DBMS는 동시에 실행되는 트랜잭션을 서로 다른 수준으로 분리할 수 있습니다. 분리 수준과 동시 트랜잭션 처리량 사이에는 역의 관계가 있습니다. 트랜잭션 분리성이 높을수록 충돌이 증가하고 트랜잭션 중단이 더 많아질 수 있습니다. 중단된 트랜잭션은 리소스를 소비하며 이러한 리소스에 다시 액세스해야 합니다. 따라서 높은 수준의 분리를 보장하는 DBMS에는 더 많은 오버헤드가 필요합니다.

내구성

내구성은 시스템 또는 미디어 오류가 발생할 때 커밋된 트랜잭션의 업데이트가 손실되지 않도록 보장하는 것을 의미합니다. 즉, 트랜잭션이 커밋되면 DBMS는 데이터베이스의 데이터 변경 사항이 영구적이고 시스템 오류를 견딜 수 있도록 보장합니다. 그래서 내구성은 주로 DBMS의 복구 성능에 달려 있습니다. 데이터베이스 백업 및 복구를 통해 내구성이 보장됩니다.

참고 자료

http://www.php.cn/

위는 mysql Advanced의 4가지 주요 데이터베이스 트랜잭션(20- 3) 특집 콘텐츠, 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트(www.php.cn)를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.