SAP HANA DB - Replication Mode
1. SYNCMEM (Synchronous in-memory)
Primary System은 트랜잭션의 로그가 Secondary System의 메모리까지 쓰여졌다는 응답을 받은 후에 트랜잭션을 커밋(Commit)한다. (Secondary System이 해당 로그를 디스크에 쓰는 것은 고려하지 않음)
Primary System의 트랜잭션에 대한 딜레이(지연) 시간이 적다.
Secondary System에 연결이 끊겨도 Primary System은 Transaction을 계속해서 수행하고, 변경사항은 오직 로컬 디스크에만 쓰여진다.
※ SYNCMEM 모드일 때 데이터 손실이 일어나는 경우
- Secondary System에 연결되어 있는 동안 Primary와 Secondary가 동시에 다운되었을 때 (데이터가 Primary와 Secondary 디스크 모두에 저장되지 않음)
- Secondary System이 동작 불능인 상태에서 Takeover를 수행했을 때
2. SYNC (Synchronous on disk)
Primary System은 트랜잭션의 로그가 Secondary System의 디스크까지 쓰여졌다는 응답을 받은 후에 트랜잭션을 커밋(Commit)한다.
이 옵션은 Primary와 Secondary 간의 일치성을 보장하지만 성능 지연이 발생할 수 있다.
Secondary System에 연결이 끊겨도 Primary System은 Transaction을 계속해서 수행하고, 변경사항은 오직 로컬 디스크에만 쓰여진다.
Secondary System이 연결되어 있는 한 데이터 손실은 없다.
※ SYNC 모드일 때 데이터 손실이 일어나는 경우
- Secondary System이 동작 불능인 상태에서 Takeover를 수행했을 때
3. Full SYNC (SYNC Mode에서 Full Sync option을 활성화)
Secondary System에 연결이 끊기면 Primary System은 Transaction 처리를 중지한다.
Secondary System이 다시 연결된 후에 Primary System은 Transaction 처리를 이어간다.
어떠한 데이터 손실도 없다.
4. Async (Asynchronous)
Primary System은 트랜잭션의 로그를 Secondary System으로 보내지만 응답을 기다리지 않는다. (어떠한 딜레이도 없음)
Primary System은 성능 상 전혀 영향을 받지 않지만, 데이터 손실에 취약하다.
Takeover 시에 데이터 손실이 발생할 수 있다.
참고자료: