본문 바로가기

Database

[HANA] 2700084 - FAQ: SAP HANA Persistent Memory

https://launchpad.support.sap.com/#/notes/2700084

 

Persistent memory overview

  •  주요 특징
    • Persistent memory에 있는 데이터는 DRAM에 중복으로 존재하지 않음
      • Persistent memory에 있는 Column store main store는 DRAM에 저장 되니 않음
      • 전체적인 메모리의 크기는 변하지 않음
    • DB restart나 crash의 경우에 유요하게 사용 가능

 

 

파라미터 설정

  • memorymanager section
    • global.ini -> [memorymanager] -> global_allocation_limit
      • Unit = MB 
      • Memory의 DRAM 부분만 관장함
      •  Persistent memory를 사용하는 경우와 비교하면 더 낮은 값으로 설정 필요
    • global.ini -> [memorymanager] -> persistent_memory_global_allocation_limit
      • Unit = MB
      • Persistent memory의 최대 크기의 한계를 설정
      • 기존의 persistent memory와 달리 크기가 동적이기 때문에 Fast Restart Option에서 유용

 

  • persistence section
    • global.ini -> [persistence] -> basepath_persistent_memory_volumes
      • Persistent memory의 file system 위치
      • 여러 개의 위치 설정 가능 (semi-colon으로 구분)
        • NUMA node에 해당하는 다수의 위치 설정 가능
      • 파라미터 변경 시 DB restart 필요
      • 모든 데이터는 다시 reloaded 됨
      • HANA2.0 SPS04부터 자동으로 이전 persistent memory 내용을 delete 함

 

  • persistent_memory section 
    • global.ini -> [persistent_memory] -> out_of_persistent_memory_mode
      • Table optimization 시 새로운 main storage가 부족한 경우 다음과 같이 작동함
        • fail : Terminates with error "[2201] Not enough persistent memory available"
        • remain: Continues and uses DRAM for columns that don't fit into persistent memory
        • auto: Behaves like 'fail' in case of persistent memory and like 'remain' in case of fast restart option
    • global.ini -> [persistent_memory] -> table_default
      • global level로 persistent memory의 utilization을 control
        • on: persistent memory is default for all column store tables
        • off: persistent memory isn't used per default (activation via ALTER possible on individual levels, e.g. for specific tables)
        • default: no explicit behavior, follow the existing default
    • global.ini -> [persistent_memory] -> table_unload_action
      • Table unload 시 option
        • table_unload_action = retain: Main storage remains (default for persistent memory)
        • table_unload_action = delete: Main storage is cleared (default for fast restart option, see below)