트랜잭션
트랜잭션이란 여러 개의 작업들을 하나의 실행 유닛으로 묶어준 것
각 트랜잭션은 하나의 특정 작업으로 시작을 해 묶여 있는 모든 작업들을 다 완료해야 함
만약에 한 개의 작업이라도 실패하게 된다면 전부 실패
ACID (Atomicity, Consistency, Isolation, Durability)
데이터베이스 내에서 일어나는 하나의 트랜잭션 (transaction) 의 안전성을 보장하기 위해 필요한 성질
1) Atomicity (원자성)
전부 성공하거나 전부 실패 , 부분적으로 실행이 되면 안되는 성질
특정 쿼리를 실행했는데 부분적으로 실패하는 부분이 있다면 전부 실패
2) Consistency (일관성)
하나의 트랜잭션 이전과 이후 데이터베이스 상태는 이전과 같이 유효해야 한다는 뜻
3) Isolation (고립성)
하나의 트랜잭션이 다른 트랜잭션과 독립되어야 한다는 뜻
동시에 여러개의 트랜잭션들이 수행될 때, 각 트랜젝션들은 연속으로 실행된 것과 동일한 결과를 나타내야 함
따라서 각각의 트랜젝션은 다른 트랜젝션의 연산 내용을 알 수 없다
4) Durability (지속성)
하나의 트랜잭션이 성공적으로 수행되었다면 해당 트랜잭션에 대한 로그가 남고 런타임 오류나 시스템 오류가 발생해도 해당 기록은 영구적이어야 한다는 뜻
이미지 출처 : wtmatter.com/acid-properties-database-transactions/
728x90
'AI월드 > ⚙️AI BOOTCAMP_Section 3' 카테고리의 다른 글
git, conda(가상환경), docker, SQL 개념혼동_Day41~44 (0) | 2021.03.09 |
---|---|
SQL 명령어 정리(2)_Day44(5) (0) | 2021.03.09 |
클라우드 데이터베이스 연결 (postgres,elephantsql,bash)_Day44(3) (0) | 2021.03.09 |
NoSQL Database Types 4가지_Day44(2) (0) | 2021.03.09 |
7 Database paradigms, 데이터베이스 패러다임_Day44 (0) | 2021.03.09 |
댓글