DB3 [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. [DB] JDBC(Java Database Connectivity)란? JDBC란? JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 대표적으로 다음 3가지 기능을 표준 인터페이스로 정의해서 제공한다. java.sql.Connection : 연결 java.sql.Statement : SQL을 담은 내용 java.sql.ResultSet : SQL 요청 응답 JDBC는 표준 인터페이스이기 떄문에 구현하여 사용하여야한다. 여러 회사들이 자신의 DB에 맞도록 구현해서 라이브러리로 제공하는데, 이것을 JDBC 드라이버라 한다. MySQL DB에 접근할 수 있는 것은 MySQL JDBC 드라이버라 하고, Oracle DB에 접근할 수 있.. 2023. 1. 25. 이전 1 다음