ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트랜잭션?
    DB 2024. 7. 24. 16:20
    트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 이루는 일련의 연산을 말합니다. 트랜잭션은 데이터베이스의 상태를 변화시키는 작업으로, 일반적으로 여러 단계의 작업이 하나의 트랜잭션으로 묶여 수행됩니다. 트랜잭션은 반드시 ACID 속성을 만족해야 합니다



    1. 원자성(Atomicity)**: 트랜잭션 내의 모든 작업이 모두 성공적으로 수행되거나, 모두 수행되지 않아야 합니다. 일부 작업만 수행되는 일은 없어야 합니다.
    2. 일관성(Consistency)**: 트랜잭션이 시작되기 전과 완료된 후의 데이터베이스 상태는 일관성 있는 상태여야 합니다. 모든 데이터 규칙이 트랜잭션 완료 후에도 유지되어야 합니다.
    3. 고립성(Isolation)**: 트랜잭션이 동시에 실행될 때, 서로의 작업에 영향을 미치지 않아야 합니다. 각 트랜잭션은 독립적으로 수행되어야 합니다.
    4. 지속성(Durability)**: 트랜잭션이 성공적으로 완료되면, 그 결과는 영구적으로 데이터베이스에 저장되어야 합니다. 시스템 오류가 발생하더라도 데이터는 손실되지 않아야 합니다.


    - 트랜잭션의 예
    은행에서 계좌 이체를 하는 경우를 예로 들 수 있습니다. A 계좌에서 B 계좌로 돈을 이체하는 트랜잭션은 다음과 같은 작업으로 이루어집니다:
    1. A 계좌에서 돈을 출금
    2. B 계좌로 돈을 입금

    이 두 작업은 하나의 트랜잭션으로 묶여야 합니다. 두 작업이 모두 성공해야 트랜잭션이 완료되며, 하나라도 실패하면 모든 작업이 취소되어야 합니다.

    - 트랜잭션 관리
    트랜잭션은 SQL에서 다음과 같은 명령어로 관리할 수 있습니다:
    - `BEGIN TRANSACTION` 또는 `START TRANSACTION`: 트랜잭션의 시작
    - `COMMIT`: 트랜잭션 내의 모든 작업을 확정하고 데이터베이스에 반영
    - `ROLLBACK`: 트랜잭션 내의 모든 작업을 취소하고 원래 상태로 되돌림

    트랜잭션은 데이터베이스 시스템에서 데이터의 무결성과 일관성을 유지하는 데 중요한 역할을 합니다.

    'DB' 카테고리의 다른 글

    index란?  (0) 2023.12.29
    RDBMS 와 NoSQL  (1) 2023.12.23
Designed by Tistory.