본문 바로가기

TECH ZOOM

[기초가이드] SAP HANA, 이것만은 알고 쓰자



2011년에 SAP HANA가 출시된 이후 기존 SAP 고객 및 컨설턴트뿐 아니라 타 DBMS를 사용하는 고객들도 많은 관심을 가지고 있습니다. 그러나 SAP HANA에 대한 자료 및 교육이 충분하지 않아 SAP HANA를 이해하는 데 어려움을 겪고 있습니다. SAP HANA에 관심이 많은 고객, 컨설턴트, 개발자에게 도움을 주고자 HIS blog를 통해 SAP HANA의 기본적인 이해부터 개발 방법, 성능 분석 방법, 신규 기능 등에 대하여 연재를 할 예정입니다.


SAP HANA는 인메모리 기술과 COLUMN STORE 기술을 결합하여 Business transactions(Online Transaction Processing, OLTP)과 Reporting(Online Analytical Processing, OLAP)이 모두 가능한 인메모리 데이터 플랫폼입니다. SAP HANA는 기존 타 데이터베이스에 대비해서 훨씬 빠른 성능을 나타내는 분석용 데이터베이스로서 출발하였지만 곧 SAP NETWEAVER BW용 데이터베이스까지 지원하게 되어 분석용 DB 뿐만이 아니라 SAP NETWEAVER 시스템을 위한 PRIMARY DATABASE도 가능하게 하였고 2013년 SUITE ON HANA를 출시하면서 ERP 시스템의 DATABASE로도 사용이 가능해졌습니다.


그럼 SAP HANA가 어떤 업무에 많이 쓰이는지 판매 유형에 대해 알아보겠습니다. SAP HANA는 오라클과 같이 단순 DBMS로만 사용을 하는 HANA DATABASE, SAP BW의 DBMS 로 사용하는 BW ON HANA, SAP ERP의 DBMS로 사용하는 SUITE ON HANA가 있습니다. 이 외에 SAP의 CRM, SCM 등의 솔루션에 DBMS로 사용되기도 하고 CO-PA 영역의 단순 ACCELERATOR로도 판매가 되고 있습니다.


HANA DATABASE

HANA DATABASE는 정보계 시스템에 분석용 DATABASE로 사용이 되는데 국내에서는 공공기관, 병원, 제조업 등에서 사용하고 있습니다.


HANA DATABASE의 가장 큰 장점은 데이터 조회 속도입니다. 기존 데이터베이스에 대비해서 수십 배에서 수천 배까지 성능이 향상됩니다. 데이터 ACCESS 건수가 적을 경우에는 기존 DBMS도 인덱스를 생성하여 조회 속도를 빠르게 해놨기 때문에 성능 차이가 크지 않지만 대량의 데이터를 ACCESS 할 경우에는 기존 DBMS 보다 훨씬 빠른 수행 속도를 나타낼 수 있습니다. 따라서 기존에 리포트 조회 속도가 현저히 느린 경우에는 많은 도움이 될 것으로 보입니다.


BW ON HANA

기존 BW 시스템의 경우 데이터가 계속 쌓이면서 쿼리 조회속도가 느려지고 배치 시간이 점점 길어져서 문제가 발생하는데, BW ON HANA 도입 시 이러한 문제들을 해결할 수 있습니다.


쿼리 조회 속도를 빠르게 하기 위해서 BWA를 사용하는 경우도 많은데 BWA 보다 HANA가 조회속도도 빠르고 좀 더 안정적이라고 볼 수 있습니다. BW의 경우 DSO를 활성화하는 데 배치시간이 오래 걸리는데, 이 부분이 확실히 빨라졌고 인덱스와 AGGREGATION이 필요 없어지면서 전체 배치시간은 절반 이하로 줄어든다고 예상하시면 됩니다.


SUITE ON HANA

2013년 4월에 SUITE ON HANA가 출시되었습니다. 분석용 DBMS로 사용하던 SAP HANA가 ERP의 DBMS로 사용되면서 OLAP + OLTP 업무 모두 적용이 가능하게 된 것입니다.


솔루션 출시 이후 신규로 SAP ERP 시스템을 구축하는 몇몇 회사에서 도입하였고, 현재는 기존의 SAP ERP 시스템을 사용하는 고객도 SUITE ON HANA로 이동하는 사례를 볼 수 있습니다. SUITE ON HANA로 변경하고 HANA DB를 사용하면서 조회 속도가 빨라지는 것뿐만 아니라 개발을 편리하게 할 수 있는 다양한 신규 기능도 포함되어 있습니다. 이러한 신규 기능뿐만 아니라 ABAP 개발도 성능 최적화를 위해서는 변경되어야 할 부분이 있으므로 기존 ABAP 개발자들은 이에 대한 교육이 필요할 것 같습니다.



아래는 기존의 SAP 고객 또는 개발자 분들이 자주 질문하는 내용을 정리한 것입니다.


SAP HANA FAQ


1. SAP HANA 데이터베이스는 모든 데이터가 메모리에 있다는데 전원이 나가면 데이터가 사라지나요?


SAP HANA 데이터베이스는 인메모리 데이터베이스이지만 기존 시스템과 동일하게 스토리지를 가지고 있으며 이 스토리지에 특정 시점마다 데이터가 저장이 됩니다. 또한 기존 데이터베이스와 유사하게 데이터 백업 및 복구도 가능합니다.



2. SAP HANA는 어플라이언스라는데 어플라이언스의 의미가 무엇인가요?


어플라이언스는 하드웨어와 소프트웨어가 결합된 일체형 제품을 말합니다.기존에는 소프트웨어와 하드웨어를 따로 구매하여 설치했는데 SAP HANA는 인증된 업체(HITACHI, HP, IBM, DELL 등)의 하드웨어에 소프트웨어가 설치된 어플라이언스 형태로만 구매가 가능해서 장비가 딜리버리된 후 전원만 공급하면 바로 사용이 가능합니다.(원칙은 그렇지만 실질적으로는 데이터베이스 버전 업그레이드 작업을 추가로 하는 경우도 있습니다.)



3. SAP HANA 데이터베이스는 SAP 솔루션에서만 사용이 가능한가요?


SAP HANA 데이터베이스는 SAP ERP, BW, CRM, SCM 등의 SAP 솔루션에서 사용하기도 하지만 SAP 솔루션 여부와 상관없이 데이터베이스 용도로도 많이 사용되고 있습니다. 국내에서도 제조업, 병원, 공공기관 등 많은 곳에서 사용하고 있습니다. 



4. SUITE ON HANA, BW ON HANA는 이전의 SAP ERP, BW와 별개의 솔루션인가요?


데이터베이스가 기존 RDBMS에서 SAP HANA로 변경되었다고 보시면 됩니다. 해당 ERP나 BW 버전에 다른 DBMS로도 설치가 가능합니다. 다만 타 DBMS를 사용할 경우 SAP HANA에서 제공하는 모델링 기능이나 SAP HANA LIVE와 같은 기능은 사용할 수 없습니다.



5. 기존 SAP ERP나 BW 시스템의 데이터베이스만 SAP HANA로 변경할 수는 없나요?


SAP HANA는 어플라이언스로만 판매하기 때문에 불가능합니다. 또한 ERP나 BW 시스템의 데이터를 모두 저장하기 위해서는 수백 기가에서 수 테라바이트의 메모리 공간이 필요한데 기존 시스템에서 이 정도의 메모리 공간을 사용하는 경우도 없을 것이고 기존 하드웨어가 SAP HANA 인증을 받지 않았을 것이기 때문에 불가능합니다.



6. SAP HANA를 실습해보고 싶은데 어떻게 해야 하나요?


SAP에서 제공하는 SAP HANA TRIAL SYSTEM(http://scn.sap.com/docs/DOC-31722), 또는 SAP KOREA의 SAP D-CODE 행사에 참여하시면 SAP HANA 실습이 가능합니다.



7. SAP HANA는 COLUMN STORE 기반이라 더 빠르다고 하는데 그 이유는 무엇인가요?


예를 들어 아래와 같은 테이블의 데이터가 저장될 때 ROW STORE 방식은 첫번째 ROW인 India, Chocolate, 1000이 저장된 이후에 두번째 ROW인 India, Ice-cream, 2000이 저장되는 방식에 반하여 COLUMN STORE 방식은 첫번째 COLUMN인 India, India, Germany, US가 저장이 된 이후에 두번째 컬럼인 Chocolate, Ice-cream, Chocolate, Noodle이 저장됩니다.




따라서 SELECT SUM(SALES) FROM TABLE과 같은 조회 시 ROW STORE 방식은 전체 데이터를 ACCESS 해야 하지만 COLUMN STORE 방식에서는 SALES 부분만 ACCESS하면 되기 때문에 ROW STORE 방식보다 훨씬 빠른 성능을 낼 수 있습니다.



8. SAP HANA는 데이터가 압축되어서 사이즈가 감소한다는데 어느 정도의 데이터 감소가 있나요?


데이터 압축률은 데이터 성격에 따라서 달라집니다. 예를 들어 성별, 나이 등과 같이 동일한 데이터가 자주 반복이 되는 경우에는 압축률이 높고 그렇지 않을 경우에는 압축률이 낮습니다. 경험적으로 봤을 때 대략 1/4~1/7 정도의 사이즈로 압축이 되었던 것 같습니다.



9. 기존의 타 DBMS 개발자가 SAP HANA로 개발할 수 있나요?


SAP HANA의 SQL도 ANSI-SQL 기반이어서 기존의 SQL을 사용하시던 분들은 큰 어려움 없이 개발할 수 있습니다. 단지 해당 DBMS 전용의 함수나 기능은 사용하지 못하고 SAP HANA의 모델링 기능을 사용하기 위해서는 이에 대한 교육이 필요합니다.



10. 타 DBMS처럼 PROCEDURE나 FUNCTION 사용이 가능한가요?


SAP HANA에서도 PROCEDURE나 FUNCTION을 지원합니다. 단 FUNCTION에서 문자열 RETURN은 아직 되지 않아서 이러한 경우에는 SQL 수정이 필요합니다.



11. SAP HANA INFORMATION VIEW(ATTRIBUTE VIEW, ANALYTIC VIEW, CALCULATION VIEW)를 사용하면 SQL 보다 수행 속도가 빠른가요?


CASE BY CASE입니다. INFORMATION VIEW가 빠른 경우도 있고 SQL이 빠른 경우가 있으니 수행 속도가 중요할 경우에는 두 가지 모두 개발해서 비교할 필요가 있습니다.



12. 기존의 ERP 시스템을 SUITE ON HANA로 변경하기만 하면 수행 속도가 훨씬 빨라지나요?


기존의 RDBMS에 비하여 빨라지기는 하지만 최적화 되었다고 볼 수는 없습니다. 따라서 CODE 최적화 작업이 필요하기도 합니다.



13. 기존의 ABAP 프로그램을 모두 HANA에 맞게 변경을 해주어야 하나요?


모든 프로그램을 수정할 필요는 없습니다. 대량의 데이터를 ACCESS하여 수행 속도가 오래 걸리는 프로그램 위주로 개발 비용대비 효과가 좋을 경우에 수정해주는 것이 좋습니다.



14. SAP HANA 자격증에는 어떤 것들이 있나요?


SAP HANA는 모델링 자격증, 시스템 어드민 자격증, ABAP FOR HANA 자격증이 있습니다. SAP 교육센터에서 교육과정으로 진행하고 있으며 교육 이수자에 한하여 자격증 인증시험 신청이 가능합니다


교육센터 이외에 정부에서 지원하는 빅데이터 시스템 과정(모델링과정, 시스템어드민과정)을 수강하시면 모델링 과정 또는 시스템 어드민 과정 인증시험에 지원이 가능하고 SAP KOREA에서 주최하는 SAP HANA D-CODE 행사에 참여하시면 ABAP FOR HANA 인증 시험 지원이 가능합니다.