middledown12.log
로그인
middledown12.log
로그인
ACID
majungha
·
2023년 4월 25일
팔로우
1
ACID
공부
메모
1
메모
목록 보기
39/57
오늘의 공부 👍
오늘은 트랜잭션의 속성인 ACID에 대해서 알아보겠습니다.
📝 트랜잭션의 속성(ACID)
ACID는 트랜잭션을 정의하는 4가지 중대한 속성을 가리키는 약어입니다.
원자성(Atomicity), 일관성(Consistency), 신뢰성(Reliability), 격리(Isolation) 그리고 영속성(Durability)을 의미한다.
한 테이블의 읽기, 쓰기 또는 수정 작업이 각각 다음과 같은 속성을 가지고 있다고 보장해준다.
▷ A(Atomicity)원자성
모두 성공할 것 아니면 모두 실패하게 만드는 것이다.(DB의 오염을 막기 위함)
이 속성이 있으면 스트리밍 데이터 소스가 스트리밍 중에 갑자기 오류를 일으키더라도 데이터 손실과 손상이 방지된다.
▷ C(Consistency) : 일관성
똑같은 쿼리를 조회할 때마다 동일한 결과값이 나타나야하는 것이다.
트랜잭션이 테이블에 변경 사항을 적용할 때 미리 정의된, 예측할 수 있는 방식만 취한다.
트랜잭션 일관성이 확보되면 데이터 손상이나 오류 때문에 테이블 무결성에 의도치 않은 결과가 생기지 않는다.
▷ I(Isolation) : 격리성
A 사람의 요청을 처리하는 동안 B사람의 요청은 잠시 기다리는 것이다.
각각의 요청이 실제로는 모두 동시에 발생하더라도, 마치 하나씩 발생하는 것처럼 발생할 수 있다.
▷ D(Durability) : 지속성
성공하여 commit이 되었으면 서버를 다시 켜도 그 데이터는 그대로 유지가 되어야 되는 것이다.
📝 ACID의 장점
가능한 최대한의 데이터 안정성과 무결성을 보장해줍니다.
데이터가 일관적이지 않은 상태가 되는 불상사가 절대로 일어나지 않게 해준다.
출처 및 참고
코드캠프
ACID 트랜잭션
majungha
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!
팔로우
이전 포스트
Schema-first vs Code-first
다음 포스트
Typescript Generic
0개의 댓글
댓글 작성