일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 가상컴퓨팅
- Algorithm
- spring
- generic class
- jsp
- javascript
- DB
- sql
- 코딩테스트준비
- 자바의정석
- JPA
- 암호학
- dfs
- Queue
- 자료구조
- 공개키 암호화
- data structure
- dbms
- Java
- 코테
- 알고리즘
- 개발자취업
- 문자열
- 항해99
- js
- 크루스칼
- 생성자
- 코딩테스트
- BFS
- python
- Today
- Total
PLOD
[DB]Transaction 본문
ACID
1. Atomicity(원자성) : 트랜잭션의 작업들이 모두 수행되거나 전혀 수행되지 않아야 함. 일부만 수행된 상태가 되어서는 안됨
2. consistency (일관성) : 트랜잭션의 수행 이후에도 데이터는 항상 일관되고 무결성이 유지된 상태에 있어야 함
-> integrity 유지
3. Isolation(격리성, 고립성) : 각 트랜잭션은 다른 트랜잭션의 수행에 영향을 끼치지 않아야 함
-> serializability : 각 트랜잭션을 따로 수행한 결과와 동일하여야 함
4. Durability(내구성, 지속성) 한번 commit된 트랜잭션의 결과는 계속적으로 유지되어야 함
Transaction Definition in SQL
commit을 호출하면 트랜잭션 종료
rollback을 호출하면 트랜잭션 취소, 원자성이 깨진 경우
autocommit mode 일때 SQL 문장 하나 단위로 Transaction
RAID(Redundant Array of Inexpensive Disks)
여러개의 디스크를 배열하여 속도 , 안정성, 효율성, 가용성 등의 증대를 위해 사용
1. RAID 0
모든 드라이브에 디스크 스트라이핑을 제공
데이터 중복성을 제공하지 않지만 최적의 성능을 제공
2. RAID 1 : 데이터 보호
mirroring mode를 통해 용량을 절반 으로 사용 하여 절반은 데이터 보관에 이용되고, 나머지
절반은 사본복제에 사용
3. RAID 5 : 데이터 보호 및 속도
드라이브가 3개이상인 시스템의 경우 권장, 모든 드라이브에 걸쳐 데이터를 스트라이핑 함으로써 성능을 높임
각 드라이브의 일부를 내고장성에 할애하고 나머지 부분은 데이터 저장 공간으로 남겨둠으로써 데이터 보호 성을
을 최대화
4. RAID 10 : 높은 안정성 및 성능
RAID 0 + RAID 1 을 합한 능력과 같은 RAID 1 세그먼트를 스트라이핑하여 매우 높은 I/O 속도를 제공한다. 최대 성능 및
높은 내결함성이 중요한 업무에 사용하는 것이 좋음
* Isolation
* Isolation Level: Read Uncommitted
dirty Read 허용(commit 되지 않은 데이터 변경을 읽을 수 있음)
-> serializable 하지 않은 결과가 나올 수 있음.
트랜잭션이 동시에 실행되게 되면 Dirty read/ write Non-repeatable Read, Phantom Read 발생
Dirty Write
같은 데이터에 대해 동시에 두 개 이상의 트랜잭션이 값을 바꾸고자 할 때 발생되는 현상
Dirty Read
아직 종료(commit)되지 않은 트랜잭션의 쓰기 내용을 읽는 것으로 비정상적 상태의 데이터를 읽게 되는 현상
Non-repeatable Read
어떤 트랜잭션에서 동일한 데이터의 값을 매번 읽을 때 마다 틀려지는 현상
Phantom Read
기존 데이터는 동일한 데 새로 추가된 값에 의해 데이터 값이 변경되는 현상
'개발 공부 > Database' 카테고리의 다른 글
[SQL] SQL 함수 (0) | 2023.02.05 |
---|---|
[DB]Concurrency Control (0) | 2022.12.11 |
[DB] Query Optimization (0) | 2022.12.11 |
[DB] Query Processing + query cost (0) | 2022.10.30 |
[DB]실무 데이터 모델링 프로세스 (0) | 2022.10.28 |