# 트랜잭션
DB
트랜잭션 \- 트랜잭션은 커넥션 단위로 수행합니다. 하지만 매번 이를 넘겨주기 어렵습니다. 메소드의 호출을 하나의 트랜잭션에 묶이도록 하는것을 트랜잭션 전파 합니다. 커밋과 롤백 \- 커밋은 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어 입니다
<CodeStates> 데이터베이스
하나의 언어인 Structured Query Language 데이터베이스 언어,주로 관계형 데이터베이스에서 사용ex) MySQL, Oracle, SQLite, PostgreSQL데이터베이스 생성데이터베이스 사용테이블생성할때테이블 정보 확인데이터 조회, 입력, 수정 삭제
조회 메서드에 Transaction(readOnly=true)를 쓰는 이유
조회한 데이터를 return 한다고 해도 의도치 않게 데이터가 변경되는 일을 사전에 방지해줍니다.해당 옵션인 경우 CUD 작업이 동작하지 않고, 스냅샷 저장, 변경 감지(dirty check)의 작업을 수행하지 않아 성능이 향상됩니다. 여기서 dirty checking
랜덤 매칭 polling 배치-트랜잭션 분리 및 리팩토링(4)
랜덤매칭을 신청, 취소하는 웹어플리케이션과 별개로 polling하여 매칭 조건끼리 맺어주는 Scheduler가 별도로 존재한다.전체 랜덤매칭 조건 조회매칭 조건으로 정렬(인덱스를 활용하기 부적합하기 때문에 Application에서 정렬해야함.)매칭 최소인원을 만족하면

트랜잭션 적용 문제 해결
앞서 트랜잭션을 적용하다보니 서비스 로직이 지저분해지는 문제가 발생했다.위의 사진을 보면 프레젠테이션은 서블릿이나 MVC 같은 기술에 의존하고데이터 접근 계층은 JDBC나 JPA같은 기술에 의존한다.하지만 서비스 계층은 특정 기술에 의족하지 않고, 순수 자바 코드로 작

트랜잭션, 락
데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위하나의 트랜잭션에는 여러 작업이 동시에 이뤄질 수도 있는데 같은 트랜잭션에 묶인 작업들은 모두가 성공(commit)하거나 모두가 실패(roll back)해야 함예를 들어,a가 b에게 500원을 준다고 했을 때를

트랜잭션(Transaction)
트랜잭션이란 우리 말로 '거래' 라는 의미를 갖고있다.트랜잭션의 개념은 모든작업들이 성공적으로 완료되어야 작업 묶음의 결과를 적용하고, 어떤 작업에서 오류가 발생했다면 이전의 작업들의 이상이 없더라도 없었던 일처럼 처음으로 되돌리는 것이다.데이터베이스를 다룰 때 트랜잭

스프링DB2
SQLMapper : SQL을 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑JdbcTemplateMyBatisORM 관련 기술 : 기본적인 SQL은 JPA가 처리하고, 개발자는 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용JPA, Hibernate스프링 데이
Spring 의 트랜잭션
클래스,메서드 위에 어노테이션을 추가해서 사용할 수 있다.@Transactional 입력으로트랜잭션 기능이 적용된 프록시 객체 생성@Transactional(isolation=Isolation.DEFAULT)DEFAULTREAD_UNCOMMITTED ( Dirty Re

DataBase - Transcation
데이터베이스의 상태를 변환시키는 하나의 논리적인 작업 단위원자성(Atomicity)트랜잭션의 작업이 부분적으로 실행되거나 중단 될 수 없다.트랜잭션의 모든 연산들은 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 상태를 보장해야 한다. (All or

[SQLD] SQL 기본 및 활용(2)
FROM 절 JOIN 형태INNER JOIN : JOIN 조건에서 동일한 값이 있는 행만 변환, USING 이나 ON 절을 필수적으로 사용, Default 옵션으로 생략가능, CROSS JOIN 및 OUTER JOIN과 함께 사용불가NATURAL JOIN : 두 테이블
트랜잭션의 개념
All or Nothing 모든 작업이 실행되거나 혹은 모두 실행되지 않아야 한다.예시) A계좌에서 B계좌로 잔액을 송금할 때,'A계좌 잔액 줄이기' 작업과 'B계좌 잔액 늘리기' 작업은 함께 성공하거나 함께 실패해야 한다.모든 트랜잭션이 종료된 후에는 DB의 제약 조

[CS.데이터베이스 시스템] 1. 데이터베이스의 이해
데이터의 단위를 살펴보자.bit: 0,1을 나타내는 가장 작은단위byte: bit \* 8KB(kilobyte): 우리가 흔히 사용하는 작은 썸네일MB(megabyte)GB(gigabyte): 저화질의 영화, 클래식 음악 등TB(terabyte): 고화질의 영화 100
선언적 트랜잭션에 대한 트랜잭션의 전파 (Transaction Propagation), 격리수준(isolation) 과 기타 속성
트랜잭션의 전파, 격리수준, 읽기전용, 제한시간 옵션 지정에 대해 자세히 알아보자!