SAP HANA DB 시스템 복제 모드 및 작동 모드__Replication Modes and Operation Modes for SAP HANA DB

감귤은탱귤·2024년 3월 8일
1

SAP BC - 중급

목록 보기
9/13
post-thumbnail

SAP HANA DB 에서는 고가용성(HA) 을 위해 System Replication(시스템 복제) 기능을 제공한다.

기본(Primary) 시스템과 보조(Secondary) 시스템 사이에 Replication(복제) 을 통해 장애 상황 시, 빠른 Fail Over 와 데이터 손실을 최소화하는 것을 목적으로 한다.

기본 시스템 = Active/Primary DB
보조 시스템 = Standby/Secondary DB

System Replication 의 경우, 네트워크 처리량(또는 대역폭) 과 대기 시간(또는 왕복 시간) 의 요구 사항을 충족해야 한다.

SAP HANA 1.0 SPS 09 부터 보조 시스템으로 데이터를 보내기 전, 파일를 압축하여 네트워크 대역폭 요구 사항을 줄일 수 있다.
이는 기본 시스템과 보조 시스템의 물리적 거리가 멀거나, 대역폭 제한이 있는 경우 유용하다.
global.ini -> system_replication -> enable_log_compression / enable_data_compression


아래 SAP HANA DB 가 제공하는 Replication Modes 와 Operation Modes 에 대해서 서술한다.



1. Replication Modes

보조 시스템을 등록할 때, 사용할 Replication Mode 를 선택할 수 있다.
SAP HANA 에서는 Redo Log Replication 을 위해 아래와 같이 3가지 모드를 제공한다.


1-1. SYNC (Synchoronous on disk)

기본 시스템과 보조 시스템이 동일한 데이터 센터에 있거나 매우 근접한 거리(대략 100km 안) 에 존재할 경우 자주 사용되는 모드
보조 시스템의 디스크 I/O 속도가 복제모드 성능에 영향이 있기에 해당 부분도 고려해야한다.

  • 동작
    기본 시스템은, "보조 시스템에서 로그를 수신받아 디스크에 저장됐다는 응답"을 받은 후, 트랜잭션을 Commit 한다.

  • 지연
    기본 시스템은 데이터 전송 시간과 디스크 저장 시간만큼 트랜잭션을 지연시키는 대신, 두 시스템 간의 즉각적인 일관성을 보장한다.

  • 데이터 손실
    보조 시스템이 연결되어 있는 한, 데이터 손실이 발생하지 않는다.
    보조 시스템과의 연결이 끊어지면 기본 시스템은 트랜잭션 처리를 계속하고 변경 사항을 로컬 디스크에 기록한다.
    보조 시스템의 연결이 끊어져 있는 상태에서 Fail-Over 시, 데이터 손실이 발생할 수 있다.

Synchoronous - Full Sync Option

  • 활성화 : global.ini -> system_replication -> enable_full_sync = true
  • Full Sync 옵션은 기본 시스템과 보조 시스템 모두에서 Log Buffer 가 Log File 에 기록될 때, Log Write 가 성공했다고 인식한다.
  • SYNC 보다 데이터 손실에 더 강하지만, 아래와 같은 제약조건이 따른다.
    • 보조 시스템과의 연결이 끊어지면, 보조 시스템에 대한 연결이 다시 설정될 때까지 트랜잭션 처리를 일시 중지한다.
    • 따라서, 보조 시스템에 대한 연결이 중단되면 기본 사이트에서 쓰기 작업이 불가능해진다.

1-2. SYNCMEM (Synchoronous in-memory)

기본적으로 SYNC 와 비슷하나, 보조 시스템의 디스크 I/O 속도가 복제모드 성능에 영향을 주기 않기 때문에, 보조 시스템의 스펙이 기본 시스템에 비해서 떨어질때 고려할 수 있는 모드

  • 동작
    기본 시스템은, "보조 시스템에서 로그를 수신받아 메모리에 저장했다는 응답"을 받은 후, 트랜잭션을 Commit 한다.

  • 지연
    기본 시스템은 데이터 전송 시간만 트랜잭션을 지연시키기 때문에 SYNC 보다 지연 시간이 짧다.

  • 데이터 손실
    보조 시스템의 디스크 I/O 를 기다릴 필요가 없기 때문에 SYNC 보다 더 나은 성능을 제공하지만 데이터 손실에 조금 더 취약하다.

    • 기본 시스템과 보조 시스템에 동시에 장애가 발생한 경우
    • 보조 시스템을 사용할 수 없는 동안 Fail-Over 가 실행되는 경우

1-3. ASYNC (Asynchronous)

기본 시스템은 로그를 보조 시스템에 전송만 하고 응답을 받지 않으며, 보통 재해 복구(DR) 시나리오에서 사용되거나, 보조 시스템이 원거리에 있을때 고려할 수 있는 모드

  • 동작
    기본 시스템은, "보조 시스템의 응답을 기다리지 않고", 로그를 보낸 후 트랜잭션을 Commit 한다.

  • 지연
    기본 시스템은 트랜잭션을 바로 Commit 하기 때문에 지연이 없다.
    응답을 기다리기지 않기 때문에 보조 시스템의 로그/디스크 I/O 속도는 기본 시스템의 성능에 영향을 주지 않으며, 더 나은 성능을 제공한다.

  • 데이터 손실
    보조 시스템의 모든 서비스에 대해서 데이터베이스 일관성(Database consistency) 은 보장되나, 데이터 손실에 제일 취약하다.
    Fail-Over 중, 데이터 변경 사항이 손실될 수 있다.



2. Operation Modes

SAP HANA System Replication 를 실행할 작동 모드로 3가지를 제공한다.
구성된 작동 모드에 따라 데이터베이스는 다양한 유형의 데이터 패키지를 보조 시스템으로 전송한다.

공통적으로 System Replication 초기 구성시, 기본 시스템의 전체 데이터(스냅샷) 을 보조 시스템으로 전송하여 재구성한다.


2-1. delta_datashipping

지속적인 로그 전달 외에 설정된 간격마다(Default 10분) Delta Data 를 보조 시스템으로 전송한다.

보조 시스템은 기본 시스템으로 부터 전달받은 로그를 유지하지만, Fail-Over 전까지 로그를 사용하지 않는다.
다만 로그를 사용한 복원(Replay) 시간을 단축하기 위해 수시로 데이터 스냅샷(Delta Data) 이 보조 시스템으로 전송된다.

단점으로는 logreplay 모드에 비해서, 보조 사이트로 전송되는 데이터가 많으며(Delta Data), Fail-Over 시에 로그를 사용하여 복원을 하기 때문에 즉각적으로 기본 시스템을 대체할 수 없다.


2-2. logreplay

보조 시스템 초기 재구성 후, 기본 시스템에서 Redo Log 가 생성될 때마다 보조 시스템으로 전송된다.

보조 시스템에서는 Redo Log 를 전송 받는대로, 바로 바로 복원을 수행한다.
기본 시스템의 Log 로 계속 복원되므로, 기본 시스템의 장애가 발생하면 보조 시스템이 즉시 기본 시스템을 대체할 수 있다.

만약 보조 시스템과의 연결이 끊어질 경우, 기본 시스템은 보조 시스템으로 전송하지 못한 Log Segment 를 구성 가능한 최대 크기까지 보존하고, Log Segment 가 최대 크기에 도달할 때까지 보조 시스템과 연결이 되지않는다면, 보존한 Log Segment 를 회수하고 새 로그로 덮어쓴다.

이후 다시 보조 시스템과 연결되면 첫 동작과 마찬가지로 기본 시스템 스냅샷을 다시 전송하여 보조 시스템을 복원한다.

네트워크 대역폭이 충분하지 않다면, 초기 기본 시스템 전체 데이터(스냅샷) 전송에 많은 시간이 걸릴 수 있으나, 초기 전송만 완료한다면 Redo Log 만 전송하기 때문에 네트워크 트래픽이나 대역폭이 Delta-datashipping 에 비해서 많이 줄어든다.

대규모 시스템의 경우 다음 Notes 를 참고하여 SAP 권장 log replay 설정을 할 수 있다.

  • SAP Notes 2661878 - HANA System Replication log replay setting recommendations for large systems


2-3. logreplay_readaccess

이 모드는 Active/ Active(read enabled) 구성을 할때 사용된다.

거의 모든 동작이 logreplay 와 동일하나,
해당 모드를 사용하면 보조 시스템에 대한 직접 연결을 설정하거나, 기본 시스템에서 HINT 와 함께 SELECT 문을 제공하여, 보조 시스템에서의 읽기 엑세스가 가능해진다.

SAP HANA 2.0 이상에서 사용 가능하며, 기본 시스템과 보조 시스템의 HANA 버전이 동일해야 한다. 또한 추가 라이선스가 필요하다.

  • SAP Notes 2685661 - Licensing required for HANA System Replication


3. 전체적인 System Replication 작동

  • Replication Mode : SYNC
  • Operation Mode : logreplay

기본 시스템과 보조 시스템 사이의 처음 System Replication 설정 시, 보조 시스템은 기본 사이트의 SavePoint 를 기반으로한 데이터베이스 수준의 스냅샷(Full Data) 을 전달받아 재구성된다.

이 후, 보조 시스템은 Redo Log 를 전달받을 때마다 바로바로 복원을 한다. (logreplay)

보조 시스템은 로그를 전송받을 때마다 디스크에 해당 내용을 저장하고, 기본 시스템으로 처리 응답을 보낸다.
기본 시스템은 보조 시스템의 처리 응답을 확인 후, 트랜잭션을 Commit 한다. (SYNC)

profile
SAP BC (2019 ~ )

0개의 댓글