본문 바로가기
Database

[Database] 2. 데이터베이스 연결 구조와 DB 세션

by jn4624 2024. 4. 18.
반응형
트랜잭션을 자세히 이해하기 위해 데이터베이스의 서버 연결 구조와 세션에 대해 정리하려 한다.

 

1. 데이터베이스 연결 구조 1

 

사용자는 클라이언트(WAS, Database tools, SpringBoot, H2 Console)를 사용하여 데이터베이스에 접근할 수 있는데, 이때 클라이언트는 데이터베이스 서버에 연결을 요청하고 커넥션을 맺고 데이터베이스 서버는 세션을 생성한다.

그리고 해당 커넥션을 통한 모든 요청은 생성된 세션을 통해 실행된다.

 

세션은 트랜잭션을 시작하고, 커밋 또는 롤백을 통해 트랜잭션을 종료하며 사용자가 커넥션을 닫거나 데이터베이스 관리자가 세션을 강제로 종료하면 해당 세션은 종료된다.

 

2. 데이터베이스 연결 구조 2

 

커넥션 풀이 10개의 커넥션을 생성했다면, 세션도 10개가 생성된다.

이는 커넥션풀이 10개면 해당 커넥션마다 세션이 각각 연결되어 있는 것을 의미한다.

 

3. 참고

실제 구현 레벨에 따라서 데이터베이스 연결 구조가 다를 수 있는데 기본적으로는 해당 연결 구조를 참고하면 된다.

반응형