
- 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 가 됨
