Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 머신러닝야학
- 판다스
- CNN
- Database
- reshape
- tensorflow
- Java
- 머신러닝
- 데이터베이스
- Python
- 생활코딩 데이터베이스
- 생활코딩
- LeNet
- MySQL
- 파이썬
- flatten
- pandas
- 딥러닝
- 야학
- JavaScript
- 이것이 자바다
- 개발자
- 데이터베이스 개론
- 연산자
- 머신러닝(딥러닝)
- 카카오클라우드스쿨2기
- 생활코딩 머신러닝야학
- 데이터베이서
Archives
- Today
- Total
IT's 우
[카카오 클라우드 스쿨 4주차- 3]Transaction 본문
728x90
5. Transaction
- 한 번에 수행되어야 하는 논리적인 작업의 단위
- 1개 이상의 DML 문장으로 구성이 됩니다.
1) 트랜잭션이 가져야 하는 성질
- Atomicity(원자성): ALL OR NOTHING- 전부 아니면 전무
- Consistency(일관성): 트랜잭션 수행 전과 수행 후의 결과가 일관성이 있어야 합니다.'
- Isolation
(격리성, 독립성): 하나의 트랜잭션은 다른 트랜잭션의 영향을 받으면 안 되고, 독립적으로 수행되어야 한다. - Durability(영속성, 지속성): 한 번 완료된 트랜잭션은 영원히 반영되어야 한다.(수정할 수 없다)
2) 트랜잭션 구현의 원리
- DML 작업을 수행할 때는 원본 데이터에 작업을 수행하는 것이 아니고 임시 작업 영역을 만들어서 그 영역에 데이터를 복제해서 작업을 수행
- 작업을 전부 완료하면 원본에 변경 내역을 반영하는데 이 작업을 COMMIT이라고 합니다.
- 작업을 수행하는 도중 실패를 했다면 변경 내역을 원본에 반영하지 않는데 이를 ROLLBACK이라고 합니다.
3) 트랜잭션 명령어
- COMMIT: 원본에 반영
- ROLLBACK: 원본에 반영하지 않는 것
- SAVEPOINT: ROLLBACK 할 위치를 설정
4) 트랜잭션 모드
- Manual: 사용자가 직접 COMMIT과 ROLLBACK을 하도록 하는 모드
- Auto: 하나의 명령어가 성공적으로 수행되면 자동으로 COMMIT을 하는 모드
- 프로그래밍 언어에서 데이터베이스를 연결하거나 접속 도구 등에서 데이터베이스 서버에 접속해서 작업을 수행하는 경우 Auto로 설정되는 경우가 있습니다.
5) 트랜잭션 생성 시점
-> DML 문장이 성공적으로 완료되면 생성
6) 트랜잭션 종료 시점
-> COMMIT이나 ROLLBACK을 수행한 경우
7) AUTO COMMIT: 자동으로 COMMIT되는 경우
- DDL(CREATE, ALTER, DROP, TRUNCATE)이나 DCL(GRANT, REVOKE) 문장을 수행
- 접속 프로그램을 정상적으로 종료한 경우
8) AUTO ROLLBACK: 자동으로 ROLLBACK 되는 경우
-> 접속이 비정상적으로 종료된 경우
ㅇ이러아러망ㄻ안러아 메모장
6. LOCK
- 2가지 LOCK이 존재
- Shared LOCK이고 Exclusive LOCK 2가지 종류인데 Shared LOCK은 공유 가능한 LOCK이고 Exclusive Lock은 공유가 불가능한 LOCK
- 읽기 작업을 할 때는 Shared LOCK이 설정되고 그 이외의 작업을 할 때는 Exclusive LOCK이 걸리게 되는데 이 경우는 트랜잭션이 종료되어야만 LOCK이 해제됩니다.
- TRANCSACTION MODE를 Manual로 사용하는 경우 하나의 컴퓨터에서 DML 작업을 수행하고 COMMIT이나 ROLLBACK을 하지 않은 상태에서 다른 컴퓨터에서 SELECT를 하는 것은 아무런 문제가 없지만 DML 작업이나 DDL 작업을 수행하는 것은 안되는데 무한 루프에 빠지게 됩니다.
- LOCK의 기본 단위는 테이블
728x90
반응형
'카카오 클라우드 스쿨 2기 > database' 카테고리의 다른 글
[카카오 클라우드 스쿨]Node + Maria DB (0) | 2022.11.24 |
---|---|
[카카오 클라우드 스쿨 4주차 -3] View, 절차적 프로그래밍(Stored Procedure, Trigger) (0) | 2022.11.23 |
[카카오 클라우드 스쿨 4주차 -3] DML (0) | 2022.11.23 |
[DDL, 카카오 클라우드 스쿨 4주차 -2, 3] DDL (0) | 2022.11.22 |
[MariaDB, 카카오 클라우드 스쿨 4주차 -1] SQL 작성 규칙 (0) | 2022.11.21 |