Q&A
SAP HANA와 S/4HANA Basis 관련한 질문과 답을 나누는 곳입니다.
Re:SAP HANA DB 메모리 관리 문의
작성자
박성두
작성일
2019-11-01 10:40
조회
1298
Q1. 메모리 용량 증설의 근거자료를 위해 복잡한 연산을 수행하면서 할당되는 총 메모리의 용량을 확인하는 방법이 있을까요?
(현재는 가장 무거운 작업을 먼저 끝내고, 메모리를 확보하고 또 다음 작업을 수행합니다)
메모리를 구성하는 내역은 크게 3가지로 구분됩니다.
1. Table Data (Row Store + Column Store + System Tables)
2. Code and Stack
3. Database Management / Working Space (heap and shared memory)
여기에서 3번에 대당하는 영역이 실제로 연산을 수행하면서 수행되는 영역입니다.
실제 연산을 수행하는 영역을 크게 Work space라고 합니다.
내용을 확인하고 싶으시면 Note 1969700에서 첨부파일 에서 SQL 쿼리를 수행하면 됩니다.
첨부파일을 다운로드 하고 “HANA_Memory_TopConsumers” 내용을 수정하여 Query를 수행하면 확인 할수 있습니다.
“HANA_Memory_TopConsumers”의 내용중에 modification section 부분에서 AGGREGATE_BY = ‘AREA’ 으로 변경하고
수행하면 결과가 4가지 형태로 나옵니다.
Column 은 colum store 테이블
Heap 은 연산을 수행하는 영역 => 지금 궁금해 하는 영역입니다.
Row 은 Row stoe 테이블
Stack 은 6GB 이하라 무시하도 되는 영역
Q2. 현재의 상태에서 메모리 관리에 적합한 방법이 없을까요?
(메모리 증설이 답이겠지만요...)
우선 할 수 있는 방법은 사용하지 않는 Column 테이블을 unload하는 방법입니다.
테이블을 unload하는 것은 HANA Studio에서 할수 있고 아래와 SQL Query로도 할수 있습니다.
>LOAD [Table-Name]
>UNLOAD [Table-Name
또 한가지는 HANA DB가 메모리를 unload하는 우선 순위를 변경하는 방법이 있습니다.
메모리로 내려오는 순서를 변경하여 중요도가 떨어지는 테이블을 우선순위를 낮추는 방법도 있습니다.
이것은 권장하지 않는 방법은 아닙니다.
테이블에 대한 우순순위 확인
select table_name, unload_priority from sys.tables
우선순위 변경하는 Query
ALTER TABLE "테이블이름" UNLOAD PRIORITY;
아래 노츠도 참고하세요.
2127458 - FAQ: SAP HANA Loads and Unloads
(현재는 가장 무거운 작업을 먼저 끝내고, 메모리를 확보하고 또 다음 작업을 수행합니다)
메모리를 구성하는 내역은 크게 3가지로 구분됩니다.
1. Table Data (Row Store + Column Store + System Tables)
2. Code and Stack
3. Database Management / Working Space (heap and shared memory)
여기에서 3번에 대당하는 영역이 실제로 연산을 수행하면서 수행되는 영역입니다.
실제 연산을 수행하는 영역을 크게 Work space라고 합니다.
내용을 확인하고 싶으시면 Note 1969700에서 첨부파일 에서 SQL 쿼리를 수행하면 됩니다.
첨부파일을 다운로드 하고 “HANA_Memory_TopConsumers” 내용을 수정하여 Query를 수행하면 확인 할수 있습니다.
“HANA_Memory_TopConsumers”의 내용중에 modification section 부분에서 AGGREGATE_BY = ‘AREA’ 으로 변경하고
수행하면 결과가 4가지 형태로 나옵니다.
Column 은 colum store 테이블
Heap 은 연산을 수행하는 영역 => 지금 궁금해 하는 영역입니다.
Row 은 Row stoe 테이블
Stack 은 6GB 이하라 무시하도 되는 영역
Q2. 현재의 상태에서 메모리 관리에 적합한 방법이 없을까요?
(메모리 증설이 답이겠지만요...)
우선 할 수 있는 방법은 사용하지 않는 Column 테이블을 unload하는 방법입니다.
테이블을 unload하는 것은 HANA Studio에서 할수 있고 아래와 SQL Query로도 할수 있습니다.
>LOAD [Table-Name]
>UNLOAD [Table-Name
또 한가지는 HANA DB가 메모리를 unload하는 우선 순위를 변경하는 방법이 있습니다.
메모리로 내려오는 순서를 변경하여 중요도가 떨어지는 테이블을 우선순위를 낮추는 방법도 있습니다.
이것은 권장하지 않는 방법은 아닙니다.
테이블에 대한 우순순위 확인
select table_name, unload_priority from sys.tables
우선순위 변경하는 Query
ALTER TABLE "테이블이름" UNLOAD PRIORITY
아래 노츠도 참고하세요.
2127458 - FAQ: SAP HANA Loads and Unloads
전체 84