[TIL] 2024-12-02 (KST/DB)TIL (2024)/2024.122024. 12. 3. 01:54
Table of Contents
728x90
Today I Learned (2024-12-02)
목차
오늘 공부한 내용
1. 최종프로젝트
- KST 이론 활용
- 수학 지식맵 AI 맞춤 피드백
2. 데이터베이스
트랜잭션 격리 수준
격리 수준의 차이점
Dirty Read
- 다른 트랜잭션에서 아직 커밋하지 않은 데이터를 읽는 문제입니다.
- 예: A 트랜잭션이 금액을 100에서 200으로 변경 중인데, B 트랜잭션이 변경 중 데이터를 읽음.
문제가 될 수 있음: A가 롤백하면 B는 잘못된 데이터를 사용한 것. - ➡ Read Committed 이상부터 방지 가능.
Non-Repeatable Read
- 한 트랜잭션이 데이터를 읽은 후, 다른 트랜잭션이 그 데이터를 수정/삭제하면 처음 읽은 값과 나중에 읽은 값이 다를 수 있습니다.
- 예: A 트랜잭션이 금액을 읽음(100). B 트랜잭션이 금액을 200으로 변경하고 커밋. A 트랜잭션이 같은 데이터를 다시 읽으면 값이 200.
- ➡ Repeatable Read 이상부터 방지 가능.
Phantom Read
- 한 트랜잭션이 조건에 맞는 데이터를 조회한 후, 다른 트랜잭션이 새 데이터를 삽입하면 처음에는 없던 데이터가 다시 조회될 때 나타남
- 예: A 트랜잭션이 SELECT * FROM students WHERE grade = 'A' 실행하여 5개의 학생을 조회함.
- B 트랜잭션이 새 학생을 추가하고 커밋.
- A 트랜잭션이 같은 쿼리를 다시 실행하면 학생이 6명으로 늘어남.
Serializable에서만 완벽히 방지 가능.
어려웠던 내용
- 최종프로젝트 기획
궁금한 내용과 부족한 내용
- 기획이란?...
느낀 점
- 쉽지 않다.
오늘 하루
- 한숨
'TIL (2024) > 2024.12' 카테고리의 다른 글
[TIL] 2024-12-06 (CI/CD) (0) | 2024.12.06 |
---|---|
[TIL]2024-12-05 (CI/CD) (0) | 2024.12.06 |
[TIL] 2024-12-04 (Docker) (0) | 2024.12.04 |
[TIL] 2024-12-03 (Django CI/CD) (0) | 2024.12.04 |
[TIL] 2024-12-01 (DRF/DB) (0) | 2024.12.02 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!