DB세션이란?

모두·2025년 3월 11일

오늘은 DB세션에 대한 글을 작성하려고 한다.

DB세션(session)이란?

  • Connection은 물리적 통신 경로,
    Session은 connection을 통해 작업을 수행하는 동안의 상태

  • 세션은 고유한 ID를 가지고 있음

  • 트랜잭션을 시작하고 commit하거나 rollback할때까지 상태를 유지

  • 세션 내에서만 사용 가능한 세션 변수가 있음

Connection vs Session

Connection pool 이 10개라 하면 Connection이 10개 인 것인데 이에 반해 Session은 Session pool을 따로 확보하지 않음

  • 왜냐면 Connection 안에서 각각 Session이 돌아가는 구조이기 때문
  • Session의 최대 개수는 Connection pool 과 같다.
  • 반대로 Connection pool 이 10개라도 실제로 동작하고 있는 쿼리가 하나도 없으면 Session은 하나도 없다.
  • Connection은 고유한 id 없다. 그냥 Connection 맺으면 맺은것
  • Session은 고유한 id 있다.
    • 예를 들어 어떤 id로 로그인 했는지, 게스트로 했는지(권한체크)

정리 : Connection 안에 Session 이 있다.

0개의 댓글