랄프 킴벌의 데이터웨어하우스 툴킷 책을 읽으며 개념을 정리하다가 대리 키 개념을 정리해보았고 SAP에서의 활용과 비교해보았다. 아래는 GPT를 통한 정리.
서론
데이터웨어하우스(DW) 설계에서 대리 키(Surrogate Key)는 데이터 통합과 성능 최적화를 위한 핵심 요소로 알려져 있습니다. 하지만 SAP 시스템에서는 전통적으로 대리 키보다는 자연 키(Natural Key)를 사용하는 방식이 주류를 이루어 왔습니다. 이번 글에서는 SAP의 데이터 모델링 철학과 대리 키 사용 여부에 대해 살펴보고, SAP BW와 최신 SAP HANA 환경에서의 대리 키 활용 사례를 탐구합니다.
1. 대리 키란 무엇인가?
대리 키(Surrogate Key)는 의미 없는 정수형 키로, 차원 테이블의 기본 키로 사용됩니다. 이는 운영 시스템의 자연 키(예: 고객 번호, 제품 코드)와는 달리 비즈니스 로직이나 의미를 포함하지 않으며, 다음과 같은 이유로 데이터웨어하우스 설계에서 선호됩니다:
- 운영 데이터와 독립성: 운영 데이터의 변경에 영향을 받지 않음.
- 성능 최적화: 작은 크기의 정수 키로 데이터 저장소 및 쿼리 성능 향상.
- 다중 시스템 통합: 서로 다른 시스템에서 동일한 자연 키를 사용하는 경우, 중복 및 충돌 방지.
2. 자연 키란 무엇인가?
자연 키(Natural Key)는 운영 시스템에서 데이터 객체를 고유하게 식별하기 위해 사용하는 키입니다. 예를 들어, 고객 번호(KUNNR), 제품 코드(MATNR), 주문 번호(VBELN) 등이 있습니다.
자연 키는 다음과 같은 특징을 가집니다:
- 비즈니스 의미: 자연 키는 비즈니스 프로세스를 반영하며, 데이터 객체의 고유성을 명확히 나타냅니다.
- 운영 시스템과의 긴밀한 연계: SAP 시스템은 자연 키를 기반으로 데이터의 흐름과 관계를 정의합니다.
- SAP의 전통적 활용: SAP ERP와 BW 시스템에서 자연 키를 주요 식별자로 활용하여 운영 데이터와 데이터웨어하우스 간의 통합성을 보장합니다.
3. SAP 시스템에서의 자연 키 사용
SAP ERP 및 BW는 대체로 자연 키를 주요 식별자로 사용합니다. 예를 들어, 다음과 같은 비즈니스 키가 SAP 시스템에서 자주 사용됩니다:
- 고객 번호 (KUNNR)
- 제품 코드 (MATNR)
- 주문 번호 (VBELN)
SAP에서 자연 키를 사용하는 이유는 다음과 같습니다:
- 비즈니스 프로세스 중심 설계: SAP 시스템은 운영 프로세스와 데이터의 긴밀한 연계성을 강조합니다. 자연 키를 사용하면 운영 시스템과의 데이터 동기화가 용이합니다.
- 통합성 보장: 자연 키를 그대로 사용하면 SAP 애플리케이션 간 데이터 흐름을 더 쉽게 관리할 수 있습니다.
- HANA의 성능 이점: SAP HANA는 인메모리 데이터베이스를 기반으로 하여, 자연 키를 사용하더라도 높은 성능을 유지할 수 있습니다.
4. SAP BW에서 대리 키(SID)의 활용
SAP BW(Business Warehouse)는 내부적으로 대리 키 개념을 활용합니다. 이를 **SID(Surrogate ID)**라고 하며, 다음과 같은 목적에 사용됩니다:
- 차원 식별 및 성능 최적화:
- SID는 InfoObject의 내부 식별자로, 데이터 조회와 조인 성능을 향상시킵니다.
- 자연 키 대신 SID를 사용해 차원 데이터를 연결하여 효율적인 데이터 처리와 저장소 최적화를 이룹니다.
- 다중 소스 통합:
- 여러 소스 시스템에서 동일한 자연 키가 중복될 가능성을 방지하기 위해 SID를 생성합니다.
- 변경 데이터 추적:
- Slowly Changing Dimension(SCD) 관리를 위해 SID를 활용하여 자연 키의 변동에도 데이터를 일관되게 유지합니다.
5. SAP와 Kimball 방식의 차이
대리 키 활용 방식은 SAP의 데이터 모델링 철학과 Kimball의 DW 설계 철학 간의 주요 차이를 나타냅니다:
- Kimball 방식:
- 대리 키 사용을 권장하며, 데이터웨어하우스가 운영 데이터와 독립적으로 설계되도록 함.
- 데이터 통합 및 변경 관리의 유연성을 강조.
- SAP 방식:
- 자연 키를 선호하며, 운영 프로세스와의 긴밀한 통합성을 중시.
- SID와 같은 내부 대리 키를 활용해 일부 데이터 모델링 최적화를 제공.
6. SAP HANA와 현대적 접근법
SAP HANA 기반의 최신 데이터 모델링에서는 대리 키를 명시적으로 생성하지 않는 경우가 많습니다. 대신, 다음과 같은 접근법으로 운영 데이터와 BI 데이터 간의 균형을 맞춥니다:
- 인메모리 처리로 자연 키 성능 문제 해결:
- HANA의 강력한 성능 덕분에 자연 키로도 충분한 조회 및 데이터 처리 속도를 유지.
- 필요 시 대리 키 생성:
- 데이터 통합이나 다중 소스 시스템 관리 시 ETL 단계에서 대리 키를 생성해 활용.
결론
SAP 시스템은 전통적으로 자연 키를 중심으로 데이터를 관리하지만, SAP BW의 SID나 최신 HANA 기반의 ETL 과정에서는 대리 키 개념이 사용됩니다. SAP와 Kimball 방식 간의 차이를 이해하고, 상황에 따라 적절한 키 설계 방식을 채택하는 것이 중요합니다. 특히, SAP의 HANA와 같은 현대적 플랫폼에서는 대리 키 사용 여부보다는 전체적인 데이터 모델링의 효율성을 고려하는 것이 핵심입니다.
'DW' 카테고리의 다른 글
SCD(Slow Change Dimension) 유형 정리 (0) | 2025.03.17 |
---|---|
SAP DataSphere 데이터 플로우에서 테이블 삭제 후 재생성 불가 이슈 해결 방법 (0) | 2025.02.19 |
센티피드 테이블과 데이터 웨어하우스에서의 활용 (0) | 2025.02.17 |
재고 팩트 테이블 처리 방식 (0) | 2025.02.16 |