inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Transaction을 간단히 설명해 주세요. (외 2문제) [ ACID ]

동시성 제어와 트랜잭셩 격리 수준

해결된 질문

536

근것

작성한 질문수 2

1

동시성제어를 통해 갱신손실을 미리 막을 수 있다고 하셨는데 여기서 동시성 제어 방식 중 lock 기법으로 설명해주신 거 같습니다.

궁금한 점은 트랜잭션 격리 수준이랑 동시성 제어와의 연관성이 어떻게 이뤄지는지 궁금합니다.

면접 운영체제 기술면접

답변 1

1

개발남노씨

안녕하세요 seyoung5744님. 답이 많이 늦었습니다ㅜ 죄송합니다.

질문에 대한 답을 드릴게요! 동시성 제어와 트랜잭션의 격리 수준은 밀접한 관련이 있습니다. 동시성 제어는 여러 트랜잭션을 동시에 처리할 때 데이터의 일관성을 보장하는 방법을 제공하고, 트랜잭션의 격리 수준은 한 트랜잭션에서 다른 트랜잭션이 변경하거나 생성한 데이터를 어느 정도 보거나 영향을 받을 수 있는지를 결정합니다.

SQL 표준에서는 4개의 트랜잭션 격리 수준이 정의되어 있습니다:

  1. READ UNCOMMITTED(가장 낮은 격리 수준)

  2. READ COMMITTED( 다른 트랜잭션에서 이미 커밋된 데이터만 볼 수 있다)

  3. REPEATABLE READ

  4. SERIALIZABLE.(가장 높은 격리 수준으로, 트랜잭션들이 순차적으로 실행되는 것처럼 보인다. 이 격리 수준에서는 동시성 제어가 가장 엄격하게 적용됩니다. )

동시성 제어 메커니즘 중 하나인 '잠금(lock)'은 위에 언급해드린 각각의 격리 수준을 지원하기 위해 사용된다고 생각하시면 됩니다. 어떤 수준의 격리가 필요한지, 어떤 동시성 문제가 발생할 수 있는지를 고려하여 트랜잭션의 격리 수준을 적절히 선택해야 합니다.

질문에 대한 답이 됐을까요!!?

더 궁금하신점이 있다면 자유롭게 질문 주세요 :)

노션 접근이 안됩니다 ㅠㅠ

0

120

2

노션 공유 부탁드립니다.

0

58

2

노션 공유가 안됩니다!

0

152

2

프로세스가 많아질수록 segment table도 많아지는 건가요?

1

73

2

노션 공유가 사라졌습니다.

0

163

2

post 요청

0

56

1

http

0

64

1

mutex, semaphore와 deadllock

0

99

3

실행중인 프로세스는 메모리를 연속적으로? 아니면 불연속적으로 사용하나요?

0

72

1

노션 공유 요청 드립니다.

0

124

1

노션 공유 요청드립니다.

0

87

1

Dynamic Array와 Linked List의 시간복잡도에 대해서..

0

115

1

노션

0

110

1

질문이있습니다 선생님!

0

109

1

질문이있습니다 선생님!

0

99

1

질문이있습니다 선생님!

0

93

1

질문이있습니다 선생님!

0

163

2

질문이있습니다 선생님!

0

152

2

질문이 있습니다 선생님!

1

198

2

질문이 있습니다 선생님!

0

124

1

질문이있습니다 선생님!

0

88

1

질문이 있습니다 선생님!

0

109

1

질문이 있습니다 선생님!

0

91

1

물리적 메모리에 연속적으로 저장하지 않는 이유

0

133

1