1. Savepoint란?
데이터 변경분을 메모리에서 디스크로 옮기는 시점이다.
변경된 데이터는 정기적인 Savepoint 때 메모리에서 디스크로 자동으로 저장된다.
Savepoint 중에도 트랜잭션은 정상적으로 동작하며, 새로운 트랜잭션도 처리 가능하다.
Savepoint는 기본값으로 5분 주기 실행된다.
※ Savepoint 주기 파라미터 : global.ini -> [persistence] -> savepoint_interval_s
※ 기본 주기 외에 Savepoint가 Trigger되는 시점
- startup
- soft shutdown
- backup
- snapshot
- reclaim datavolume
- auto merge function (mergedog)
- manual
2. Redo log buffer
모든 데이터 변경사항은 redo log buffer 내의 log segment에 쓰여진다.
트랜잭션이 커밋되면 log segment의 내용은 디스크로 저장된다.
또한 커밋되지 않았더라도, redo log buffer가 꽉 차면 디스크에 쓰여진다.
3. Savepoint의 이점
HANA System을 재시작 할 때, Log를 처음부터 처리할 필요가 없어진다. Savepoint 시점 이후부터 처리하면 되기 때문에 재시작이 빨라진다.
4. Savepoint와 Snapshot
Savepoint는 일반적으로 이전 Savepoint들을 덮어쓴다. 하지만 이후에 다시 이 Savepoint 시점을 사용하기 위해 남겨놓기도 하는데, 이것이 Snapshot이다.
5. Long running Delta merge와 savepoints
만약 Delta Merge가 300초 이상으로 길게 실행된다면, 다음에 실행할 Savepoint가 Block되기 때문에 시스템은 다른 모든 변경작업을 막으며 System Hang이 발생한다.
평소에 Delta Merge가 수행되는 데 드는 시간을 체크해봐야 하며, 보통 Column Table의 Delta Storage가 클 경우 Delta Merge가 수행되는 데에 오래 걸릴 수 있다.
이 경우, Delta Storage가 크게 된 이유에 따라 조치가 필요할 수 있다.
※ 참고 : SAP Note 1977314 - How to handle HANA Alert 29: 'Size of delta storage of column-store tables' (https://launchpad.support.sap.com/#/notes/1977314)
참고자료:
https://blogs.sap.com/2019/12/26/hana-savepoint-details/
https://launchpad.support.sap.com/#/notes/1977314
'SAP HANA' 카테고리의 다른 글
SAP HANA Studio ADT 설치 (ABAP Development Tools) (0) | 2022.06.30 |
---|---|
SAP HANA DB - Replication Mode (0) | 2022.04.24 |
데이터베이스에서 ACID란? (0) | 2022.04.05 |
SAP HANA DB - Workload 관리 - Statement Memory Limit (0) | 2022.04.05 |
SAP HANA DB - 메모리 관련 파라미터들 (0) | 2022.04.04 |