24.3.17

SAP HANA 2.0 소개

 1. OS 버전 지원

https://help.sap.com/doc/d25e2e530606453c9866c695298423b3/2.0.00/en-US/Whats_New_SAP_HANA_Platform_Release_Notes_en.pdfSAP Note 2380257 - SAP HANA Platform 2.0 SPS 00 Release Note가장 기본적인 OS 버전에 대한 prerequisite 은 다음과 같습니다.
 - Supported Operating Systems
For SAP HANA Platform 2.0 SPS 00 on Intel-based hardware platforms the minimum operating system versions are:
  1. Red Hat Enterprise Linux for SAP HANA (RHEL for SAP HANA) 7.2
  1. SUSE Linux Enterprise Server (SLES) for SAP Applications 12 SP1
  1. SUSE Linux Enterprise Server (SLES) for SAP Applications 12 SP1

 2. SAP HANA 2.0 Revision Strategy

이제 HANA 2 는 매년 4월과 7월에 신규 Support Package Stack 을 발표합니다.
기존 HANA 1.0 에서는 신규 SPS 가 6개월마다 출시되는 주기였기 때문에 6개월 이후 새로운 bug 가 발견되었을시,
고객 입장에서는 울며 겨자먹기로 bug fix 이외에 각종 신규 기능이 포함된 차기 버전의 SPS 를 적용할 수 밖에 없었습니다.
따라서 이때 신규 기능으로 인해 발생할 수 있는 bug 에 대한 위험 부담을 안고 가야한다는 불편함이 있었습니다.
HANA 2 부터는 이러한 불편을 조금이나마 해소하고자 각 Package Stack 에 대해서는 1년간 maintenance 를 하는 방식(SPS 기준으로는 +2 SPS 가 release 될때까지- 예를들면 SPS00 은 SPS02 출시할때까지)으로 변경되었습니다.

 3. 주요 개선기능

HANA 2 에서는 HANA System Replication 을 이용한 High Availability 구성시  Active-Active(Read-only) 구성이 가능해졌습니다. 이로 인하여 read-intensive 한 workload 의 load balancing 이 가능해졌습니다.

참조 문서:
SAP Note 2235581 - SAP HANA: Supported Operating Systems

For SAP HANA Platform 2.0 SPS 00 on IBM Power Systems the minimum operating system version is:

HANA 1.0 버전 release 정책과는 다르게 변경되었습니다.
이러한 내용은 SAP Note 2378962 - SAP HANA 2.0 Revision and Maintenance Strategy 에서 확인이 가능합니다.
※ SAP Note 2378962 에서 발췌 (https://websmp109.sap-ag.de/~sapidb/012002523100018101562016)

또한, HANA Cockpit 의 기능이 강화되어 Admin 이 HANA Cockpit 을 이용하여 DB 를 관리하기가 보다 편리해졌습니다.
HANA Database 의 전반적인 workload management 기능, Data 보안 기능 등이 개선되었습니다.
http://news.sap.com/sap-to-unveil-sap-hana-2/

 4. 결론 및 제언

HANA 2 의 출시와 함께 향후 점점 더 cloud 의 중요성이 강조되고 있습니다. 이에 따라 HANA 2 의 향후 SPS 버전에서는 Multitenant Database Containers 형태로만 출시될 예정입니다. (버전이 확정되지는 않았지만 SPS01 이후(혹은 SPS02) 버전으로 예정)
따라서 기존의 HANA 1.0 을 사용하시는 고객이나 신규 고객 모두를 포함하여 이러한 HANA 의 특성을 잘 살려서 업무에서 최대한의 효과를 볼 수 있도록 고민하는 것이 중요하다 할 수 있겠습니다. 이를 위해 필연적으로 필요한 HANA 2 업그레이드나 Multitenant Database Containers 형태로의 전환 부분은 고객의 고민이나 effort 를 요구하지 않도록 기존 HANA 1.0 에서의 HANA upgrade process 와 동일하게 진행되오니 이점 참고하시면 됩니다.


Active-Active(Read-only) 등 주요 기능과 관련 내용은 아래의 URL 을 통해 확인 가능합니다.

다시 말해 현재 대부분의 고객께서 single-container 형식의 HANA database 를 사용중이나 이 부분이 향후에는 multi-container 형태로 무조건 변경된다는 의미 입니다. HANA 1.0 SPS09 에서 출시된 MDC 의 개념이 비로소 HANA 2 에서 default 로 반영되는 것입니다.

SAP Predictive Analytics 소개

SAP BusinessObjects Predictive Analytics 데이터 마이닝 예측 모델링 솔루션으로 데이터의 숨겨진 통찰력과 관계를 발견하고 향후 이벤트에 대한 예측을 있는 예측 모델을 구축 있게 해줍니다.

Automated Analytics에는 다음 모듈이 포함됩니다.
Data Manager(데이터 관리자) 분석 프로젝트에서 사용할 데이터를 쉽게 준비하는 사용됩니다.
Modeler(모델러) 분석가가 분류, 회귀, 클러스터링, 시계열 연관 규칙과 같은 균일하고 쉬운 처리 흐름 모델을 생성 있게 합니다. 모델은 프로덕션 환경에서 쉽게 적용 있도록 다른 형식으로 내보낼 있습니다.
Social(소셜) 다양한 종류의 데이터 세트에 저장된 암시적인 구조적 관계 정보를 추출하고 사용하여 모델의 의사 결정 예측 능력 향상시킵니다. 서로 다른 데이터가 연결되는 방식을 보여주는 그래프 형식의 데이터를 나타낼 있습니다. 전용 workflow 사용하면 지리적 참조 데이터를 기반으로 공동 배치 빈번한 경로 분석을 생성 있습니다.
Recommendation(추천) 소셜에서 제공하는 링크 분석을 기반으로 고객을 위한 제품 추천을 생성합니다.

Expert Analytics 통해 다음을 수행 있습니다.
분산 매트릭스 차트, 병렬 좌표, 클러스터 차트 의사 결정 트리와 같은 다양한 시각화 기술을 사용하여 데이터를 심층 분석합니다.
시계열 예측, 이상치 검출, 추세 분석, 분류 분석, 세분화 분석 유사성 분석을 비롯하여 다양한 분석 데이터 모델 작성을 수행합니다.
대용량 데이터 분석을 효율적으로 처리 있는 다양한 예측 알고리즘, R 오픈 소스 통계 분석 언어 메모리 데이터 마이닝 기능을 사용합니다.

Predictive Factory 예측 모델의 비즈니스 가치를 활용하여 운영 시스템에 공급하는 운영 데이터베이스와의 연결을 보장합니다. 사용자 친화적 인터페이스를 통해 비즈니스 분석가, 데이터 과학자, 사용자는 다음을 통해 안전하고 생산적인 workflow에서 예측 모델을 조작 모니터링 있습니다.
비즈니스 컨텍스트와 관련된 예측 모델의 모든 관리 : 기존 모델 가져 오기 자동 분석 또는 전문가 분석에서 생성; 시계열 예측 모델의 직접 작성; 모델링 버전 관리; 라이프 사이클 전반에 걸쳐 모델 모니터링

주요 산업화 작업의 정확한 스케줄링 : 새로운 데이터에 대한 모델의 적용, 모델의 재교육, 성능 수준 정확성 보장, 모델 편차의 탐지

자세한 사항은 다음의 온라인 도움말을 참조하십시오.




16.3.17

SAP HANA 작업 부하 관리

작업 부하 관리를 사용하면 SAP HANA 시스템에서 동시 작업의 발생 정도와 작업 우선 순위를 결정할 있습니다.
SAP HANA 시스템에는 단순 또는 복잡한 명령문에서 장기 실행 데이터로드 작업에 이르기까지 플랫폼의 기능으로 인해 다양한 유형의 작업 부하가 있습니다. 이러한 작업 부하 유형은 동시 작업을 처리하는 사용할 있는 리소스 (CPU 또는 메모리) 균형을 유지해야합니다. 단순화를 위해 워크로드 쿼리를 트랜잭션 (OLTP) 또는 분석 (OLAP)으로 분류합니다. 트랜잭션 쿼리의 경우 일반적인 응답 시간은 밀리 단위로 측정되며 이러한 쿼리는 단일 스레드에서 실행되는 경향이 있습니다. 반면에 분석 쿼리는 실행 중에 여러 스레드를 사용하는 보다 복잡한 작업을 특징으로 하는 경향이 있습니다. 이는 트랜잭션 쿼리에 비해 CPU 사용량과 메모리 사용량을 높일 있습니다.
시스템의 워크로드를 관리하려면 데이터베이스 관리 시스템이 사용 가능한 자원에서 최적의 방법으로 실행 중인지 확인해야합니다. 목표는 하나의 특정 작업 유형을 최적화하는 것뿐만 아니라 다양한 작업 부하 간에 리소스에 대한 요구를 균형 잡아 전체 시스템 성능을 극대화하는 것입니다. 이를 달성하면 성능 기대에 부합하는 방식으로 요청이 수행되며 시간이 지남에 따라 변화하는 워크로드에 적응할 있습니다. 성능을 최적화하는 외에도 견고성을 최적화하여 응답 시간을 보다 예측 가능하게 만들 있습니다

1. SAP HANA Context Workload

SAP HANA 컨텍스트에서 워크로드는 공통된 특성을 가진 요청 집합으로 설명 있습니다.
특정 워크로드의 세부 사항을 다양한 방법으로 있습니다. 요청 소스를 살펴보고 특정 응용 프로그램 또는 응용 프로그램 사용자가 시스템에 대해 높은 작업 부하를 생성하는지 확인합니다. 우리는 어떤 종류의 SQL 문이 생성되었는지 검사 있습니다: 그것들은 단순합니까? 또는 복잡합니까? 비즈니스 중요성에 따라 수행 작업의 우선 순위가 있습니까? 예를 들어, 비즈니스의 부분이 피크 시간에 많은 액세스 권한을 가져야합니까? 또한 응답 시간 처리량면에서 비즈니스가 갖고있는 서비스 수준 목표의 종류를 확인할 있습니다.
다음 그림은 분석 트랜잭션 작업 뿐만 아니라 추출 로드 조작 (데이터 웨어하우스에서 소스 시스템의 데이터를 일괄적으로 로드 하는 사용됨) 같은 여러 유형의 워크로드를 보여줍니다.




워크로드 관리에 관해 논의 우리는 실제로 리소스 활용도 측면에서 시스템에 중점을 두는 것에 대해 이야기하고 있습니다. 위의 그림에서 있는 주요 리소스는 CPU, 메모리, 디스크 I / O 네트워크입니다. SAP HANA 관련하여 디스크 I / O 로깅을 위해 사용됩니다. 예를 들어, OLTP 시나리오의 경우 작은 트랜잭션이 많으면 분석 작업 부하에 비해 로깅 수준이 높아집니다 (SAP HANA 이를 최소화하려고 시도하지만). SAP HANA 사용하면 스케일 아웃 시스템의 노드 네트워크 연결을 최적화 있습니다. 예를 들어 명령 라우팅은 네트워크 오버 헤드를 가능한 최소화하기 위해 사용됩니다.
그러나 시스템의 작업 부하에 영향을 미치려고 주요 초점은 사용 가능한 CPU 할당되고 사용되는 메모리에 있습니다. 예를 들어, 혼합 트랜잭션 분석 작업 부하는 리소스를 놓고 경쟁 있으며 때로는 즉시 사용할 있는 것보다 많은 리소스가 필요할 있습니다. 하나의 요청이 지배적이면 큐잉 효과가 있을 있습니다. , 다음 요청은 이전 요청이 준비 때까지 기다려야 있습니다. 이러한 상황을 관리하여 전반적인 성능에 미치는 영향을 최소화해야 합니다.

1.1        작업 부하 관리 옵션


작업 부하 관리는 운영 체제 수준에서, 전역 초기화 설정을 사용하여, 그리고 세션 수준에서 여러 수준에서 구성 있습니다.
작업 부하 처리 방법에 영향을 있는 여러 가지 방법이 있습니다.

운영 체제 수준의 SAP HANA 시스템 외부에서 사용 가능한 코어의 선호도를 설정할 있습니다.
매개 변수를 사용하여 정적 설정을 적용 있습니다.
작업 부하 클래스를 정의하여 시스템 런타임에서 작업 부하에 동적으로 영향을 있습니다.

모든 옵션에는 HANA 설치 중에 적용되는 기본 설정이 있습니다. 이러한 범용 설정은 장에서 설명하는 작업 부하 관리 기능이 필요하지 않을 경우 완벽하게 수용 가능한 성능을 제공 있습니다. 워크로드 관리를 시작하기 전에 시스템이 일반적으로 구성되었는지 확인해야합니다. , SQL명령어가 튜닝(조정) 되고 분산 환경 테이블이 최적으로 분산되고 필요에 따라 인덱스가 정의되어 있어야 합니다.

특정 작업 부하 관리 요구 사항이 있는 경우 다음 표에서는 CPU, 메모리 실행 우선 순위와 관련하여 적용 있는 더욱 세분화 컨트롤을 보는 프로세스를 간략하게 설명합니다.

작업 부하 관리 통제 옵션
Area
Possible Actions
CPU
운영 체제 단계에서 CPU 구성
접근법은 주로 서버의 SAP HANA 다중 데이터베이스 컨테이너(MDC) 여러 SAP HANA 인스턴스의 사용 사례에 적용됩니다.
경우 선호도와 관련된 설정 (CPU 코어에 대한 바인딩 프로세스) daemon.ini 적용됩니다. 변경 사항을 적용하려면 프로세스를 다시 시작해야합니다.
CPU
HANA System 단계에서 CPU 구성
전역 실행 설정을 사용하여 CPU 스레드 풀을 관리하고 병렬 실행 (동시성) 관리 있습니다.
Memory
메모리 관리과 관련된 전역 설정
비용 과도한 SQL 문에 할당 자원에 제한을 적용하기 위해 전역 memorymanager 설정을 사용할 있습니다.
Priority and Dynamic Workload Class Mapping
클래스를 사용하여 워크로드 작업 우선순위 관리
개별 사용자 세션에 매핑 있는 사전 구성된 클래스를 설정하여 워크로드 관리에 대한 보다 효과적인 접근 방식을 구현할 있습니다. 예를 들어 응용 프로그램 이름이나 응용 프로그램 사용자를 특정 작업 부하 클래스에 매핑 있습니다. 클래스에는 작업 부하 우선 순위 값을 적용하는 옵션이 포함됩니다.
다음을 사용하여 클래스를 설정할 있습니다.
SAP HANA Cockpit
SQL command

1.2        작업 부하 이해


작업 부하 관리는 반복적인 3단계 프로세스로 있습니다. 현재 시스템 성능을 분석하고 작업 부하의 성격을 이해하며 작업 부하를 시스템 리소스에 매핑합니다.
모든 시나리오에 적합한 단일 워크로드 관리 구성은 없습니다. 작업 부하 관리 설정은 업무량에 따라 다르므로 먼저 작업 부하를 이해해야 합니다. 다음 그림은 시스템이 작업 부하를 처리하는 방법을 이해하고 최적화하는 사용할 있는 반복 프로세스를 보여줍니다.

1. 먼저 CPU 사용 메모리 소비 측면에서 시스템이 현재 어떻게 수행되고 있는지 살펴보십시오. 어떤 종류의 워크로드가 시스템에서 실행되는지, 복잡한지, 많은 양의 메모리를 필요로 하는 장기 실행 쿼리인지?
2. 시스템에서의 활동을 폭넓게 이해하면 비즈니스 중요성과 같은 세부 사항을 상세하게 파악할 있습니다. 시간에 별로 중요하지 않은 표준 보고와 비교하여 전략적 또는 분석적 성격의 SQL문장이 실행되고 있습니까? 이러한 SQL문을 보다 효율적으로 실행하도록 최적화 있습니까?
3. 그런 다음 시스템을 이해하면 작업 부하를 처리하는 방법에 영향을 있는 여러 가지 방법이 있습니다. 작업을 CPU 메모리와 같은 사용 가능한 리소스에 매핑하고 작업 부하 클래스를 사용하여 요청 받는 우선 순위를 결정할 있습니다.

1.3        시스템 성능 분석


시스템 뷰를 사용하여 시스템이 현재 워크로드를 얼마나 효과적으로 처리하는지 분석 있습니다.
섹션에서는 작업 부하를 분석하는 사용할 있는 가장 유용한 일부를 나열하고 성능 향상을 위해 취할 있는 작업에 대한 제안 사항을 제공합니다. 이러한 분석 결과가 적용 작업 부하 관리 옵션을 결정하는 도움이 되는 방법에 대한 자세한 내용은 시나리오 섹션을 참조하십시오.
기타 성능 분석 문제는 SAP HANA 문제 해결 성능 분석 안내서에 설명되어 있습니다.

1.3.1       SQL 분석

다음 보기를 사용하여 SQL문의 성능을 분석하십시오.
M_ACTIVE_STATEMENTS
M_PREPARED_STATEMENTS
M_EXPENSIVE_STATEMENTS

이러한 뷰가 명령에 문제점을 표시하면 워크로드 클래스를 사용하여 메모리 병렬 처리를 제한하여 명령문을 조정할 있습니다.
이러한 문에 부정적인 영향을 미칠 있는 세션 변수 (M_SESSION_CONTEXT) 설정도 고려하십시오.

1.3.2       CPU 활동 분석

다음 보기를 사용하여 CPU 활동 분석을 분석하십시오.
M_SERVICE_THREADS
M_SERVICE_THREAD_SAMPLES
M_EXPENSIVE_STATEMENTS.CPU_TIME (column)
M_SERVICE_THREAD_CALLBACKS (stack frame information for service threads)
M_JOBEXECUTORS (job executor statistics)

이러한 뷰는 특정 서비스의 컨텍스트에서 활성화 스레드 스레드가 보유한 잠금에 대한 정보에 대한 자세한 정보를 제공합니다.
이러한 뷰가 단일 명령문에 대해 많은 스레드를 표시하고 일반 시스템로드가 높으면 'execution' ini-parameters 세트에 대한 설정을 조정할 있습니다.