마이너버전 업그레이드 정책
MongoDB 마이너버전 업그레이드는 롤링(Rolling-upgrade)방식을 사용한다.
롤링방식이란 서비스를 중지하지 않고 멤버들을 순차적으로 업그레이드하는 방식을 의미한다.
롤링방식
롤링방식 순서는 다음과 같다.
1. 세컨드리 멤버의 버전을 업그레이드 한다.
2. 업그레이드가 된 세컨드리 멤버와 현재의 프라이머리 멤버를 스위칭한다. (서비스 입장에서는 순간적인 단절이 발생)
3. 업그레이드가 된 세컨드리 멤버에서 서비스를 이어간다.
4. 세컨드리가 된 기존 프라이머리 버전을 업그레이드 한다.
롤링방식의 리스크
롤링방식으로 순차적으로 업그레이드를 하는동안 서비스는 이어갈 수 있지만
세컨드리와 프라이머리간 버전이 일치하지 않는 기간이 발생한다.
이 때 업그레이드가 된 버전의 기능을 사용하는 경우
업그레이드가 되지 못한 멤버에 대해서 동기화가 깨져 복구를 해야할 수도 있다.
이 리스크를 방지하기 위해 서로다른 버전이 공존하는경우
MongoDB 는 하위버전의 기능만 사용하도록 하여 동기화가 끊어지지 않도록 방지한다.
업그레이드가 완료되고 난 후 업그레이드 기능을 활성화 해주는 작업을 해주면 그때부터 신규 기능을 사용할 수 있다.
setFeatureCompatibilityVersion
이 옵션을 사용하여 신규버전의 기능을 활성화해준다.
아래는 현재 MongoDB 는 7.0 버전 호환성이며 7.2 호환성으로 활성화 해주는 명령어이다.
이렇게 한번 실행하고 나면 업그레이드 이전 버전으로는 되돌아 갈 수 없으므로 주의한다.
admin> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1} )
{ featureCompatibilityVersion: { version: '7.0' }, ok: 1 }
admin> db.adminCommand( { setFeatureCompatibilityVersion: "7.2" } )
'Database > MongoDB' 카테고리의 다른 글
[MongoDB] MongoDB 의 CRUD 사용 ( SELECT, INSERT, UPDATE, DELETE ) (0) | 2024.04.18 |
---|---|
[MongoDB] MongoDB 와 RDBMS 차이 (1) | 2024.04.18 |
[MongoDB] MongoDB 라이센스와 버전정책 (1) | 2024.04.18 |
[MongoDB] 스키마를 설계해보자 (1) | 2024.02.29 |
[MongoDB] 몽고DB 의 데이터는 유실될 수 있나 (0) | 2024.02.29 |