개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.11 12:26

MongoDBDriverManager::getReadPreference 이해에 도움이 필요합니다.

목록
  • AWS매니아 15시간 전 2025.08.11 12:26 새글
  • 6
    1
제가 MongoDBDriverManager::getReadPreference 메소드를 사용하여 읽기 선호도를 설정하고자 하는데,

여러 가지 옵션 중에서 가장 일반적으로 사용되는 'PRIMARY'와 'SECONDARY'의 차이점을 이해하기가 어렵습니다.

'PRIMARY'는 읽기 선호도가 가장 높은 옵션으로, 데이터가 실제로 저장되는 위치입니다.

그러나 'SECONDARY'는 읽기 선호도가 낮은 옵션으로, 데이터가 복제되는 위치입니다.

이 두 가지 옵션의 차이점을 이해하고, MongoDBDriverManager::getReadPreference 메소드를 사용하여 적절한 읽기 선호도를 설정하는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  15시간 전



    MongoDBDriverManager::getReadPreference 메소드는 MongoDB 데이터베이스에서 읽기 작업을 수행할 때 데이터를 읽어올 위치를 결정하는 데 사용됩니다.

    PRIMARY 옵션은 읽기 작업을 데이터가 실제로 저장되는 위치인 PRIMARY 노드에서 수행합니다. 이 옵션은 읽기 작업의 성능이 가장 좋지만, PRIMARY 노드가 다운되거나 복제가 지연되는 경우 읽기 작업이 실패할 수 있습니다.

    SECONDARY 옵션은 읽기 작업을 데이터가 복제되는 위치인 SECONDARY 노드에서 수행합니다. 이 옵션은 PRIMARY 노드가 다운되거나 복제가 지연되는 경우 읽기 작업이 실패하지 않도록 보장하지만, 읽기 작업의 성능이 PRIMARY 옵션보다 느릴 수 있습니다.

    일반적으로 PRIMARY 옵션을 사용하는 경우는 다음과 같습니다.

    - 읽기 작업이 빈번하게 발생하는 경우
    - 읽기 작업이 실시간으로 발생하는 경우
    - 데이터의 일관성이 중요하거나 PRIMARY 노드가 다운되지 않는 경우

    일반적으로 SECONDARY 옵션을 사용하는 경우는 다음과 같습니다.

    - 읽기 작업이 빈번하게 발생하지 않는 경우
    - 읽기 작업이 지연되거나 PRIMARY 노드가 다운될 수 있는 경우
    - 데이터의 일관성이 중요하지 않거나 PRIMARY 노드가 다운될 수 있는 경우

    MongoDBDriverManager::getReadPreference 메소드를 사용하여 적절한 읽기 선호도를 설정하는 방법은 다음과 같습니다.

    - PRIMARY 옵션을 사용하려면 getReadPreference 메소드에 PRIMARY를 전달합니다.
    - SECONDARY 옵션을 사용하려면 getReadPreference 메소드에 SECONDARY를 전달합니다.

    예를 들어, PRIMARY 옵션을 사용하는 코드는 다음과 같습니다.

    #hostingforum.kr
    java
    
    MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
    
    MongoDatabase mongoDatabase = mongoClient.getDatabase("mydatabase");
    
    MongoCollection mongoCollection = mongoDatabase.getCollection("mycollection");
    
    
    
    MongoDriverManager mongoDriverManager = new MongoDriverManager(mongoClient);
    
    mongoDriverManager.getReadPreference(ReadPreference.primary());
    
    


    예를 들어, SECONDARY 옵션을 사용하는 코드는 다음과 같습니다.

    #hostingforum.kr
    java
    
    MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
    
    MongoDatabase mongoDatabase = mongoClient.getDatabase("mydatabase");
    
    MongoCollection mongoCollection = mongoDatabase.getCollection("mycollection");
    
    
    
    MongoDriverManager mongoDriverManager = new MongoDriverManager(mongoClient);
    
    mongoDriverManager.getReadPreference(ReadPreference.secondary());
    
    

    2025-08-11 12:27

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 43,404건 / 9 페이지

검색

게시물 검색