DB 3

트랜잭션 - 이해

데이터를 저장할 때 단순히 파일에 저장해도 되는데, 데이터베이스에 저장하는 이유는 무엇일까?여러 가지 이유가 있지만 , 가장 대표적인 이유는 바로 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문이다. 트랜잭션의 정의트랜잭션이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산들을 의미합니다. 이러한 관점에서 데이터베이스 응용프로그램은 트랜잭션의 집합으로 정의할 수 있습니다. 트랜잭션의 필요성트랜잭션은 작업의 완정성을 보장해주는 것입니다.논리적인 작업들을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우 이전 상태로 복구하여 작업의 일부만 적용되는 현상이 발생하지 않게 만들어주는 기능입니다.  트랜잭션 ACID트랜잭션은 ACID 라 ..

DB 2025.01.12

커넥션풀과 데이터소스 이해

커넥션 풀 이해데이터베이스 커넥션을 매번 획득 데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다.1. 애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다.2. DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3 way handshake 같은 TCP /IP 연결을 위한 네트워크 동작이 발생한다.3. DB 드라이버는 TCP / IP 커넥션이 연결되면 ID, PW와 기타 부가 정보를 DB에 전달한다.4. DB 는 ID, PW를 통해 내부 인증을 완료하고 , 내부에 DB 세션을 생성한다.5. DB 는 커넥션 생성이 완료되었다는 응답을 보낸다.6. DB 드라이버는 커넥션 생성이 완료되었다는 응답을 보낸다. 이렇게 커넥션을 새로 만드는 것은 과정도 복잡하고 시..

DB 2025.01.11

JDBC 이해

JDBC 등장 이유애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다.    클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는 다음 과정을 통해서 데이터 베이스를 사용한다. 애플리케이션 서버와 DB -  일반적인 사용법  1. 커넥션 연결 : 주로  TCP/IP를 사용해서 커넥션을 연결한다.2. SQL 전달 : 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.3. 결과 응답 : DB 는 전달된 SQL을 수행하고  그 결과를 응답한다. 애플리케이션 서버는 응답 결과를 활용한다.  애플리케이션 서버와 DB -  DB 변경  문제는 각각의 데이터베이스마다 커넥션을 연결하는 방법, SQL을 전달하는 방법, 그리고 ..

DB 2025.01.10