반응형
Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

세상 모든 잡동사니 집합소 스레TV

[DB][HANA] Data aging & NSE 본문

기술/HANA DB

[DB][HANA] Data aging & NSE

스레TV 2025. 4. 27. 14:23
728x90
반응형

🧩 Data Aging의 목적

  • 메모리 최적화: SAP HANA는 인메모리 데이터베이스이므로 데이터를 메모리에 올리기 위한 자원이 많이 필요합니다. Data Aging을 활용하면 오래된 데이터는 디스크로 이동시켜 메모리 자원을 절약할 수 있습니다.
  • 성능 유지: 데이터를 주기적으로 정리하고 이동시킴으로써 시스템 성능을 오랜 시간 동안 안정적으로 유지할 수 있습니다.
  • 스토리지 비용 절감: 자주 사용되지 않는 데이터는 저비용 디스크 저장소로 옮겨 물리적 하드웨어 자원 비용을 절감할 수 있습니다.

🧠 Data Aging의 작동 원리

  1. 데이터 수명 주기 설정: 데이터가 활발하게 사용되는 시점(핫 데이터)과 거의 사용되지 않는 시점(웜 데이터 또는 콜드 데이터)을 정의합니다.
    • 예를 들어, 최근 1개월의 데이터는 메모리에 유지하고, 그 이후의 1년 데이터는 디스크로 이동시킬 수 있습니다.
  2. 데이터 이동:
    • HANA는 자동으로 설정된 기준에 따라 데이터를 이동시킵니다.
    • 자주 사용되지 않는 데이터를 **디스크(혹은 외부 스토리지)**로 이동시켜 메모리 공간을 확보하고, 다시 필요할 때 메모리에 올립니다.
  3. 주기적 관리: 데이터는 주기적인 데이터 에이징 작업에 의해 관리되며, 사용자가 지정한 수명 주기 기준에 따라 자동으로 테이블, 파티션, 행 단위로 데이터가 이동됩니다.

📊 Data Aging의 특징

특성설명
주요 목표 오래된 데이터를 디스크로 이동하여 메모리 절약
대상 데이터 과거 데이터 (예: 트랜잭션 로그, 오래된 거래 내역 등)
이동 방식 사용자가 설정한 기준에 따라 데이터를 메모리에서 디스크로 이동
지원되는 DB 테이블, 파티션 단위로 데이터 이동 가능
동작 주기 주기적으로 자동 처리, 설정한 일정에 맞춰 실행
성능 메모리 절약 → 성능 최적화 (자주 사용되는 데이터는 빠르게 액세스 가능)

🔧 Data Aging 설정 방법

1. 테이블을 Aging 대상으로 지정

테이블 또는 파티션을 Data Aging 대상으로 지정하는 방법입니다. 테이블을 생성할 때, 혹은 기존 테이블을 변경하여 Data Aging을 설정할 수 있습니다.

예시: 테이블을 Data Aging 대상으로 설정

CREATE COLUMN TABLE Sales_History (
    ID INT,
    Sale_Date DATE,
    Amount DECIMAL(10,2)

WITH DATA AGING;

기존 테이블에 Data Aging 설정 추가:

ALTER TABLE Sales_History SET DATA AGING;

2. Aging Policy 설정

  • 데이터의 유효 기간을 설정하여 언제 데이터를 메모리에서 디스크로 이동시킬지 정의합니다.
  • Aging Policy는 시간 기반, 데이터 상태 기반, 사용자 정의 조건 등으로 설정할 수 있습니다.

예시: 데이터를 30일 후에 디스크로 이동시키는 Aging Policy 설정

CREATE AGING POLICY Sales_Data_Aging POLICY 
    FOR Sales_History 
    MOVE TO DISK AFTER 30 DAYS;

3. 자동 Aging 실행

HANA는 자동으로 설정된 기간에 맞춰 데이터를 이동시키는 작업을 처리합니다. 사용자는 이를 배치 작업으로 설정할 수 있습니다.


⚙️ Data Aging의 장점

  1. 메모리 최적화: 메모리 공간을 절약하고, 핫 데이터만 메모리에 보관하여 성능을 최적화합니다.
  2. 효율적인 데이터 관리: 오래된 데이터는 디스크로 이동되어 저장 비용이 절감됩니다.
  3. 빠른 데이터 액세스: 자주 사용되는 데이터만 메모리에 있어 빠른 데이터 액세스가 가능합니다.
  4. 자동화된 관리: 자동으로 데이터를 이동시켜 데이터 관리를 단순화합니다.

단점 및 주의 사항

  • 성능 저하 가능성: 데이터가 디스크로 이동되면 메모리보다 액세스 속도가 느리기 때문에 디스크에서 데이터를 불러올 때 성능이 저하될 수 있습니다.
  • 모니터링 필요: 주기적으로 데이터를 모니터링하고, 적절한 Aging 정책을 적용해야 합니다.
  • 디스크 I/O 의존: 디스크로 이동된 데이터는 디스크 I/O에 의존하므로 스토리지 성능이 중요합니다.

📌 Data Aging을 사용할 때 고려할 사항

  1. Aging 주기 설정: 데이터가 얼마나 자주 사용되는지에 따라 적절한 주기를 설정해야 합니다.
  2. 스토리지 성능: 디스크로 이동되는 데이터의 저장소 성능이 중요합니다. 빠른 SSD나 고성능 디스크 스토리지 환경이 필요할 수 있습니다.
  3. 데이터 이동 후 액세스 성능: 디스크에서 데이터를 불러올 때 성능이 저하될 수 있으므로 자주 사용되는 데이터는 계속 메모리에 두는 것이 중요합니다.

📋 요약

항목설명
목적 오래된 데이터를 디스크로 이동하여 메모리 절약
대상 자주 사용되지 않는 데이터
작동 방식 자동화된 데이터 이동, 사용자가 설정한 기간 기준으로
장점 메모리 절약, 저장 비용 절감, 성능 최적화
단점 디스크 액세스 속도 저하 가능, 스토리지 성능 의존

📌 실무 적용 예시:

  • 기본적인 데이터 이동 설정: 일정 기간 동안 사용되지 않은 트랜잭션 로그는 Data Aging을 사용하여 디스크로 이동.
  • SAP BW 시스템: 오래된 적재 데이터를 디스크로 이동하여 메모리 자원 확보.
  • 이력 관리 시스템: 수년 된 과거 거래 내역Data Aging을 사용해 자동으로 디스크로 이동.


🔷 SAP HANA NSE (Native Storage Extension)란?

SAP HANA NSE는 자주 사용되지 않는 데이터를 메모리(RAM)가 아닌 **디스크(extended store)**에 저장하고, 필요할 때만 로딩해서 사용하는 하이브리드 저장 방식이에요.

즉,

HANA의 "모든 데이터를 메모리에 올리는" 기존 방식의 한계를 극복하기 위한 기능이에요.


🧠 왜 필요할까?

  • 전통적인 SAP HANA는 완전 인메모리 기반이라 RAM 사용량이 엄청나게 커요.
  • 하지만 모든 데이터가 자주 접근되진 않죠.
    👉 예: 지난 5년간의 거래 내역 중 최근 3개월만 자주 씀.
  • 이럴 때, 자주 쓰는 데이터는 메모리에,
    드물게 쓰는 데이터는 디스크에 저장하는 게 효율적이겠죠?

그래서 등장한 게 NSE입니다!


🔍 NSE의 구조

SAP HANA는 데이터를 두 가지 영역에 저장합니다:

영역설명저장 위치
Hot Store 자주 접근되는 데이터 메모리 (RAM)
Warm Store (NSE) 덜 자주 접근되는 데이터 디스크 (페이지 캐시로 접근)

⚙️ NSE의 동작 방식

  • NSE에 저장된 테이블은 디스크에 위치하지만,
  • 접근 시 OS 페이지 캐시를 통해 자동으로 메모리에 올라옵니다 (부분적으로만 로딩).
  • DB 엔진이 자동으로 핫/웜 데이터를 구분하거나,
    DBA가 직접 테이블/파티션/컬럼 단위로 warm 데이터 지정할 수도 있어요.

🛠 사용 방법 예시

-- 테이블을 warm store에 생성

CREATE TABLE z_sales_history (
   id INT,
   sale_date DATE,
   amount DECIMAL(10,2)
) TABLE PLACEMENT WARM;
 
 

또는 기존 테이블을 warm 영역으로 변경:

ALTER TABLE z_sales_history SET TABLE PLACEMENT WARM;

📊 NSE의 장점

장점설명
메모리 절약 RAM 사용량을 획기적으로 줄일 수 있음
대용량 데이터 처리 수십 TB의 데이터도 효율적으로 저장 가능
유연한 데이터 계층화 자주 쓰는 데이터는 메모리, 오래된 데이터는 디스크
비용 절감 인메모리 전용 시스템보다 RAM 요구량 감소 → 하드웨어 비용 절감

⚠️ NSE의 단점 또는 주의사항

주의사항설명
❗ 약간의 성능 저하 Warm 데이터는 디스크에서 로딩되므로 핫보다 느림
💾 디스크 I/O 의존 빠른 스토리지 (SSD 이상) 권장
🔧 모니터링 필요 자동 계층화 설정 시 어떤 데이터가 warm인지 주기적 확인 필요

✅ NSE 사용 조건

조건설명
SAP HANA 2.0 SPS 04 이상 NSE 기능이 공식 포함됨
HANA 플랫폼 에디션 이상 Express Edition에서는 제한적
최소 HANA revision 확인 필요 최신 기능은 최신 버전 필요

📌 요약 정리

항목내용
기능 RAM 외부(디스크)에 warm 데이터 저장
목적 메모리 절감, 대용량 처리
저장 방식 Hot (메모리), Warm (디스크/NSE)
활용 대상 오래된 로그, 이력 데이터 등
성능 Hot보단 느리지만 효율성 ↑

📘 실무 적용 팁

  • 데이터 분석 시스템에서 과거 2~3년 데이터는 warm으로 옮겨두기
  • DSO나 이력 테이블 등에 NSE 적용 → RAM 절약 극대화
  • NSE + Data Aging 기능과 함께 사용하면 더욱 효과적
반응형

'기술 > HANA DB' 카테고리의 다른 글

[DB] SAP HANA Schema  (0) 2025.04.28
Comments