SAP HANA의 DS(데이터 서비스)
⚡ 스마트 요약
SAP 데이터 서비스는 다양한 소스에서 데이터를 이동하고 정제하여 엔터프라이즈급 ETL 플랫폼으로 만드는 플랫폼입니다. SAP HANA의 Designer, Job Server, Engine, Repository 및 Access Server는 함께 작동하여 데이터 흐름을 구축, 예약 및 실행합니다.

SAP 데이터 서비스?
SAP 데이터 서비스는 이기종 소스에서 대상 데이터베이스 또는 데이터 웨어하우스로의 데이터 통합, 변환, 데이터 품질 관리, 데이터 프로파일링 및 텍스트 데이터 처리를 위한 단일 엔터프라이즈급 솔루션을 제공하는 ETL 도구입니다.
작업이라고 불리는 애플리케이션은 데이터 매핑이 이루어지는 디자이너에서 생성됩니다.ping 변환 과정이 정의됩니다. 제품은 또한 다음과 같이 불리기도 합니다. SAP BusinessObjects Data Services는 약칭으로 다음과 같습니다. SAP BODS는 두 이름 모두 동일한 도구를 나타냅니다. SAP 데이터 서비스 4.3이 현재 릴리스 버전이며, 4.2 버전은 2023년 5월 31일에 일반 유지 관리가 종료되었으므로 새로운 구현은 4.3 버전부터 시작해야 합니다.
내 SAP HANA 환경, SAP 데이터 서비스는 데이터를 있는 그대로 복사하는 대신 입력 과정에서 형식을 변경해야 할 때 선택하는 옵션입니다. 아래 섹션에서는 이 도구가 제공하는 기능, 각 구성 요소의 상호 작용 방식, 그리고 전체 작업 부하에 대해 설명합니다. SAP ECC 테이블을 SAP 하나.
특징 SAP 데이터 서비스
아래 기능들이 그 이유를 설명합니다. SAP 데이터 서비스는 단순한 복사 유틸리티가 아닌 기업용 플랫폼으로 자리매김하고 있습니다.
- 고성능 병렬 변환을 제공합니다.
- 이 시스템은 포괄적인 관리 도구와 보고 도구를 갖추고 있습니다.
- 여러 사용자를 지원합니다.
- SAP 이사회 웹 서비스 기반 애플리케이션에 매우 유연하게 사용할 수 있습니다.
- 풍부한 함수 세트를 갖춘 스크립트 언어를 사용할 수 있게 해줍니다.
- SAP 데이터 서비스는 다음과 통합할 수 있습니다. SAP LT 복제 서버(SLT) 트리거 기반 기술을 사용합니다. SLT는 모든 것에 델타 기능을 추가합니다. SAP 또는 비SAP 원본 테이블을 사용하면 변경 데이터 캡처 및 원본 테이블에서 델타 데이터 전송이 가능합니다.
- 대시보드 및 프로세스 감사를 통한 데이터 검증.
- 일정 관리 기능과 모니터링 대시보드를 갖춘 관리 도구입니다.
- 디버깅, 내장 프로파일링 및 데이터 보기 기능.
- SAP 데이터 서비스는 광범위한 소스와 대상을 지원합니다.
- 예를 들어 모든 애플리케이션 SAP.
- 대량 로딩 및 변경 데이터 캡처 기능을 갖춘 모든 데이터베이스.
- 파일 형식: 고정 폭, 쉼표로 구분, COBOL, XML 등 뛰어나다.
이러한 기능은 각각 고유한 역할을 가진 소수의 설치 가능한 구성 요소에 의해 제공됩니다.
구성 요소 SAP 데이터 서비스
SAP 데이터 서비스는 다음과 같은 구성 요소로 이루어져 있습니다.
- 디자이너 데이터 서비스 디자이너는 데이터 웨어하우스를 채우는 작업을 생성, 테스트 및 실행할 수 있는 개발 도구입니다. 개발자는 소스-대상 흐름도에서 아이콘을 선택하여 객체를 생성하고 구성할 수 있습니다. 워크플로 및 데이터 흐름을 지정하여 애플리케이션을 생성하는 데 사용할 수 있습니다. 데이터 서비스 디자이너를 열려면 다음 경로로 이동하십시오. 시작 메뉴 -> 모든 프로그램 -> SAP 데이터 서비스 -> 데이터 서비스 디자이너.
- 잡 서버 – 이 애플리케이션은 데이터 서비스 처리 엔진을 실행하고 엔진 및 데이터 서비스 제품군에 대한 인터페이스 역할을 합니다.
- 엔진 데이터 서비스 엔진은 애플리케이션에 정의된 개별 작업을 실행합니다.
- 저장소 – 저장소는 Designer에서 미리 정의된 객체와 사용자 정의 객체(원본 및 대상 메타데이터, 변환 규칙)를 저장하는 데이터베이스입니다. 저장소에는 두 가지 유형이 있습니다.
- 로컬 저장소 (디자이너 및 잡 서버에서 사용됨)
- 중앙 리포지토리 (객체 공유 및 버전 관리에 사용됨)
- 액세스 서버 – 액세스 서버는 웹 애플리케이션, 데이터 서비스 작업 서버 및 엔진 간에 메시지를 전달합니다.
- 관리자 웹 관리자는 아래와 같이 데이터 서비스 리소스에 대한 브라우저 기반 관리 기능을 제공합니다.
- 구성, 시작 및 중지ping 실시간 서비스.
- 배치 작업의 예약, 모니터링 및 실행.
- Job Server, Access Server 및 저장소 사용 구성을 설정합니다.
- 사용자 관리.
- 웹 서비스를 통해 배치 작업 및 실시간 서비스를 게시합니다.
- 어댑터 구성 및 관리
각 구성 요소의 기능을 아는 것은 전체 그림의 절반에 불과합니다. 아래 아키텍처는 부하가 걸리는 동안 구성 요소들이 어떻게 통신하는지 보여줍니다.
SAP 데이터 서비스 Archi강의
데이터 서비스 아키텍처는 다음과 같은 구성 요소로 이루어져 있습니다.
- 중앙 저장소 - 작업 서버에 대한 저장소 구성, 보안 관리, 버전 제어 및 객체 공유에 사용됩니다.
- 디자이너 - 프로젝트, 작업, 워크플로 및 데이터 흐름을 생성하고 실행하는 데 사용됩니다.
- 로컬 저장소 – 여기에서 작업, 워크플로 및 데이터 흐름을 생성, 변경 및 시작할 수 있습니다.
- 잡 서버 및 엔진 - 작업을 관리합니다.
- 액세스 서버는 개발자가 저장소에 생성한 실시간 작업을 실행하는 데 사용됩니다.
아래 이미지에는 데이터 서비스와 그 구성 요소 간의 관계가 나와 있습니다.
SAP 이사회 Archi강의
디자이너 윈도우 디테일
디자이너는 개발자가 가장 많은 시간을 보내는 구성 요소이므로 레이아웃을 먼저 익히는 것이 좋습니다. 데이터 서비스 디자이너의 각 섹션에 대한 자세한 내용은 다음과 같습니다.
- 도구 모음 (열기, 저장, 뒤로, 유효성 검사, 실행 등에 사용됩니다.)
- 프로젝트 영역 (현재 프로젝트가 포함되어 있으며, 여기에는 작업, 워크플로 및 데이터 흐름이 포함됩니다. 데이터 서비스에서 모든 엔티티는 객체입니다.)
- 작업 공간 (애플리케이션 창 영역으로, 객체를 정의하고 표시하고 수정하는 데 사용됩니다.)
- 로컬 개체 라이브러리 (변환, 작업, 워크플로, 데이터 흐름 등과 같은 로컬 저장소 객체를 포함합니다.)
- 도구 팔레트 (도구 팔레트의 버튼을 사용하면 작업 공간에 새 개체를 추가할 수 있습니다.)
객체 계층
아래 다이어그램은 데이터 서비스 내 주요 객체 유형의 계층적 관계를 보여줍니다.
참고 : 아래 범례는 계층 구조에서 선택 가능한 요소를 나타냅니다.
워크플로 및 조건문은 선택 사항입니다.
사용된 물건들 SAP 데이터 서비스에 대한 자세한 내용은 아래와 같습니다.
| 사물 | 기술설명 |
|---|---|
| 하이라이트 | 프로젝트는 디자이너 창에서 가장 상위 수준의 개체입니다. 프로젝트를 사용하면 데이터 서비스에서 생성하는 다른 개체를 구성할 수 있습니다. 한 번에 하나의 프로젝트만 열 수 있으며, 여기서 "열려 있다"는 것은 "프로젝트 영역에 표시된다"는 의미입니다. |
| 일 | "작업"이란 독립적으로 실행 일정을 잡을 수 있는 가장 작은 작업 단위입니다. |
| 스크립트 | 프로시저에 있는 행의 하위 집합입니다. |
| 워크플로우 | 워크플로우란 여러 데이터 흐름을 통합하여 전체 작업에 대한 일관된 작업 흐름을 만드는 것을 말합니다. 워크플로우는 선택 사항입니다. 워크플로우는 다음과 같은 기능을 수행할 수 있는 절차입니다.
|
| 데이터 흐름 | 데이터 흐름이란 소스 데이터가 대상 데이터로 변환되는 프로세스입니다. 데이터 흐름은 재사용 가능한 객체이며, 워크플로 또는 작업에서 항상 호출됩니다. 데이터 흐름은 다음과 같은 용도로 사용됩니다.
|
| 데이터 스토어 | 데이터 서비스를 소스 및 대상 데이터베이스에 연결하는 논리적 채널입니다. 데이터 저장소:
|
| Target | 데이터 서비스가 소스에서 데이터를 로드하는 테이블 또는 파일입니다. |
SAP 데이터 서비스 vs SLT vs DXC
SAP 데이터 서비스는 여러 서비스 중 하나입니다. 데이터 프로비저닝 옵션 SAP HANA를 사용할 때 잘못된 방식을 선택하면 아무리 튜닝을 해도 만회할 수 없는 추가 비용이 발생합니다. 아래 표는 세 가지 서버 측 방식을 비교합니다.
| 기준 | SAP 데이터 서비스 | SLT | DXC |
|---|---|---|---|
| 숨어 있음 | 일괄 처리 또는 예약 | 실시간 | 데이터 소스에 의해 예약된 배치 |
| 변환 | 완전한 ETL, 클렌징 및 프로파일링 | 간단한 필터 및 필드 규칙 | ex를 넘어서는 없음trac토르 논리 |
| 소스 범위 | SAP 및 비SAP파일, 애플리케이션 | SAP 및 비SAP 데이터베이스 | SAP 비즈니스 스위트 전용 |
| 추가 서버 필요 | 예, 잡 서버 | 보통 그렇습니다 | 아니 |
| 가장 적합 | 데이터 품질 및 다중 소스 통합 | Opera실시간 데이터에 대한 국가 보고 | 기존 비즈니스 콘텐츠 재사용 예trac토르 |
간단히 말해서 선택하세요 SAP 데이터가 최종적으로 전달되기 전에 데이터를 정제, 결합 또는 표준화해야 하는 경우 데이터 서비스를 이용하십시오. 보고서가 거래 발생 시점을 정확하게 반영해야 하는 경우에는 SLT를 선택하십시오. DXC 검증된 비즈니스 콘텐츠 전문가가 있을 때tracTor는 이미 필요한 의미론을 생성합니다. 반복 일정이 없는 일회성 데이터 세트의 경우, 플랫 파일 업로드 세 가지 설정 방법 중 어느 것을 설정하는 것보다 빠릅니다.
데이터를 불러오는 방법 SAP 소스 테이블 사용 SAP 데이터 서비스
데이터 서비스의 모든 것은 객체입니다. 소스 데이터베이스와 대상 데이터베이스 각각에 대해 별도의 데이터 저장소가 필요합니다.
데이터를 불러오는 전체 과정은 다음과 같습니다. SAP 소스 테이블은 아래에 나와 있습니다. 각 단계는 자세히 설명되어 있습니다.
- 소스와 BODS 사이에 데이터 저장소를 생성합니다.
- 메타데이터(구조체)를 BODS로 가져옵니다.
- 가져오기 서버 구성
- 메타데이터를 HANA 시스템으로 가져옵니다.
- BODS와 HANA 사이에 데이터 저장소를 생성합니다.
- 프로젝트 만들기
- 작업 생성 (배치 또는 실시간)
- 워크플로를 생성하세요
- 데이터 흐름 만들기
- 데이터 흐름에 객체를 추가합니다.
- 작업 실행
- HANA에서 데이터 미리보기를 확인하세요
단계 1) 데이터 저장소를 생성합니다. SAP 출처 및 BODS.
- 데이터를 로드하려면 SAP 에 소스 SAP HANA를 통해 SAP BODS를 사용하려면 데이터 저장소가 필요합니다. 따라서 아래 그림과 같이 먼저 데이터 저장소를 생성합니다. 프로젝트 -> 새로 만들기 -> 데이터 저장소
- 새 데이터 저장소 생성 팝업 창이 나타납니다. 아래와 같이 세부 정보를 입력하십시오.
- 데이터 저장소 이름으로 "ds_ecc"를 입력하십시오.
- 데이터 저장소 유형 이름을 "로 선택하세요SAP 응용 프로그램”.
- 데이터베이스 서버 이름을 입력하십시오.
- 사용자 이름과 비밀번호를 입력하세요.
- "적용" 버튼을 클릭하세요.
- "확인"버튼을 클릭합니다.
- 데이터 저장소가 생성됩니다. 생성된 데이터 저장소는 아래와 같습니다.
- 로컬 객체 라이브러리로 이동하세요.
- 데이터 저장소 탭을 선택하세요.
- 데이터 저장소 "ds_ecc"가 표시됩니다.
단계 2) BODS 서버로 메타데이터(구조)를 가져옵니다.
ECC에서 BODS로 데이터를 전송할 데이터 저장소를 구축했습니다. 이제 ECC에서 BODS로 메타데이터를 가져오려고 합니다. 가져오기 절차는 다음과 같습니다.
- 데이터 저장소 "ds_ecc"를 선택하고 마우스 오른쪽 버튼을 클릭합니다.
- '이름으로 가져오기' 옵션을 선택하세요.
'이름으로 가져오기' 팝업 창이 표시됩니다. 아래와 같이 세부 정보를 입력하세요.
- 유형을 테이블로 선택합니다.
- 가져올 테이블 이름을 입력하세요. 여기서는 KNA1 테이블을 가져옵니다.
- "가져오기" 버튼을 클릭하세요. KNA1 테이블이 "ds_ecc" 데이터 소스의 테이블 노드 아래에 나타납니다.
테이블 메타데이터는 아래와 같이 데이터 저장소 ds_ecc로 가져옵니다.
단계 3) 가져오기 서버를 구성합니다.
지금까지 우리는 ECC용으로 생성된 데이터 저장소 "ds_ecc"에 테이블을 가져왔습니다. SAP BODS 연결. 데이터를 가져오려면 SAP HANA가져오기 서버를 구성해야 합니다.
- 이렇게하려면 다음으로 이동하십시오. 빠른 보기 -> 가져오기 서버 구성 아래.
- 시스템 선택을 위한 팝업 창이 나타납니다. 해당 시스템을 선택하세요. SAP HANA 시스템(여기서는 HDB)은 아래와 같습니다.
- "다음" 버튼을 클릭하세요. 데이터 서비스 자격 증명을 입력하는 팝업 창이 나타납니다. 다음 정보를 입력하세요.
- SAP BODS 서버 주소(여기서는 BODS:6400).
- SAP BODS 저장소 이름(HANAUSER 저장소 이름).
- ODBC 데이터 소스(ZTDS_DS).
- 기본 포트 SAP BODS 서버(8080).
"완료" 버튼을 클릭하세요.
단계 4) 메타데이터를 HANA 시스템으로 가져옵니다.
가져오기 서버가 구성되었으므로 이제 메타데이터를 가져올 수 있습니다. SAP BODS 서버.
- 빠른 보기에서 가져오기 옵션을 클릭하세요.
- 가져오기 옵션 팝업 창이 표시됩니다. "메타데이터 선택적 가져오기" 옵션을 선택하십시오.
"다음" 버튼을 클릭하십시오.
"메타데이터 선택적 가져오기" 팝업 창이 표시되면 대상 시스템을 선택합니다.
- 선택 SAP HANA 시스템(여기서는 HDB).
"다음" 버튼을 클릭하십시오.
단계 5) BODS와 HANA 사이에 데이터 저장소를 생성합니다.
BODS에서는 소스와 타겟에 대해 별도의 데이터 저장소가 필요합니다. 소스 데이터 저장소는 이미 존재하므로, 다음으로 BODS와 HANA 간의 타겟 데이터 저장소를 "DS_BODS_HANA"라는 이름으로 생성합니다.
- 프로젝트 -> 새로 만들기 -> 데이터 저장소로 이동합니다.
- 새 데이터 저장소를 생성하는 화면이 아래와 같이 나타납니다.
- 데이터 저장소 이름(DS_BODS_HANA)을 입력하십시오.
- 데이터 저장소 유형을 Database로 입력하십시오.
- 데이터베이스 유형을 입력하세요 SAP 하나.
- 데이터베이스 버전을 선택하세요.
- 입력 SAP HANA 데이터베이스 서버 이름.
- 포트 이름을 입력하세요 SAP HANA 데이터베이스.
- 사용자 이름과 비밀번호를 입력하세요.
- “자동 데이터 전송 활성화”를 선택하세요.
"적용"을 클릭한 다음 "확인" 버튼을 클릭하세요.
데이터 저장소 "DS_BODS_HANA"는 아래와 같이 로컬 객체 라이브러리의 데이터 저장소 탭에 표시됩니다.
- 이제 “DS_BODS_HANA” 데이터 저장소에 테이블을 가져옵니다.
- 데이터 저장소 "DS_BODS_HANA"를 선택하고 마우스 오른쪽 버튼을 클릭합니다.
- 이름으로 가져오기를 선택하세요.
- 아래와 같이 '이름으로 가져오기' 팝업 창이 나타납니다.
- 유형을 테이블로 선택합니다.
- 이름을 KNA1로 입력하세요.
- 소유자는 Hanauser로 표시됩니다.
- 가져오기 버튼을 클릭하세요.
해당 테이블은 "DS_BODS_HANA" 데이터 저장소로 가져옵니다. 테이블의 데이터를 보려면 아래 단계를 따르십시오.
- 데이터 저장소 "DS_BODS_HANA"에서 "KNA1" 테이블을 클릭합니다.
- 데이터는 표 형식으로 표시됩니다.
6단계) 프로젝트를 정의합니다. 프로젝트는 관련된 객체들을 그룹화하고 구성합니다. 하나의 프로젝트에는 여러 개의 작업, 워크플로, 데이터 흐름이 포함될 수 있습니다.
- 디자이너 프로젝트 메뉴로 이동하세요.
- '새로 만들기' 옵션을 선택하세요.
- 프로젝트 옵션을 선택하세요.
아래와 같이 새 프로젝트 생성 팝업 창이 나타납니다. 프로젝트 이름을 입력하고 '생성' 버튼을 클릭합니다. 그러면 프로젝트 폴더가 생성됩니다. 이 예시에서는 BODS_DHK라는 폴더가 생성됩니다.
7단계) 직무를 정의합니다. 작업은 재사용 가능한 객체입니다. 작업에는 워크플로와 데이터 흐름이 포함됩니다. 작업은 수동으로 또는 예약된 일정에 따라 실행할 수 있습니다. BODS 프로세스를 실행하려면 작업을 정의해야 합니다.
우리는 JOB_Customer라는 이름의 작업을 생성합니다.
- 이전 단계에서 생성한 프로젝트(BODS_DHK)를 선택하고 마우스 오른쪽 버튼을 클릭한 다음 "새 배치 작업"을 선택합니다.
- 이름을 "JOB_Customer"로 바꿉니다.
8단계) 워크플로를 정의합니다.
- 프로젝트 영역에서 "JOB_Customer" 작업을 선택하십시오.
- 도구 팔레트에서 워크플로 버튼을 클릭합니다. 빈 작업 영역을 클릭합니다. 작업 영역에 워크플로 아이콘이 나타납니다.
- 워크플로 이름을 "WF_Customer"로 변경하세요.
워크플로 이름을 클릭하면 작업 공간에 해당 워크플로의 빈 보기가 나타납니다.
9단계) 데이터 흐름을 정의합니다.
- 워크플로 "WF_Customer"를 클릭하세요.
- 도구 팔레트에서 데이터 흐름 버튼을 클릭합니다. 빈 작업 영역을 클릭합니다. 작업 영역에 데이터 흐름 아이콘이 나타납니다.
- 데이터 흐름의 이름을 "DF_Customer"로 변경하세요.
- 데이터 흐름은 왼쪽 프로젝트 영역의 작업 이름 아래에도 표시됩니다.
10단계) 데이터 흐름에 개체를 추가합니다.
데이터 흐름 내부에서는 소스 데이터를 대상 테이블에 필요한 형식으로 변환하는 지침을 제공합니다.
세 가지 물체가 사용됩니다.
- 소스에 대한 개체입니다.
- 대상 테이블의 개체입니다.
- 소스 열과 대상 열을 매핑하는 쿼리 변환용 객체입니다.
데이터 흐름 DF_Customer를 클릭하세요. 아래와 같이 빈 작업 공간이 나타납니다.
- 소스에 사용할 객체를 지정하세요. – 데이터 저장소 "ds_ecc"로 이동하여 테이블 KNA1을 선택한 다음 빈 데이터 흐름 화면으로 드래그 앤 드롭합니다.
- 대상으로 사용할 객체를 지정하세요. - 저장소에서 "DS_BODS_HANA" 데이터스토어를 선택하고 KNA1 테이블을 선택합니다.
- 드래그하여 작업 공간에 놓고 "만들기"를 선택하세요. Target"옵션"을 선택하면 이제 소스 테이블 하나와 대상 테이블 하나, 총 두 개의 테이블이 생성됩니다.
- 쿼리 변환 – 이는 사용자별 조건에 대한 입력 스키마를 기반으로 데이터를 검색하고 소스에서 대상으로 데이터를 전송하는 데 사용되는 도구입니다.
- 도구 팔레트에서 쿼리 변환 아이콘을 선택하고 작업 공간에서 소스 개체와 대상 개체 사이에 드래그 앤 드롭합니다.
- 쿼리 객체를 소스에 연결합니다.
- 쿼리 객체를 대상 테이블에 연결합니다.
Double-쿼리 아이콘을 클릭하여 입력 스키마의 열을 출력 스키마에 매핑합니다.ping 창이 나타나면, 그 안에서 다음 작업을 수행합니다.
- 원본 테이블 KNA1이 선택되었습니다.
- 원본 테이블의 모든 열을 선택하고 마우스 오른쪽 버튼을 클릭한 다음 "출력에 매핑"을 선택합니다.
- 대상 출력은 '쿼리'로 선택되며, 열이 매핑됩니다.
프로젝트를 저장하고 유효성을 검사하세요. 유효성 검사 아이콘을 클릭하세요. 유효성 검사가 성공했음을 확인하는 팝업 창이 나타납니다.
11단계) 작업을 실행합니다. 작업을 실행하려면 아래 경로를 따르십시오.
- 프로젝트 영역 아이콘을 선택하여 프로젝트를 열고 생성된 프로젝트를 선택합니다.
- 작업을 선택하고 마우스 오른쪽 버튼을 클릭합니다.
- 작업을 실행하려면 실행 옵션을 선택하십시오.
작업이 실행되면 작업 로그 창이 표시되고, 이 창에는 작업과 관련된 모든 메시지가 나타납니다. 마지막 메시지는 "작업"입니다. 성공적으로 완료되었습니다.
12단계) 데이터의 유효성을 검사하고 확인합니다. SAP HANA 데이터베이스.
- 에 로그인 SAP HANA 데이터베이스를 통해 SAP 하나 스튜디오그리고 HANAUSER 스키마를 선택합니다.
- 테이블 노드에서 KNA1 테이블을 선택합니다.
- 테이블 KNA1을 마우스 오른쪽 버튼으로 클릭하고 데이터 미리 보기 열기를 선택합니다.
- BODS 프로세스에서 로드된 KNA1 데이터는 데이터 미리보기 화면에 표시됩니다.
원본 테이블과 이 미리 보기의 행 수가 일치하면 로드가 올바르게 완료된 것이며, 이후 관리자 페이지에서 작업을 반복 실행하도록 예약할 수 있습니다.




































