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

MongoDB Search 배포 옵션

The following sections describe deployment options for MongoDB Search on Atlas.

사전 프로덕션 또는 프로덕션 환경의 요구 사항을 충족하기 위해 다양한 배포서버 유형, cloud 제공자, 클러스터 계층으로 클러스터 구성할 수 있습니다. 이러한 권장 사항을 사용하여 벡터 검색 수행하기 위한 배포서버 유형, cloud 제공자 및 리전, 클러스터 및 검색 계층을 선택합니다.

환경
배포 유형
클러스터 계층
클라우드 제공자 리전
노드 아키텍처

쿼리 테스트

Flex 또는 전용 클러스터

로컬 배포서버

무료 클러스터, Flex 또는 상위 계층

해당 사항 없음

All

N/A

MongoDB and Search processes run on the same node.

프로토타입 애플리케이션

전용 클러스터, 샤딩 또는 비샤딩

M10, M20 이상 계층

모두

MongoDB and Search processes run on the same node.

프로덕션

별도의 검색 노드가 있는 전용 클러스터, 샤딩 또는 비샤딩

M10 이상 클러스터 계층 및 S20 이상 검색 계층

AWS and Azure in some regions or Google Cloud in all regions

MongoDB and Search processes run on different nodes.

커뮤니티 에디션

Self-managed deployment. You install and operate mongod and mongot yourself.

N/A. You provide your own hardware or cloud instances.

N/A. You choose your own infrastructure.

MongoDB and Search processes run on either a single or separate self-managed hosts.

다음 섹션에서는 각 환경을 설명합니다.

검색 쿼리를 테스트하고 애플리케이션을 프로토타입을 만드는 데는 다음 섹션에 설명된 배포 유형 및 노드 아키텍처가 권장됩니다.

이 구성은 다음과 같은 사용 사례에 가장 적합합니다.

  • 인덱스 할 총 문서 2M 미만

  • 10GB 미만의 인덱싱된 데이터

  • 7일 동안 10,000건 미만의 쿼리

사용량이 나열된 값을 초과하는 경우 전용 검색 노드로 마이그레이션하세요.

다음 섹션에서 이 노드 아키텍처를 더 자세히 설명합니다.

배포 유형

cloud 의 클러스터에서 MongoDB Search 쿼리를 테스트하려면 Flex 또는 전용 클러스터 배포 하면 됩니다.

To test MongoDB Search queries locally, create a local Atlas deployment using the Atlas CLI. This could be a single-node replica set hosted on your local computer. Local deployments are limited by the CPU, memory, and storage resources of your local machine. When your application is ready for production, migrate your local Atlas deployment to a production environment.

Cluster Tiers

MongoDB Search 쿼리를 테스트하려면 무료 클러스터(이전의 M0 클러스터) 및 Flex 클러스터를 사용하세요.

For prototyping your application, use dedicated M10, M20, and higher tier clusters or deploy dedicated Search Nodes for workload isolation. When your application is ready for production and to handle large datasets, scale to higher tiers.

클라우드 제공자 및 리전

지원되는 클라우드 공급자 리전을 사용하세요.

The cloud provider and region that you choose affect the configuration options available for the cluster tiers and the cost of running the cluster.

테스트 및 프로토타입 환경의 경우, MongoDB 프로세스와 MongoDB Search 프로세스가 동일한 노드 에서 실행 노드 아키텍처를 권장합니다. 이 배포서버 모델의 다음 다이어그램에서 MongoDB Search mongot 프로세스 Atlas cluster 의 각 노드 에서 mongod 와 함께 실행되며 동일한 리소스를 주식 .

MongoDB Search 아키텍처

기본값 으로 Atlas 첫 번째 MongoDB Search 인덱스 생성할 때 mongod 프로세스 실행하는 동일한 노드 에서 MongoDB Search mongot 프로세스 활성화합니다.

이 아키텍처에서 MongoDB Search가 쿼리를 처리하는 방법을 학습하려면 쿼리 처리를 참조하세요.

MongoDB Search 인덱스 에 저장된 소스 필드를 정의하여 mongot 프로세스 mongot에 지정된 필드를 저장 수 있도록 할 수 있습니다. 그런 다음 데이터베이스 에서 전체 문서 조회를 수행하는 대신 MongoDB Search 쿼리 에서 returnStoredSource 옵션 을 사용하여 일치하는 문서에 대한 저장된 필드를 mongot 에서 직접 조회 할 수 있습니다.

When you enable MongoDB Search, you can easily build search on top of your data with an integrated, fully managed search engine that automatically syncs to your database. MongoDB Search provides a rich query language that uses MongoDB Search aggregation pipeline stages like $search and $searchMeta for full-text search and $vectorSearch for semantic search in conjunction with other MongoDB aggregation pipeline stages, and score-based results ranking.

클러스터 에 프로비저닝된 리소스에 따라 동일한 노드 에 두 프로세스를 배포하는 것이 별도의 전용 노드 에서 검색 프로세스 실행 보다 비용 효율적일 수 있습니다.

You might experience resource contention between the database mongod and the search mongot processes. This could negatively impact the performance of your index and latency of your queries. To support production-ready applications and their search workloads migrate to dedicated Search Nodes.

클러스터 에서 MongoDB Search를 활성화 하면 추가 요금이나 요금이 부과되지 않습니다. 그러나 대규모 인덱싱된 컬렉션 또는 인덱스 정의의 경우 클러스터 의 리소스 사용률이 증가할 수 있습니다.

mongodmongot 프로세스가 모두 동일한 노드 에서 실행 특정 상황에서는 mongot 을(를) 사용하지 못할 수 있습니다. 다음 표에서는 잠재적인 원인에 대해 설명합니다.

원인
설명

클러스터 계층 확장 - 네트워크 스토리지

클러스터 확장하다 또는 축소하면 Atlas 새 인스턴스 프로비저닝합니다. 인스턴스 준비되면 Atlas 네트워크 저장 연결하고 새 노드에서 mongodmongot 를 모두 시작합니다.

mongodmongot보다 먼저 시작되면 mongot 가 실행 때까지 MongoDB Search 쿼리가 실패합니다.

클러스터 계층 확장 - 로컬 SSD

로컬 SSD 사용하여 Atlas cluster 확장하다 경우 저장 유지했다가 새 노드에 다시 연결할 수 없습니다. 따라서 Atlas 초기 동기화 수행하여 검색 인덱스를 다시 작성합니다. 초기 동기화 완료될 때까지 검색 쿼리가 실패합니다.

루센 다운그레이드

In rare cases where you require downgrading Lucene, you might not be able to read newer Lucene index formats.

스토리지 조정

Atlas cluster 노드에 연결된 네트워크 저장 유지할 수 있습니다. 이를 통해 mongot에 영향 않고 볼륨 용량 확장하거나 축소할 수 있습니다.

그러나 클러스터 로컬 NVMe 디스크를 사용하는 특정 리전 또는 기타 드문 상황에서는 네트워크 저장 유지하지 못할 수 있습니다. 이러한 경우 Atlas 초기 동기화 수행하며 초기 동기화 완료될 때까지 검색 쿼리가 실패합니다.

mongot 버전 업데이트

mongot 버전 업데이트 중에 Atlas mongot 의 이전 버전을 중지하고 새 버전을 시작합니다. 이 짧은 기간 동안에는 새 mongot 가 작동할 때까지 검색 쿼리가 실패합니다.

mongod 노드

클러스터 에 새 노드 추가하면 Atlas 초기 동기화 수행하여 검색 인덱스를 생성합니다. 새 mongod 노드 사용하는 검색 쿼리는 초기 동기화 완료될 때까지 실패합니다.

인스턴스 재부팅 또는 교체

  • 새로운 보안 정책 롤아웃 중 또는 cloud 제공자 요구하는 경우 Atlas 인스턴스 가 재부팅될 수 있습니다. Atlas 재부팅되는 동안 mongot 이전에 mongod 이(가) 시작되면 mongot 이 (실행 때까지 검색 쿼리가 실패합니다.

  • hardware 비정상이거나 시스템 아키텍처를 마이그레이션한 경우 Atlas 인스턴스 교체해야 할 수 있습니다. 인스턴스 대체하면 mongot 이 초기 동기화 수행하고 초기 동기화 완료될 때까지 검색 쿼리가 실패합니다.

mongot 다시 시작

mongot 프로세스가 구성 변경으로 인해 다시 시작될 때마다 mongot이 사용 가능해질 때까지 검색 쿼리가 실패합니다.

프로덕션 준비가 완료된 애플리케이션의 경우, 다음 섹션에 설명된 배포 유형 및 노드 아키텍처를 사용하는 것이 좋습니다.

이 구성은 다음과 같은 사용 사례에 가장 적합합니다.

배포 유형

프로덕션 준비가 완료된 애플리케이션의 경우 M10, M20 및 상위 전용 클러스터 계층을 사용하세요. 이러한 더 높은 계층의 클러스터는 대용량 데이터 세트와 프로덕션 워크로드를 처리할 수 있습니다.

We recommend that you also deploy dedicated Search Nodes. If your search requirements increase, you can scale up your search deployment independently of scaling up the MongoDB nodes.

클라우드 제공자 및 리전

Use Search Nodes in all Google Cloud regions and in a subset of AWS and Azure regions. You must select a cloud provider and region where Search Nodes are available for your deployment.

All cluster tiers are available in supported cloud provider regions. The cloud provider and region that you choose affect the configuration options and search tiers available for the cluster and the cost of running the cluster.

프로덕션 환경의 경우, MongoDB 프로세스와 MongoDB Search 프로세스가 별도의 노드에서 실행 노드 아키텍처를 권장합니다. 별도의 검색 노드를 배포 하려면 전용 검색 노드로 마이그레이션을참조하세요.

이 배포서버 모델의 다음 다이어그램에서 MongoDB Search mongot 프로세스 mongod 프로세스 실행되는 클러스터 노드와는 별도의 전용 검색 노드에서 실행됩니다.

별도의 검색 노드 아키텍처

Atlas는 각 클러스터 또는 클러스터의 각 샤드에 대해 검색 노드를 배포합니다. 예를 들어 샤드가 3개인 클러스터에 검색 노드 2개를 배포하면, Atlas는 검색 노드를 6개(샤드당 2개) 배포합니다. 또한 검색 노드 수와 각 검색 노드에 프로비저닝된 리소스의 양을 구성할 수도 있습니다.

이 아키텍처에서 MongoDB Search가 쿼리를 처리하는 방법을 학습하려면 쿼리 처리를 참조하세요.

MongoDB Search 인덱스 에 저장된 소스 필드를 정의하여 mongot 프로세스 mongot에 지정된 필드를 저장 수 있도록 할 수 있습니다. 그런 다음 데이터베이스 에서 전체 문서 조회를 수행하는 대신 MongoDB Search 쿼리 에서 returnStoredSource 옵션 을 사용하여 일치하는 문서에 대한 저장된 필드를 mongot 에서 직접 조회 할 수 있습니다.

별도의 검색 노드를 배포하면 다음과 같은 이점이 있습니다.

고가용성
별도의 검색 노드를 배포할 때 Atlas는 장애나 중단 시 최소한의 다운타임으로 작업 부하가 계속 작동하도록 최소 두 개의 검색 노드를 작용합니다.
확장성

별도의 검색 노드를 배포하면 MongoDB 클러스터와 독립적으로 스토리지와 컴퓨팅을 확장할 수 있습니다. 이를 통해 쿼리 부하를 MongoDB와 독립적으로 확장할 수도 있습니다.

검색 노드를 수평으로 확장하다 하려면 검색 노드 수를 늘리거나 줄입니다. 최소 2 개에서 최대 32 개의 검색 노드까지 프로비저닝할 수 있습니다. 쿼리 로드의 균형을 맞추기 위해 MongoDB Search는 사용 가능한 모든 검색 노드에 검색 쿼리를 분산합니다.

검색 노드를 수직으로 확장하려면, 전체 텍스트 워크로드를 지원하는 다양한 검색 계층, CPU, RAM 및 스토리지 구성을 선택하세요.

성능

전용 검색 노드를 배포하면 mongodmongot 프로세스 모두에 대한 성능 및 리소스 사용률이 향상되고 이러한 프로세스 간의 리소스 경합이 제거됩니다.

전용 검색 노드는 MongoDB Search가 여러 인덱스 세그먼트를 동시에 검색 할 수 있는 동시 세그먼트 검색 지원 . 경우에 따라 동시 세그먼트 검색 사용하면 쿼리 응답 시간이 향상됩니다.

워크로드 격리
전용 검색 노드를 배포해도 기본 데이터베이스 노드로의 데이터 전송 에는 직접적인 영향을 미치지 않습니다. 검색 노드는 기본 데이터베이스 작업과 별도로 검색 쿼리를 처리하다 워크로드 격리 하는 동시에 검색 노드와 데이터베이스 노드 간의 트래픽에 대해서만 네트워크 요금을 부과합니다.

검색 노드의 메모리 요구 사항을 확인하려면 다음 Atlas 지표를 사용하세요.

  • 검색 인덱스의 크기

  • 검색 노드의 총 RAM

검색 노드에 10GB 검색 인덱스와 총 4GB RAM이 있는 애플리케이션을 가정해 보겠습니다. 이 경우 다른 프로세스에서 1GB의 RAM을 사용하고 인덱스 데이터에 3GB만 사용할 수 있다면, 인덱스 데이터의 나머지 7GB(10GB - 3GB = 7GB)는 필요에 따라 디스크에서 페이징됩니다. 디스크에서 페이징이 빈번하게 이루어지면 페이지 오류, 디스크 I/O, CPU IOWait가 증가하여 성능 저하가 초래됩니다.

RAM이 더 많은 상위 검색 클러스터 계층(예: 8GB 이상)을 사용하면, Atlas가 메모리에서 검색 인덱스의 데이터를 대부분 제공하여 디스크 읽기와 페이지 오류를 최소화하고 성능을 개선할 수 있습니다.

참고

The local SSDs used for Search Nodes require a 20% storage overhead to support index operations.

MongoDB supports separate Search Nodes on dedicated (M10 or higher) clusters. Search Nodes are deployed on compute-intensive instances with high-performance local storage. You must deploy a minimum of two nodes. You will be billed daily for hourly resource usage per node. To learn more, see Search Node Costs.

기본값으로 MongoDB와 검색 프로세스 는 동일한 노드에서 실행. 이 아키텍처에서는 고객 관리 암호화 데이터베이스 데이터에 적용되지만 검색 인덱스에는 적용 되지 않습니다.

When you enable dedicated Search Nodes, search processes run on separate nodes. This allows you to enable Search Node Data Encryption, so you can encrypt both database data and search indexes with the same customer-managed keys for comprehensive encryption coverage.

참고

데이터베이스 노드와 검색 노드는 동일한 고객 관리형 키를 사용하여 서로 다른 암호화 방법을 사용합니다. 데이터베이스 노드는 WiredTiger 암호화됨 스토리지 엔진을 사용하고 검색 노드는 디스크 수준에서 암호화 사용합니다.

자세한 내용은 검색 노드에 대한 고객 키 관리 활성화를 참조하세요.

중요

이 기능은 KMS 제공자 전반에서 사용할 수 있지만 검색 노드는 AWS에 있어야 합니다.

새 클러스터에 전용 검색 노드를 추가하면 다음을 수행할 수 있습니다.

  • 데이터베이스 배포와 독립적으로 Atlas Search 배포의 크기를 조정하고 확장할 수 있습니다.

  • 동일한 노드에서 MongoDB 데이터베이스와 검색 프로세스를 모두 실행하는 클러스터에서 발생할 수 있는 리소스 경합을 제거합니다.

To deploy dedicated Search Nodes, you must have Project Owner access to the project.

전용 검색 노드를 추가하려면:

  1. Create your cluster as an M10 or higher tier in a cloud provider and region that supports node isolation. To learn more, see Create a Cluster.

    Dedicated Search Nodes are supported only for M10 and higher cluster tiers and in cloud provider regions that support node isolation.

  2. Enable Search Nodes for workload isolation and Configure Search Nodes.

스테이징에서 프로덕션으로 마이그레이션 하고 전용 검색 노드를 추가하려면 기존 스테이징 및 프로토타입 배포서버 를 다음과 같이 변경합니다.

  1. If your deployment uses a Flex cluster, change the cluster tier to a higher tier. Dedicated Search Nodes are supported only for M10 and higher cluster tiers.

  2. Deploy your cluster in regions where Search Nodes are also available. Dedicated Search Nodes are available on a subset of the AWS and Azure regions and in all supported Google Cloud regions. If your existing cluster is hosted in regions where Search Nodes aren't available, migrate your cluster to regions where Search Nodes are available. To learn more, see Cloud Provider Regions that Support Node Isolation.

  3. Enable Search Nodes for workload isolation and configure Search Nodes. To learn more, see Add Search Nodes.

    전용 검색 노드를 배포 하면 다음과 같은 일련의 작업이 수행됩니다.

    • Atlas는 검색 노드에서 검색 인덱스를 생성하고 클러스터 노드에서 검색 인덱스를 제거합니다.

    • Atlas는 검색 쿼리를 검색 노드로 라우팅합니다.

    • MongoDB Search는 검색 인덱스를 사용하여 클러스터 에 대한 쿼리를 제공 .

mongotmongod와 함께 실행하도록 배포하고 검색 노드를 구성하지 않으면, 다음 이벤트 중 하나에서 mongot가 종료되고 Failed to Execute search Command 오류를 반환할 수 있습니다.

  • 클러스터 확장

  • 노드 페일오버

  • 업그레이드 중 mongot

전용 검색 노드에 mongot를 배포하면, mongod는 프록시를 사용하여 mongot 프로세스가 활성화된 정상 노드로만 검색 쿼리를 라우팅합니다.

If you run MongoDB Search on MongoDB Community Edition or another self-managed deployment, Atlas does not manage mongot for you. Instead, you install, configure, and operate mongot yourself. The following sections summarize the available architecture patterns and sizing options. For complete deployment and sizing guidance, see MongoDB Search and MongoDB Vector Search on Self-Managed Deployments and Introduction to mongot Deployment Sizing.

As with MongoDB Search on Atlas, self-managed deployments use one of the same two architecture patterns: co-located or dedicated. The only exception is that on self-managed deployments, you provision and manage the hosts yourself.

Unlike Atlas, self-managed deployments have no predefined cluster or search tiers. You provision your own hardware or cloud instances. To choose a starting configuration and refine it based on your workload, see Introduction to mongot Deployment Sizing.