프로그래밍/Database(3)
-
Concurrency Control
Concurrency Control: 동시성 제어 Lock-Based Protocols database conflict를 방지하기 위한 프로토콜 Lock: data에 잠금을 걸어서 접근하지 못하게 함 exclusive (X) mode: lock을 건 해당 transaction은 data 읽기 쓰기 모두 가능/ 나머지 transaction은 접근 불가능 shared (S) mode: lock을 건 해당 transaction은 data 읽기만 가능/ 나머지 transaction도 동시에 shared lock을 걸 수 있음 절차: lock requests를 먼저 하고 이후 granted되어 lock을 건다. Lock-compatibility matrix 누군가 lock이 필요한 작업을 하려고 하는데 lock ..
2022.11.16 -
Transactions
Transactions 고객관점에서의 single operation이다. - 어느 한 값의 변화에 있어, 바뀔거면 다 바뀌던가/ 아니면 그냥 이뤄지질 말든가 이뤄지는 순서 (A에서 B로 값 50을 옮길거임) 1. read A 2. A = A - 50 3. write A 4. read B 5. B = B + 50 6. write B 이런 과정을 수행함에 있어 중간에 오류가 발생하여 멈추게되면 안되고 멈추게 되면 처음부터 이뤄지지 않은것으로 되돌려놔야 됨 그리고 이런 수행은 가능하면 동시에 이뤄져야됨 ACID Atomicity : 한 연산의 과정이 하나처럼 이뤄여야함, 중간에 끊기면 안됨 Consistency : 늘어나고 줄어드는 양이 같아야함, 연산 후에 총량은 연산 전과 같아야 한다. Isolation ..
2022.11.10 -
Super Key, Candidate Key, Primary Key, Foreign Key
Super Key: Relation에서 튜플 하나를 특정할 수 있는 요소 또는 요소들의 집합 Candidate Key: Super Key 중에서 크기가 가장 작은 요소 또는 요소들의 집합 Primary Key: Candidate Key 중에서 선택 Foreign Key: 다른 Relation에서 Primary Key로 사용되고 있는 요소
2022.10.25