일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Locking Read
- jpa
- Synchronized
- Varchar
- 자바
- 가비지 컬렉션
- CAS
- 데이터 타입
- text
- MVCC
- iterable
- 스프링
- foreach
- reflection
- 백엔드
- db
- java
- Atomic Type
- MySQL
- Di
- gc
- Lock
- iterator
- 동시성 문제
- 가비지 컬렉터
- 동시성
- Today
- Total
목록백엔드 (2)
과정을 즐기자
여러 트랜잭션이 동시에 실행된다면 데이터의 무결성에 문제가 생길 수 있으며 여러 트랜잭션을 순차적으로 실행한다면 성능이 좋지 않을 수 있습니다. 트랜잭션의 특징인 ACID 중에서 I인 Isolation level은 여러 트랜잭션을 실행할 때 트랜잭션끼리 얼마나 격리되어 있는 지를 나타냅니다. 트랜잭션의 격리 레벨에는 크게 4가지가 있습니다. 격리 레벨이 높은 순서대로 Serializable, Repeatable Read, Read Commited, Read Uncommited가 있습니다. Serializable 수준은 동시 처리 성능이 상당히 떨어지기 때문에 거의 사용되지 않으며 Read Uncommited 수준은 데이터의 무결성에 문제가 생길 수 있기 때문에 거의 사용되지 않습니다. 대부분의 RDBMS..
백엔드 애플리케이션을 개발하면서 동시성 문제를 처리해야 하는 경우가 있습니다.DB의 Isolation Level이 있어서 적절한 레벨로 설정해주면 DB에서 동시성 문제는 발생하지 않을까요?이번 글에서는 동시성 문제를 처리하는 방법에 대해 알아보겠습니다.트랜잭션의 Isolation Level트랜잭션의 특징인 ACID에서 I를 나타내는 Isolation Level은 여러 트랜잭션이 동시에 실행될 때 트랜잭션끼리의 격리 수준을 말합니다. 4가지 레벨이 있는데 격리성이 높은 순서대로 Serializable, Repeatable Read, Read Commited, Read Uncommited가 있습니다. MySQL, InnoDB에서는 기본적으로 Repeatable Read 레벨을 사용합니다.이 레벨에서는 Loc..