데이터베이스 환경에서 커넥션(Connection)과 세션(Session)은 서로 밀접하게 연관된 개념이지만, 엄밀하게는 다른 의미를 가지고 있다.
이에 각각의 개념은 무엇이고 어떤 관계를 가지고 있는지 알아보도록 하겠다.
Connection이란?
클라이언트와 데이터베이스 서버 간의 물리적인 경로를 의미한다.
즉, 클라이언트와 데이터베이스 서버 간의 통신할 채널(e.g. port 등)이 열리면서 네트워크 레벨 통신이 성립되는 것을 말한다.
DB Session 이란?
커넥션이 성공적으로 만들어진 이후의 클라이언트와 데이터베이스 서버 간의 상호작용을 의미한다.
이로인해 세션 내에서 사용자의 모든 트랜잭션, 쿼리 등의 작업이 이루어지며, 세션은 DB 쿼리 실행 상태나 트랜잭션 맥락을 유지하는 논리적 컨텍스트이다.
커넥션과 세션과의 관계
특별한 설정을 하지 않는 한, 대부분의 DB는 커넥션과 세션이 1:1 관계를 맺는다.
즉, 커넥션을 맺으면서 세션이 생성되며 커넥션이 끊어지면 세션 또한 종료 된다.
Reference
세션이란게 구체적으로 무엇인가요? - 인프런 | 커뮤니티 질문&답변
누구나 함께하는 인프런 커뮤니티. 모르면 묻고, 해답을 찾아보세요.
www.inflearn.com
What is the difference between a connection and a session?
What is the difference between a connection and a session and how they are related?
dba.stackexchange.com
'CS > DB' 카테고리의 다른 글
[DB] 트랜잭션 (0) | 2025.01.29 |
---|---|
[DB] 정규화 (0) | 2025.01.23 |
[DB] 인덱스 정의, 동작 방식, 종류 등 톺아보기(MySQL 기준) (0) | 2025.01.14 |
[DB] JOIN 알아보기 (0) | 2025.01.09 |
[DB] SQL 톺아보기 (0) | 2025.01.09 |