ㅏ 거래 데이터베이스의 내용에 액세스하고 수정하는 단일 논리적 작업 단위입니다. 트랜잭션은 읽기 및 쓰기 작업을 사용하여 데이터에 액세스합니다.
데이터베이스의 일관성을 유지하기 위해 트랜잭션 전후에 특정 속성을 따릅니다. 이들은 호출됩니다 산 속성.
이러한 개념을 익히고 다음과 같은 시험에서 뛰어난 성과를 거두고 싶은 분들을 위해 문 , 우리의 GATE 코스 데이터베이스 관리 시스템에 대한 심층적인 탐구를 제공합니다. 기초부터 고급 주제까지 모든 내용을 다루며, 고득점과 실제 적용에 필수적인 철저한 이해를 보장합니다.
원자성:
이는 전체 거래가 동시에 발생하거나 전혀 발생하지 않음을 의미합니다. 중간이 없습니다. 즉, 거래가 부분적으로 발생하지 않습니다. 각 트랜잭션은 하나의 단위로 간주되며 완료될 때까지 실행되거나 전혀 실행되지 않습니다. 여기에는 다음 두 가지 작업이 포함됩니다.
— 중단 : 트랜잭션이 중단되면 데이터베이스에 대한 변경 사항이 표시되지 않습니다.
— 저지르다 : 트랜잭션이 커밋되면 변경 사항이 표시됩니다.
원자성은 '전부 아니면 전무의 법칙'이라고도 알려져 있습니다.
다음 거래를 고려하십시오 티 구성 T1 그리고 T2 : 계좌에서 100 이체 엑스 계정에 그리고 .

거래 완료 후 거래가 실패하는 경우 T1 하지만 완료되기 전에 T2 .( 예를 들어, 이후 쓰기(X) 하지만 전에 쓰다(Y) ) 금액이 차감되었습니다. 엑스 하지만 추가되지는 않았습니다 그리고 . 이로 인해 데이터베이스 상태가 일관되지 않게 됩니다. 따라서 데이터베이스 상태의 정확성을 보장하려면 트랜잭션이 전체적으로 실행되어야 합니다.
일관성:
이는 트랜잭션 전후에 데이터베이스가 일관되도록 무결성 제약 조건이 유지되어야 함을 의미합니다. 이는 데이터베이스의 정확성을 나타냅니다. 위의 예를 참조하면,
거래 전후의 총 금액이 유지되어야 합니다.
총 T 이전 발생 = 500 + 200 = 700 .
총 T가 발생한 후 = 400 + 300 = 700 .
따라서 데이터베이스는 일관된 . 불일치가 발생하는 경우 T1 완료되지만 T2 실패합니다. 결과적으로 T는 불완전합니다.
격리:
이 속성은 데이터베이스 상태의 불일치를 초래하지 않고 여러 트랜잭션이 동시에 발생할 수 있도록 보장합니다. 거래는 간섭 없이 독립적으로 발생합니다. 특정 트랜잭션에서 발생하는 변경 사항은 해당 트랜잭션의 특정 변경 사항이 메모리에 기록되거나 커밋될 때까지 다른 트랜잭션에서 볼 수 없습니다. 이 속성은 트랜잭션을 동시에 실행하면 어떤 순서로 순차적으로 실행되어 달성된 상태와 동일한 상태가 되도록 보장합니다.
허락하다 엑스 = 500, 그리고 = 500.
두 가지 거래를 고려하십시오. 티 그리고 티.

가정하다 티 까지 실행되었습니다. 준비가 된) 그런 다음 티'' 시작합니다. 결과적으로 작업의 인터리빙이 발생합니다. 티'' 올바른 값을 읽습니다. 엑스 하지만 잘못된 값 그리고 그리고 합계는 다음과 같이 계산됩니다.
T'': (X+Y = 50, 000+500=50, 500)
따라서 거래 종료 시의 합계와 일치하지 않습니다.
T: (X+Y = 50,000 + 450 = 50, 450) .
이로 인해 50개 단위가 손실되어 데이터베이스 불일치가 발생합니다. 따라서 트랜잭션은 독립적으로 이루어져야 하며 변경 사항은 주 메모리에 적용된 후에만 표시되어야 합니다.
내구성:
이 속성은 트랜잭션 실행이 완료되면 데이터베이스에 대한 업데이트 및 수정 사항이 디스크에 저장되고 기록되며 시스템 오류가 발생하더라도 지속되도록 보장합니다. 이제 이러한 업데이트는 영구적이며 비휘발성 메모리에 저장됩니다. 따라서 거래의 효과는 결코 사라지지 않습니다.
몇 가지 중요한 사항:
| 재산 | 재산을 유지하는 책임 |
|---|---|
| 원자성 | 거래 관리자 |
| 일관성 | 애플리케이션 프로그래머 |
| 격리 | 동시성 제어 관리자 |
| 내구성 | 복구 관리자 |
그만큼 산 전체적으로 속성은 각 트랜잭션이 단일 단위로 작동하고 일관된 결과를 생성하며 다른 작업과 격리되어 작동하고 업데이트되는 작업 그룹이 되도록 데이터베이스의 정확성과 일관성을 보장하는 메커니즘을 제공합니다. 그것은 튼튼하게 저장됩니다.
ACID 속성은 데이터베이스 관리 시스템(DBMS)에서 트랜잭션의 신뢰성과 일관성을 정의하는 네 가지 주요 특성입니다. ACID라는 약어는 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation) 및 내구성(Durability)을 나타냅니다. 다음은 각 속성에 대한 간략한 설명입니다.
- 원자성: 원자성은 트랜잭션이 분할할 수 없는 단일 작업 단위로 처리되도록 보장합니다. 트랜잭션 내의 모든 작업이 성공적으로 완료되거나 아무것도 완료되지 않습니다. 트랜잭션의 일부가 실패하면 전체 트랜잭션이 원래 상태로 롤백되어 데이터 일관성과 무결성이 보장됩니다.
- 일관성: 일관성은 트랜잭션이 데이터베이스를 하나의 일관된 상태에서 다른 일관된 상태로 전환하도록 보장합니다. 데이터베이스는 트랜잭션 실행 전후 모두 일관된 상태를 유지합니다. 데이터 일관성을 보장하려면 고유 키, 외래 키 등의 제약 조건을 유지해야 합니다.
- 격리: 격리는 여러 트랜잭션이 서로 간섭하지 않고 동시에 실행될 수 있도록 보장합니다. 각 트랜잭션은 완료될 때까지 다른 트랜잭션과 격리되어야 합니다. 이러한 격리는 더티 읽기, 반복 불가능한 읽기 및 팬텀 읽기를 방지합니다.
- 내구성: 내구성은 일단 트랜잭션이 커밋되면 해당 변경 사항이 영구적이고 후속 시스템 오류가 발생하더라도 살아남을 수 있도록 보장합니다. 트랜잭션의 변경 사항은 데이터베이스에 영구적으로 저장되며, 시스템이 충돌하더라도 변경 사항은 그대로 유지되어 복구할 수 있습니다.
전반적으로 ACID 속성은 DBMS의 데이터 일관성, 무결성 및 안정성을 보장하기 위한 프레임워크를 제공합니다. 시스템 오류, 네트워크 문제 또는 기타 문제가 있는 경우에도 트랜잭션이 안정적이고 일관된 방식으로 실행되도록 보장합니다. 이러한 속성으로 인해 DBMS는 현대 조직에서 데이터를 관리하기 위한 안정적이고 효율적인 도구입니다.
DBMS의 ACID 속성의 장점:
- 데이터 일관성: ACID 속성은 트랜잭션 실행 후에도 데이터가 일관되고 정확하게 유지되도록 보장합니다.
- 데이터 무결성: ACID 속성은 데이터베이스에 대한 모든 변경 사항이 영구적이고 손실되지 않도록 하여 데이터 무결성을 유지합니다.
- 동시성 제어: ACID 속성은 트랜잭션 간의 간섭을 방지하여 동시에 발생하는 여러 트랜잭션을 관리하는 데 도움이 됩니다.
- 복구: ACID 속성은 오류나 충돌이 발생한 경우 시스템이 오류나 충돌 지점까지 데이터를 복구할 수 있도록 보장합니다.
DBMS의 ACID 속성의 단점:
- 성능: ACID 속성은 데이터 일관성과 무결성을 보장하기 위해 추가 처리가 필요하므로 시스템에 성능 오버헤드를 일으킬 수 있습니다.
- 확장성: ACID 속성은 여러 트랜잭션이 동시에 발생하는 대규모 분산 시스템에서 확장성 문제를 일으킬 수 있습니다.
- 복잡성: ACID 속성을 구현하면 시스템의 복잡성이 증가할 수 있으며 상당한 전문 지식과 리소스가 필요할 수 있습니다.
전반적으로 DBMS의 ACID 속성의 장점은 단점보다 큽니다. 데이터에 대한 안정적이고 일관된 접근 방식을 제공합니다. - 관리하여 데이터 무결성, 정확성 및 신뢰성을 보장합니다. 그러나 경우에 따라 ACID 속성 구현에 따른 오버헤드로 인해 성능 및 확장성 문제가 발생할 수 있습니다. 따라서 ACID 속성의 이점과 시스템의 특정 요구 사항 및 요구 사항 사이의 균형을 맞추는 것이 중요합니다.
