HANA DB

HANA Scale-up and Scale-out 구성

HANA Scale-up and Scale-out 구성

우리가 흔히들 처음 듣는 용어에 대해서 생소한 경험을 가지고 있습니다. 이 단어(개념)이 영어로 되어 있는 경우에 어떤 내용인지 감이 오지 않게 되는데 지금 소개할 내용도 생소한 개념인 스케일 업, 스케일 아웃, 복제등에 해당됩니다.

이제 제가 설명할 내용은 HANA 를 구축하게 되면 기존 데이타베이스(DB)인 Oracle, MS SQL 서버에서 설치(구축)하고 사용하는 개념에서 벗어나는 부분이 있어서 이것을 설명하도록 하겠습니다.

이해를 쉽게 하기 위해서 가장 많이 사용하고 있는 Oracle 데이터베이스를 기준으로 HANA를 어떻게 다른지를 설명하도록 하겠습니다.

오라클에서는 처음에 시작할때는 Single Server로 DB를 구성하고 사용하게 되었는데 문제가되는 점은 서버가 장애가 발생했을 때 접속을 하지 못해서 사용하지 못하는 상황이 발생하게 됩니다.

1 Oracle single server

그래서 Oracle에서 나오게 된 것이 Real Application Clusters (RAC)라는 제품을 출시하게 됩니다.

이렇게 되면 1대 서버가 장애가 발생하여 접속하지 못하는 상황에서 다른 서버로 접속이 가능하게 됩니다. 즉 Active 서버가 장애가 발생하면 Standby 서버로 접속하여 사용자는 업무를 계속해서 할 수 있습니다.

1 Oracle HA(High Availability)

아래 그림과 같이 서버(Node)를 여러 개 사용하여 1대 서버가 문제가 발생해서 접속하지 못하더라도 다른 서버로 접속하여 계속해서 업무를 수행할 수 있습니다.

Image-0001

여기에 SAP HANA도 1대로 Single Node로 구성 할 수 있는데 사용자가 계속해서 접속하여 업무를 수행하기 위해서 여러대로 구성하여 고가용성(High availability)으로 구성 할 수도 있습니다.

  • HANA Scale out으로 구성된 시스템 입니다.

아래 그램을 SAP에서 권장하는 4개 서버(Node)로 구성하는 방법입니다.

Image-0000

SAP에서는 Node 1번은 Master 노드라고 하고 Node2, Node2을 Slave 노드, Node4번을 Standby 노드라고 합니다.

Node 1 = Master 노드

Node 2,3 = Slave 노드

Node 4 = Standby 노드

Image-0002

아래 그림은 Node 4번인 Standby 노드는 물리적인 Disk가 없다는 것을 나타내는 그림입니다.

Image-0003

이렇게 HANA를 구성하는 이유는 오라클의 RAC에서 설명 드린 것과 동일한 개념으로 1대 서버가 문제가 발생하여 접속하지 못할 때 다른서버(Standy 서버)가 그 역할을 수행하여 일반 사용자는 서버가 문제가 생겼는지 알지 못하고 계속해서 하던 업무를 수행하게 됩니다.

이렇게 구성하게 되는 것을 Scale out으로 구성한다 라고 합니다. 그런데 HANA가 메모리를 DB로 사용하다 보니 데이터가 계속해서 증가하게 되면 더 이상 메모리를 사용할 공간이 부족하게 됩니다. 이것은 처음 HANA를 사용할 때는 문제가 안되지만 데이터가 계속해서 사용하게 되면 메모리가 부족하게 됩니다. 우리가 오라클을 DB로 사용할 때는 데이터가 증가하게 되면 디스크를 추가하여 용량을 증가시켜줬는데 HANA는 메모리를 사용하기 때문에 메모리를 증가 시켜줘야 합니다.

여기에서 메모리를 추가할 때 2가지 방법이 있습니다. 2가지 방법이 Scale out과 Scale up이 있습니다.

  • Scale up은 아래의 그림과 같이 기존 서버에 CPU, Memory를 추가 하는 것입니다.

Scale-up-vs-Scale-out

기존에 서버가 4TB의 메모리를 사용하고 있다면 CPU와 메모리를 추가하는 방법입니다. 이렇게 하기 위해서는 기존에 사용하고 있는 하드웨어가 8TB까지 장착할 수 있는 장비 이여야 합니다.

그래서 도입 초기에 서버를 구매할 때 HP나 Lenovo의 하드웨어(H/W)장비가 최대 Memory를 몇 GB까지 설치가 되는지 확인하고 구입을 해야 합니다. HANA 는 데이터를 메모리에 저장하는 In-Memory 데이터베이스 장비이기 때문에 사용하면 할수록 데이타가 늘어나는 구조이라 메모리를 추가로 증설해야 하는 상황을 맞이하게 됩니다.

그 추가로 메모리를 늘리는 방법에는 Scale up 방식과 Scale out 방식, BW인 경우 BW NLS(Near Line storage) 방식으로 데이터가 증가되는 문제를 해결 할 수 있습니다

 

안녕하세요. 사이트를 방문해주셔서 감사합니다.

댓글 3개

  • Jay

    관리자님, IBM tdi 구성시 dlpar 를 이용한 cpu, memory 리소스 동적관리를 활용하는 scale up 구성이 권고일지 궁금합니다!
    도움이 되는글 올려주셔서 감사합니다!

    • 박성두

      IBM 장비로 구성시 LPAR로 cpu,memory scale-up은 IBM에 문의를 해보는게 좋을듯 합니다.
      제 생각에는 LPAR구성도 가상화로 보는게 맞을듯 한데요.
      안정성 측면에서 LPAR로 구성한 CPU,Memory는 안정성이 떨어질듯 하네요.

      • Jay

        동적 리소스 할당은 메모리에 민감한 hana 서버에는 적절치 않을수 있겠다는 생각을 해보게되네요.
        답변 감사합니다!

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다