Mongo DB | Logical Session vs 일반 Session

몽고디비에서는 일반적으로 사용되는 세션과 Logical Session 두 가지 유형의 세션이 있습니다.

일반 세션(Session):
이전 버전의 MongoDB에서 사용되는 일반적인 세션입니다.
클라이언트가 데이터베이스와 상호 작용할 때 일반 세션을 사용하여 트랜잭션을 관리합니다.
클라이언트가 데이터를 변경할 때 해당 변경 사항을 확정(commit)하거나 취소(abort)할 수 있습니다.

Logical Session (논리적 세션):
MongoDB 4.0부터 도입된 개념으로, 클라이언트와 서버 간의 통신을 추적하는 데 사용됩니다.
Logical Session은 트랜잭션을 실행하거나 관리하는 것이 아니라, 클라이언트와 데이터베이스 간의 일관된 상태를 유지하기 위해 사용됩니다.
Logical Session은 일련의 연속적인 데이터베이스 작업에 대해 일관된 뷰를 제공하고, 장애 복구 시 클라이언트 상태를 복원하는 데 도움이 됩니다.
따라서 Logical Session은 단일 트랜잭션을 관리하는 데 사용되지 않고, 클라이언트 상태를 유지하고 일관된 뷰를 제공하는 데 사용됩니다. 일반 세션은 트랜잭션 관리에 중점을 두고 있습니다.

Session 별 최대 허용 갯수

일반 세션(Session)의 최대 허용 갯수:
MongoDB의 구성 파일(/etc/mongod.conf)에서 maxSession 또는 maxClientSessions와 같은 매개변수를 통해 설정할 수 있습니다.
MongoDB의 기본 설정은 일반적으로 수천 개의 세션을 지원할 수 있도록 되어 있습니다.
그러나 MongoDB가 실행 중인 호스트의 메모리 및 기타 자원에 따라 최대 허용 세션 수가 달라질 수 있습니다.

Logical Session (논리적 세션)의 최대 허용 갯수:
논리적 세션은 클라이언트와 서버 간의 통신을 추적하는 데 사용되므로, 일반적으로 매우 많은 수의 세션을 생성할 수 있습니다.
MongoDB의 구성 파일을 통해 논리적 세션의 최대 허용 수를 직접 설정할 필요는 없습니다. 이러한 세션은 MongoDB 서버의 리소스를 직접적으로 소모하지 않으므로 일반적으로 제한되는 경우는 드물습니다.

댓글

댓글 남기기