지난 포스팅 SAP HANA DB - Memory Architecture 에서 Memory Architecture에 대해 간략히 알아보았습니다. 그럼 이번 포스팅에서는 Used Memory에 대해 좀 더 깊이 알아보도록 하겠습니다.
우선 Used Memory는 HANA DB에서 현재 실제로 사용하고 있는 메모리라고 했는데요, Used Memory는 아래 그림과 같이 Code and Stack, System Tables, Row Tables, Column Tables, Database Management로 구분할 수 있습니다.
각각에 대해 살펴보도록 하죠.
1. Code and Stack
대략 6GB (대개 10GB 미만)의 메모리를 차지하는 HANA DB 프로그램 영역입니다. HANA DB 메모리 영역에서 큰 부분을 차지하지 않으니 크게 신경 쓰지 않아도 됩니다.
2. System Tables
Table, User, Data Dictionary와 같은 System View 등에 대한 정보를 가지고 있는 System Table이 저장되는 공간입니다. System Table들은 Row Store로 되어 있을 수도 있고, Column Store로 되어 있을 수도 있습니다.
3. Row Tables
Row Table을 담고 있는 공간입니다. 이전 포스팅에서 언급했듯이 Row table들은 메모리 Unload가 불가능하기 때문에 메모리에 상주하고 있습니다.
4. Column Tables
Column Table 공간은 Main Storage 영역과 Delta Storage 영역으로 나뉩니다. Main Storage 영역은 Read Operation에 최적화 되어 있고, Delta Storage 영역은 Write Operation이 이루어지는 영역입니다. Delta Merge가 발생하면 복제가 발생하기 때문에 약 2배 가량 늘어날 수 있는데요, 이 말은 Delta Merge가 이루어지는 동안에는 메모리 사용량이 늘어날 수 있다는 의미입니다.
5. Database Management and Temporary computation
DB 관리를 위한 Database Management 공간과 DB 작업에 사용될 Temporary computation 영역입니다. 특히 Temporary computation 공간은 모니터링 할 때 유심히 보아야 하는 영역으로, Workspace라고도 불립니다.
이 Workspace는 다시 Heap memory 영역과 Shared Memory 영역으로 나뉩니다.
Heap Memory 영역은 특정 프로세스에 할당해주는 영역이며, Shared Memory 영역은 여러 프로세스 간의 공유를 위해 사용됩니다.
각각의 영역이 가지고 있는 데이터는 다음과 같습니다.
(1) Heap Memory
- Column store
- Row store indexes
- Intermediate results
- Temporary structures
- SAP HANA page cache
(2) Shared Memory
- Specific row store components (tables, catalog, free)
- Nameserver topology
주저리주저리 떠들었는데, 이렇게 이론적인 것만 보게 되면 실제로 뭘 어떻게 해야 하는지 애매하게 느껴질 수 있습니다. 그래도 각각의 용어가 무엇을 의미하는 지에 대해 알아야 모니터링을 할 때에도 이해가 되기 때문에 이렇게 포스팅을 준비하게 됐습니다.
SAP HANA DB - Monitoring (SQL Statements Collection) 포스팅에서 SQL Statement를 사용해서 모니터링 하는 방법에 대해 알아보았었는데, 이외에 HANA Studio, T-Code ST04(S/4HANA일 경우)를 사용해서 직관적으로 모니터링하는 방법에 대해서도 곧 포스팅하겠습니다.
참고자료:
https://www.sap.com/documents/2016/08/205c8299-867c-0010-82c7-eda71af511fa.html
https://blogs.sap.com/2017/01/03/hana-memory-usage-details-part-1-shared-memory/
https://blogs.sap.com/2017/01/03/hana-memory-usage-details-part-2-heap-memory/
'SAP HANA' 카테고리의 다른 글
SAP HANA DB - Row Store / Column Store (0) | 2022.03.06 |
---|---|
HANA Studio 접속 오류 (Invalid Credential) (0) | 2021.10.27 |
SAP HANA DB - Memory Architecture (0) | 2021.06.28 |
SAP HANA DB - Replication Mode (0) | 2021.03.01 |
SAP HANA SDI (Smart Data Integration) (0) | 2021.03.01 |