AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB Atlas Infinite: 아키텍처

Atlas Infinite는 컴퓨팅과 저장 를 두 개의 독립적인 계층으로 분리합니다. 컴퓨팅 노드는 쿼리, 트랜잭션 및 애그리게이션을 실행 . 저장 계층은 데이터를 지속적으로 저장하여 고가용성 위해 여러 개의 복사본을 유지합니다. MongoDB 컴퓨팅 계층과 독립적으로 저장 계층을 관리하므로 데이터를 이동하거나 복제하지 않고도 확장 및 복구 작업을 실행 .

다음 다이어그램은 Atlas Infinite가 애플리케이션, 컴퓨팅, 저장 계층 전반에 걸쳐 Atlas 내에서 어떻게 적용되는지 보여주며, 아래의 Atlas 관리 인터페이스를 사용합니다.

Atlas Infinite 아키텍처: Atlas 관리 인터페이스가 있는 애플리케이션, 컴퓨팅 및 Atlas 관리형 저장 계층.

Atlas Infinite 컴퓨팅 및 저장 Atlas 애플리케이션 및 관리 스택 에 포함되는 방식

컴퓨팅 노드는 쿼리, 트랜잭션 및 애그리게이션을 실행하는 계층입니다. 컴퓨팅 노드는 저장 에서 분리되어 있으므로 저장 와 독립적으로 컴퓨팅 용량 확장하다 할 수 있습니다. 수요가 증가하면 컴퓨팅 용량 추가하고 수요가 감소하면 다시 확장하다 할 수 있습니다. 자동 확장 활성화 하면 Atlas 컴퓨팅을 조정합니다.

공개 미리 보기에서 Atlas 클러스터 리전 내의 별도 가용 리전 에 컴퓨팅 노드를 배포합니다.

Atlas Infinite의 저장 계층은 애플리케이션의 데이터를 지속형 유지하고 고가용성 위해 여러 개의 복사본을 유지합니다. Atlas Infinite를 사용하면 MongoDB 애플리케이션의 워크로드 실행 컴퓨팅 노드와 별도의 독립 계층으로 저장 관리합니다. 저장 계층은 컴퓨팅 계층과 독립적으로 복제 처리하고, 읽기를 제공하고, 지속적인 백업을 제공합니다. 클러스터 계층 확장하다 하거나 컴퓨팅 노드 장애가 발생하여 Atlas Infinite가 페일오버 수행하는 경우, 애플리케이션의 데이터는 쿼리를 처리하기 위해 저장 계층에서 계속 사용할 수 있습니다. MongoDB 이를 새 컴퓨팅 노드에 복사하지 않습니다.

Atlas Infinite는 각 클러스터 저장 계층에 걸쳐 격리합니다. Atlas 저장 계층 내 통신을 위해 X.509 인증서로 내부 트래픽을 상호 인증합니다.

저장 계층이 공유되므로 각 고객의 데이터는 고객 간에 공유되지 않는 고유 키로 암호화됨 됩니다.Atlas Atlas Infinite 데이터를 암호화하는 방법을 학습 Atlas 미사용 데이터 암호화 개요를 참조하세요.

Atlas Infinite 클러스터 에는 두 개의 선택 가능한 컴퓨팅 노드가 있습니다. 하나는 쓰기를 제공하는 프라이머리 이고, 다른 하나는 프라이머리 실패하거나 다시 시작될 때 인계받는 다른 투표 선택 가능 노드 입니다. 공개 미리 보기 중에 워크로드 격리 를 위해 최대 5개의 노드를 추가하여 총 7개의 노드를 제공할 수 있습니다. 추가하는 노드는 읽기만 제공 할 수 있습니다. 다음 노드 유형을 추가할 수 있습니다.

  • 읽기 전용 노드는 운영 워크로드 에서 읽기를 제공 .

  • 분석 노드는 운영 워크로드 에서 분석 쿼리를 격리합니다.

공개 미리 보기의 Atlas Infinite 클러스터에서는 검색 노드가 지원되지 않습니다.

컴퓨팅 노드는 프라이머리 에 투표하지 않습니다. 저장 계층은 클러스터의 노드 중에서 투표 대신 페일오버 . 프라이머리 실패하거나 다시 시작되면 스탠바이가 프라이머리 됩니다. 저장 계층은 모든 컴퓨팅 노드 에서 최근 데이터를 쉽게 사용할 수 있도록 유지합니다.

읽기 설정은 Atlas Core 클러스터 에서와 같이 작동합니다. 모든 읽기 설정 (read preference) 모드와 사전 정의된 복제본 세트 태그를 사용할 수 있습니다.

읽기 설정 (read preference) 애플리케이션의 운전자 설정합니다. 운전자 기본값 은 primary이므로 읽기 설정 (read preference) 변경하지 않는 한 애플리케이션 모든 읽기를 프라이머리 로 전송합니다.

Atlas Infinite 클러스터 에는 하나의 대기 노드 있습니다. 애플리케이션 프라이머리 이외의 노드 에서 읽을 때 읽기 전용 노드 또는 분석 노드를 추가하고 다른 읽기 설정 (read preference) 설정하다 하지 않는 한 해당 읽기는 해당 대기 노드 로 이동합니다. 다음 권장 사항을 사용하세요.

  • 둘 이상의 노드 에서 애플리케이션의 작동 읽기를 제공하려면 읽기 전용 노드를 추가합니다. 읽기 전용 노드는 primary를 제외한 모든 읽기 설정 (read preference) 에서 읽기를 제공 , 추가하는 각 노드 해당 트래픽의 일부를 처리합니다. 이러한 읽기를 대기 및 읽기 전용 노드에 분산하려면 읽기 설정 (read preference) secondaryPreferred로 설정하다 . 이렇게 하면 애플리케이션의 읽기가 프라이머리 에서 발생하지 않고 단일 대기 노드 과부하가 걸리는 것을 방지할 수 있습니다. Atlas Core 클러스터 에서는 여러 개의 세컨더리가 노드를 추가하지 않고 이러한 읽기를 분산시킵니다.

  • 분석 과 같은 워크로드 애플리케이션의 운영 읽기에서 분리하려면 분석 노드 또는 읽기 전용 노드를 추가하고 사전 정의된 복제본 세트 태그를 사용하여 해당 노드로 쿼리를 보냅니다.

  • 모든 노드 읽기를 제공 할 수 있는 더 많은 용량 제공하려면 클러스터 계층 확장하다 .

백업, 복원 및 특정 시점 복구는 저장 계층에서 작동합니다. 백업 및 복원 에 대해 학습 Atlas 무한 클러스터 복원을 참조하세요.

쓰기 고려 (write concern) 쓰기 (write) 작업에 대해 MongoDB 에 요청 승인 수준을 설명합니다.

이 섹션에서는 Atlas Infinite 클러스터 의 쓰기 고려 (write concern) 기본값, Atlas 각 쓰기 고려 (write concern) 필드 처리하는 방법, 쓰기 고려 (write concern) Atlas Core 클러스터 와 어떻게 다른지 설명합니다.

Atlas Infinite 클러스터 에서 저장 계층은 데이터를 저장하고 복제하며, 저장 계층이 데이터를 캡처하면 Atlas 쓰기 (write) 확인합니다.

Atlas Infinite 클러스터 에서 기본값 쓰기 고려 (write concern) w: "majority"입니다. 애플리케이션 은 연결 문자열 에서 또는 단일 쓰기 (write) 작업에 대해 쓰기 고려 (write concern) 를 설정합니다. Atlas UI 에서는 기본값 을 변경할 수 없습니다.

Atlas 애플리케이션 전송하는 모든 쓰기 고려 (write concern) 수락하고, 필요한 경우 이를 Atlas Infinite 클러스터 지원하는 값으로 수정하므로 애플리케이션의 쓰기 (write) 고려가 계속 작동합니다.

Atlas Infinite 클러스터 에서 Atlas 쓰기 고려 (write concern) 필드를 다음과 같이 처리합니다.

  • 애플리케이션 에서 다음을 사용하여 쓰기 (write) 승인 수준을 설정합니다. w:

    • 애플리케이션 w을 설정하다 하지 않으면 Atlas 기본값 인 w: "majority"을 적용합니다. Atlas Infinite 클러스터 에서 "majority"는 클러스터 노드의 과반수가 아닌 저장 계층 내의 과반수를 나타냅니다. Atlas w: "majority" 쓰기 (write) 롤백하지 않습니다.

    • 애플리케이션 에서 w을 0 또는 1로 설정하면 Atlas 애플리케이션 에서 설정한 값을 적용합니다. w: 0가 승인을 요청하지 않습니다. w: 1 쓰기 (write) w: "majority" 쓰기 (write) 보다 빨리 반환되지만, 드문 실패에서 Atlas 이를 롤백할 수 있습니다.

    • 애플리케이션 에서 w을 2 또는 2보다 큰 숫자로 설정하는 경우 Atlas w: "majority"을 적용합니다.

  • 애플리케이션 다음을 사용하여 시간 제한을 설정하다 수 있습니다. wtimeout ( 연결 문자열 의 wtimeoutMS )(단위: 밀리초)입니다. wtimeout은 기본값 사용하는 쓰기를 포함하여 w: "majority" 쓰기에 적용됩니다.

    • 애플리케이션 wtimeout을 설정하는 경우, Atlas 확인할 수 없는 쓰기 (write) 는 wtimeout 한도에 도달하면 쓰기 고려 (write concern) 오류를 반환합니다.

    • 애플리케이션 wtimeout을(를) 설정하다 하지 않으면 쓰기 (write) 무기한 대기하고 애플리케이션 차단합니다.

  • |서비스| 항상 적용 j: true. 저장 계층은 Atlas 이를 승인하기 전에 각 쓰기 (write) 노드의 메모리 외부에 유지합니다. 애플리케이션의 j 설정은 이 동작에 영향을 주지 않습니다.

쓰기 고려는 다음과 같은 점에서 Atlas Infinite 클러스터와 Atlas Core 클러스터 간에 다릅니다.

  • Atlas Infinite 클러스터 에서 w를 0, 1 또는 "majority"로 설정하다 . w: 1 및 w: "majority"의 경우, 저장 계층은 쓰기 (write) 보장 . w: 0의 경우, 저장 계층이 사용자의 쓰기 (write) 승인하지 않습니다. Atlas Core 클러스터 에서는 w을(를) 숫자로 설정하다 많은 노드의 승인을 요청할 수도 있습니다.

  • Atlas Infinite 클러스터 에서 Atlas 항상 j: true를 적용하며, 저널 승인을 비활성화할 수 없습니다. Atlas Core 클러스터 에서는 j: false을 사용하여 저널 승인을 해제할 수 있습니다.

Atlas Infinite 클러스터 에서 복제 저장 계층에서 처리되므로 oplog 컬렉션 local.oplog.rs 은 복제 제공 하지 않습니다. 컬렉션 변경 스트림과 제한된 기록이 필요한 일부 내부 기능을 제공합니다. 컬렉션 클러스터에 저장된 데이터에 포함됩니다.

  • 복제 시 oplog 컬렉션 사용하지 않습니다. Atlas Infinite 클러스터 에서 복제 저장 계층에서 발생하고, Atlas 여기에 oplog 컬렉션local.oplog.rs도 저장합니다. 모든 노드 저장 계층에서 읽기 때문에 클러스터 에 참여하거나 다시 참여하는 노드 oplog window 에 뒤쳐질 수 없습니다.자세한 학습 은 복제 및 페일오버를 참조하세요.

  • oplog 컬렉션 변경 스트림과 내부 기능을 제공합니다. local.oplog.rs은(는) 변경 스트림과 제한된 기록이 필요한 일부 내부 기능을 제공합니다. 보존 창 중단된 변경 스트림 다시 시작될 수 있는 시간을 결정하지만 클러스터 자체를 복원 할 수 있는 시간은 결정하지 않습니다. 이를 위해서는 특정 시점 복원을 사용합니다.

  • Atlas 항목을 보관하는 기간. Atlas 모든 oplog 항목을 최소 oplog 보존 창 동안 유지합니다. 항목이 창 보다 오래된 경우 Atlas 해당 항목을 삭제합니다. Atlas Infinite 및 Atlas Core에서 기본값 최소 oplog 보존 창 24시간입니다. Additional Settings에서 최소 oplog 보존 창 설정하다 클러스터 보관하는 기록의 양을 결정할 수 있습니다.

  • oplog 컬렉션 데이터 크기와 비용 에 미치는 영향. oplog 컬렉션 클러스터 에 대한 모든 쓰기 (write) 기록합니다. oplog 컬렉션 Atlas Core 클러스터 와 동일하게 클러스터 에 저장된 데이터 및 저장 비용에 반영됩니다. Atlas 연속 클라우드 백업을 위해 보관하는 기록은 백업 비용의 일부입니다. 해당 기록은 클러스터 저장 에 포함되지 않습니다. 자세한 학습 은 MongoDB Atlas 클러스터 무제한 비용을 참조하세요.

애플리케이션 은 코드 변경 없이 Atlas Infinite에서 실행됩니다. Atlas Infinite는 MongoDB 유선 프로토콜 사용하므로 애플리케이션 은 MongoDB 드라이버 및 기타 연결 방법을 사용하여 Atlas Infinite 클러스터 에 연결합니다. MongoDB 프로그래밍 도구를 사용하여 클러스터 에 액세스 하고 관리 할 수도 있습니다.