DB 운영 방식 (Primary, Replica)

송영재·2022년 12월 4일

Spring

목록 보기
36/45
post-thumbnail
  • Primary / Replica 운영방식
    • 쓰기 전용 DB (Primary) 와 읽기 전용 DB (Replica) 를 구분

    - Primary: 쓰기 전용
        - @Transactional 의 readOnly 속성
            
            ```java
            @Transactional(**readOnly = false**)
            ```
            
        - readOnly 를 코드에 적지 않으면, 기본값은 false
            
            ```java
            import org.springframework.transaction.annotation.Transactional;
            
            @Transactional
            public List<Folder> createFolders(List<String> folderNameList, User user) {
            ```
            
        - Write 된 Data (Create, Update, Delete) 가 Replica 로 Sync 됨 (Replication)
    
    - Replica (Secondary): 읽기 전용
        
        ```java
        @Transactional(**readOnly = true**)
        ```
        
    - 하지만, 위 개념은 스프링에 Primary DB endpoint, Replica DB endpoint 를 설정해야지만 가능!!
        
        

> 수십년 동안 통용되던 용어가 '노예제'와 관련된다는 이유로 대체됨

 마스터 (Master) → Primary
 슬레이브 (Slave) → Replica, Secondary

출처: [위키백과](https://ko.wikipedia.org/wiki/%EB%A7%88%EC%8A%A4%ED%84%B0/%EC%8A%AC%EB%A0%88%EC%9D%B4%EB%B8%8C_(%EA%B8%B0%EC%88%A0))
> 
  • Primary 에 문제가 생겼을 때

    • Replica 중 1개가 Primary 가 됨

0개의 댓글