[Distributed Systems] transaction 특성 - ACID

퐁퐁이·2021년 12월 29일
0

Distributed Systems

목록 보기
5/5

이 블로그는 단국대학교 김승훈 교수님 수업을 토대로 작성되었습니다.
저작권 문제가 될 수 있는 강의자료는 되도록 지우고 작성하였습니다.

transaction 특성 - ACID

특성 1) Atomicity 원자

-transaction 실행을 하려면 제대로 하던가 전혀 하지 말던가 ("all or nothing")

⇒ 제일 나쁜 건 일부만 실행하다가 중지되는 것

특성 2) Consistency

-데이터가 consistent하게 유지되어야 함

특성 3) Isolation

-모든 transaction은 서로 영향을 미치지 않아야 한다(occur in isolation)

-한 transaction이 끝난 다음 다른 transaction이 일어나면 영향을 미치지 않지만, 중간 쯤에 하다보면 문제가 될 수도 (예: 1억을 두 세 번 더 인출..)

-transactions는 isolated or serializable (transaction이 차근차근)

-global clock도 없는 상황에서 두 개 transaction이 동시에 일어날 때 serializable 하게 만드는 것?

⇒ 감안한다고 되는 것 X

특성 4) Durability

-한 번 transaction이 일어나면 일어난 것 ⇒ transaction이 일어난 다음 system이 crash됨. 고장났다고 해서 transaction이 잃어버렸다 하면 안됨

-한 번 transaction이 일어났으면 일어난 순간 확실하게 permanently하게 안전하게 저장이 되고 유효하게 움직여야함 (stored permanently)

profile
코딩하는 에디

0개의 댓글