카테고리 없음

커넥션 vs 세션

하얀잔디 2023. 12. 19. 10:12

차이가 무너지 모르겠었다.

 

커넥션 -> 물리적인 연결

 

세션 -> 논리적인 연결.

 

 

 

커넥션

  • 커넥션은 DB와 클라이언트 간의 TCP 소켓을 통한 물리적인 연결(채널)이다
    • 클라이언트가 데이터베이스 서버에 연결을 요청하면 커넥션을 맺게 된다
  • 한 커넥션에서 여러 개의 트랜잭션을 동시에 실행시킬 수 없다

 

세션

  • 사용자가 데이터베이스에 연결된 상태를 의미한다
    • 세션은 DB와 클라이언트 간의 논리적인 연결이라고도 할 수 있다
    • 커넥션 하나 당 여러 개의 세션을 가질 수 있다 (또는 세션을 아예 가지지 않을 수도 있다)
  • 커넥션을 통한 모든 요청은 세션을 통해서 실행된다
    • 쉽게 말해서 실제 SQL 쿼리 실행은 세션을 통해 이루어진다
  • 사용자가 커넥션을 닫으면 세션은 종료된다
    • 커넥션이 닫히면 세션은 종료되고, 커밋되지 못한 트랜잭션은 롤백된다.

 

참고: https://cotak.tistory.com/310