데이터베이스2 [DB] 트랜잭션(Transaction) 트랜잭션 트랜잭션이란 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 쉽게 말하면 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해 주는 것을 뜻한다. 만약 A에서 B로 계좌이체를 한다고 할 때 두 가지 작업이 하나의 작업처럼 동작해야 한다. A의 잔고를 5000원 감소 B의 잔고를 5000원 증가 데이터베이스가 제공하는 트랜잭션 기능을 사용하면 1,2 둘 다 함께 성공해야 저장하고, 중간에 하나라도 실패하면 거래 전의 상태로 돌아갈 수 있다. 트랜잭션 ACID 트랜잭션은 ACID라 하는 원자성(Atomicity), 일관성 (Consistency), 격리성(Isolation), 지속성(Durab.. 2023. 1. 28. [DB] 커넥션 풀(Connection Pool)과 데이터소스(DataSource) 데이터베이스 커넥션을 새로 만드는 것은 과정도 복잡하고 시간도 많이 많이 소모되는 일이다. DB는 물론이고 애플리케이션 서버에서도 TCP/IP 커넥션을 새로 생성하기 위한 리소스를 매번 사용해야 한다. 만약 데이터베이스 커넥션을 매번 새로 생성하면 사용자가 애플리케이션을 사용할 때 응답속도에 영향을 줄 수 있다. 이러한 문제를 해결하게 해주는 것이 커넥션 풀이다. 커넥션 풀 커넥션 풀은 데이터베이스 커넥션 일정 수를 미리 생성해 놓고 커넥션을 관리하는 풀이다. 애플리케이션을 시작하는 시점에 커넥션 풀은 필요한 만큼 커넥션을 미리 확보해서 풀에 보관한다. 보통 얼마나 보관할지는 서비스의 특징과 서버 스펙에 따라 다르지만 기본값은 보통 10개이다. 커넥션 풀에 들어 있는 커넥션은 TCP/IP로 DB와 커넥션.. 2023. 1. 27. 이전 1 다음