Data 4

트랜잭션 격리 수준 / Transaction Isolation Level

트랜잭션 격리수준(isolation level)이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것이다.크게 아래 4단계로 분류한다.READ UNCOMMITTED어떤 트랜잭션의 변경내용이 COMMIT이나 ROLLBACK과 상관없이 다른 트랜잭션에서 보여진다.사용되지 않는 격리수준READ COMMITTED어떤 트랜잭션의 변경 내용이 COMMIT 되어야만 다른 트랜잭션에서 조회할 수 있다.Oracle DB에서 사용NON-REPETABLE READ 정합성 문제 발생하나의 Transaction 내에서 READ를 여러 번 할 경우 결과가 다른 문제REPEATABLE READ트랜잭션이 시작되기 전에 커밋된 내용에 대해서만 조회한다.즉, 자신의 Transaction Id보다..

Data 2024.07.07

Spring JPA Transactional과 Transaction Isolation Level 격리수준 실습

2022.11.04 - [Backend & Spring (스프링)] - Spring Data JPA와 Hibernate. 그리고 Persistence Spring을 이용해 RDB를 다루면 JPA, Transactional과 DB 격리 수준에 대해서 많이 들어보았을 것이다.다만, 각각에 대해서는 잘 들어봤더라도서로 정확히 어떻게 동작하는지, 어떤 경우에 에러가 발생하는지에 대한 정보는 부족하다. 이 글에서는 특히 Transactional과 Database Isolation Level에 대한 관계를 실제 코드를 이용해서 실험해보고자 한다. 격리 수준에 대한 자세한 내용은 다음 링크 참고 - 2024.06.21 - [Data] - 트랜잭션 격리 수준 / Transaction Isolation Level 현재 ..

Data 2024.06.21

데이터베이스 정규화 - 제1, 제2, 제3정규형과 BCNF (RDB, Database Normalization)

용어 정리.슈퍼 키(Super Key): 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합후보 키(Candidate Key): 슈퍼 키 중 더 이상 줄일 수 없는(irreducible) 형태를 가진 것기본 키(Primary Key): 설계자에 의해 선택, 정의된 후보 키 함수 종속성 (Functional Dependency): X 값에 의해서 Y의 값이 결정되는 경우 ( y = f(x) ) 완전 함수 종속(Full Functional Dependency): 후보 키를 제외한 모든 속성이 후보 키의 전체 집합에 종속되어야 한다.(= 기본 키의 부분 집합에 종속되어서는 안된다.)주문id아이템id할인가110100210801550(예를 들어, PK가 (주문id+아이템id) 인 경우 할인가는 2가지를 모두 알..

Data 2022.11.03

Airflow 정리 execution_date, data_interval_start, logical_date, start_date

airflow 사용 자체는 어렵지 않다. 용어나 date 처리 등에 대해서만 정리한다. start_date: DAG가 시작되는 기준 시점. 해당 시점을 기준으로 interval적용 execution_date: Task가 실행되는 시점이 아닌 Time Window의 시작 지점. schedule_interval: data처리 간격. cron 또는 date형식 (Timetable 형식이 도입되었다. https://airflow.apache.org/docs/apache-airflow/stable/concepts/timetable.html) 예를 들어, interval이 하루인 경우, execution_date = 2022-01-01 0시 인 작업은 2022-01-02 0시에 시작한다. 이러한 개념이 혼란을 주기..

Data 2022.11.03
반응형