몽고db / system.sessions collection 에 무슨 정보가 있는가 ? / 왜 필요한가. / 세션 동기화 /
mongodb 의 config.system.sessions
mongodb 3.6 버전부터, config
db 는 다음을 지원하기 위해서 internal collection 들을 갖는다.
- standalone, replica sets, sharded clusters 에서의 인과적인 일관적인 세션들(causally consistent sessions)
- replica sets, sharded clusters 에서의 재시도가능한 write들과 transaction들
이중에서 1번째 “인과적인 일관적인 세션들(causally consistent sessions)” 을 위해서 config.system.sessions 가 필요하다.
다음처럼 $listSessions
명령어를 통해 확인할 수 있다.
당연한 이야기겠지만 system.sessions
를 함부로 조작하지 말라고 한다.(수정, 삭제등)
use config
db.system.sessions.aggregate( [ {
$listSessions: {
users: [ {user: "myAppReader", db: "test" } ]
}
} ] )
system.sessions
collection 은 session record들을 저장한다. 이 session record들은 배포된 모든 member들이 사용가능하다.(available)
user 가 session 을 mongod instance 에서 만들때, session 의 record 은 초기에 그 instance 의 in-memory 에만 존재한다. 주기적으로 그 instance 는 자신의 cached session 들을 system.sessions
collection 에 sync 할 것이다. 그 때, 그 record 들은 배포된 모든 member 들에게 visible 하다.
$listSessions
명령어를 이용해서 이 record 들을 확인할 수 있다.
댓글 없음:
댓글 쓰기