M100: MongoDB for SQL Pros - 4

김하영·2023년 1월 30일
0

LESSON 4: THE LIFE CYCLE OF AN APPLICATION AND ADDITIONAL RESOURCES

Providing High Availability

High Availability (고가용성)은 장애 또는 다운타임이 발생한 경우에도 작업을 서비스할 수 있는 수용력을 의미한다.

  • MongoDB 에서 HA 달성하는 방법
  1. 단일 실패 지점을 제거하기 위해 복제 셋의 멀티 데이터 베이스들과 자동 선거를 통해 고 가용성을 구현한다.

  2. 서버의 다운 타임을 수용할 수 있도록 한다.
    즉, 복제 셋을 통해 다운된 서버외에 다른 서버들이 서비스의 가용성을 유지한다.

  3. 유연한 문서 모델을 사용한다.
    즉, 다른 버전의 데이터 스키마들도 허용하면서 공존할 수 있다.

MongoDB 도 RDBMS 과 비교하여 거의 모든 장애 시나리오에서 다운타임 없이 애플리케이션을 발전시키고 기본 리소스를 수정할 수 있다.
= 애플리케이션에 대한 고가용성 서비스를 제공할 수 있다.

Server Maintenance (서버 유지보수)

  • MongoDB 버전 업그레이드, 운영체제 또는 보안 패치 설치, 하드웨어 결함 수정과 같은 작업을 수행하기 위해 서버 유지 관리를 수행해야 한다.

  • 중요한 점은 서버를 중단하지 않고 계속 서비스를 제공하면서 위와 같은 작업을 수행해야 한다.

  • 기존 관계형 데이터 베이스 같은 경우, 서비스 중단을 제한하기 위해 데이터를 복제한 서버를 추가한다.
    -> 배포는 번거로우며, 재해 발생 시 고가용성을 유지하지 않는 단점이 있다.

  • mongoDB 복제는 따로 제품을 구입하거나 설치할 필요 없이, 데이터 베이스에 대한 모든 쓰기 작업은 논리적 작업으로 기록되고 보조 노드에 적용된다.

  • mongoDB의 또 다른 기능은 자동 투표이다. Primary 서버가 다운되면 Secondary 서버 중 하나가 자동으로 Primary 서버가 된다.

  • 각 서버에서 유지 관리 작업을 수행해야 하는 경우, 서버에서 한 번에 하나씩 유지 관리를 수행하는 형식을 '롤링 업그레이드' 라고 한다.

  • Atlas 를 통해 서버 유지 관리 및 자동 확장을 편리하게 할 수 있다.

Schema Migration

  • 기본 데이터 베이스 스키마를 수정하는 프로세스 이다.
  • RDBMS 는 데이터 베이스 가동 중지 없이 스키마를 수정하는 작업은 불가능 하다.
  • mongoDB 는 중단 없이 거의 모든 스키마를 마이그레이션 할 수 있다.
    -> 문서 기반으로 동일한 컬렉션에 다양한 형식의 문서가 존재할 수 있는 다형성을 보장하기 때문이다.

MongoDB as a Data Platform

  • 데이터 저장 : 유연한 데이터 저장 & Atlas Data Lake

위와 같이 데이터 저장에 대한 유연성을 가지고 있기 때문에, 데이터를 호스팅할 위치와 클라우드 제공업체를 선택할 수 있다.
또한, 마이그레이션을 다른 위치나 클라우드 제공업체로 손쉽게 진행할 수 있다.

  • 데이터 엑세스
    분석 워크로드와 함께 운영 워크로드를 결합할 수 있다.
    change streams : 문서 저장 및 수정에 대한 모든 것을 관찰하는 mongoDB 기능
    -> change streams 과 kafka , atlas trigger 을 사용하여 데이터 관련 이벤트 발생 시, 임의의 코드를 실행할 수 있다.
  • 데이터 처리
    compass : mongodb 의 시각적 데이터 탐색기
    mongodb charts : 저장된 데이터 관련 처리를 위해 구축된 우수한 분석 도구
    BI Connector (비즈니스 인텔리전스 커넥터 ) : 위 compass or charts 가 부족한 경우, 더 고도화된 기능을 제공하는 처리 도구

참고 : https://learn.mongodb.com/courses/m100-mongodb-for-sql-pros

profile
Back-end Developer

0개의 댓글