본문 바로가기
Analytics/Analytics tools

Dynamic Cubes 기술

by Write the Story of Your Life 2014. 12. 24.



Cognos BI 가 IBM에 인수된 이후, 가장 큰 제품의 변화는 DQM과 Dynamic Cubes 라고 생각합니다.

기존 Cognos 8 BI 버전의 성능 취약 부분을 해결하고자 IBM 기술이 접목되어 들어간 부분입니다. 개인적으로 DQM 기술을 통해서 확실한 성능 혁신을 몸으로 느꼈지만, Dynamic Cubes는 아직도 확인하지 못했으며 받아들여야 할 좋은 기술일지 아직 물음표입니다.

제가 그렇게 생각하는 이유는 이렇습니다.

이 기술은 갑자기 하늘에서 뚝 떨어진 기술이 아닌 IBM Cubing Service 인데, 이미 시장에 나온지 꽤 오래된 기술이며, 과거 IBM이 BI 솔루션이 없을때 OLAP을 고성능으로 처리하기 위해 나온 기술입니다. 하지만, 당시 DB2 및 Inforsphere 선수 들에게 문의해보면 좋은 feedback을 주시는 분은 없고, 심지어 잘 모르는 분들도 많더군요.

자. 그러면 이런 기술을 Cognos BI에 굳이 밀어넣은 이유가 뭘까요?

IBM 빅데이터 전략상, 기존 기술(CQM)과 신기술(DQM)로는 대용량 데이터(예. 2억건 이상의 fact table에 대한 쿼리?)에 대해 고성능 분석이 어려우니 새로운 기술이 필요해서 넣었다고 생각되며, 다른 한가지는 IBM의 Cloud 전략상 인메모리 데이터 소스는 큰 장점이 될 수 있다고 생각됩니다.

이렇게 되고보니 기존 Cognos 선수들은 헷갈리게 되는게 Cognos의 Cubes 기술은 과거 PowerCubes, TM1 Cubes, Dynamic Cubes 세개가 되고, 이들 기술의 특성은 어떻게 다르고, 어떤때 뭘 써야할지 등.. 어렵다고 느껴지는거죠.

저도 그래서 이 글을 쓰면서 정리를 하고 있습니다. ^^;;

일단 이 번 글에서는 본 기술의 특징 및 장점/단점을 확인하려합니다.

이후에는 실제 활용방법에 대해서 적어보려 합니다.


Dynamic Cubes 기술 특징

1. 인메모리 큐브

 : 별도 라이센스 없이 인메모리의 큐브 기술을 사용하여 고성능 분석을 할 수 있습니다. 분석 성능 고민을 얘기하면, SAP BO는 "SAP HANA구매하세요" 라는 답을 주고, ORACLE OBIEE는 "Exalytics 구매하세요" 라고 할 수 밖에 없습니다. 이 둘은 다 appliance 솔루션이라 막대한 금액을 들여야 가능한 것이지요.

2. Aggregation Awareness

 : Cognos는 늘 공격받던 부분이죠. 태생이 MOLAP이라 성능의 고민을 하지 안았죠. 하지만 ROLAP 제품들은 DB성능이 좋지 안았던 과거에 이를 극복하기 위한 것으로 summary table을 마음데로 drill path로 연결이 가능했습니다.

3. 대용량 지원

 : 기존 Powercubes는 소스코드가 32bit여서 카테코리의 제약이나, 대용량 데이터를 담을 수 있는 구조가 아니었고, TM1 큐브의 경우는 64bit 코드여서 이론적으로는 용량에 제약이 없으나 대량데이터를 담기에는 몇가지 이슈들이 있었습니다. 거기에 비하면, Dynamic Cubes는 TB급 데이터 사용에 제약이 없이 사용 가능합니다. (추가 2015.12.16 - 최근 TM1 레퍼런스를 보면 TB 단위의 구축 사례가 꽤 보이며 기술적인 문제가 없어보입니다.)

4. Cube building time

: 기본적으로 큐브는 미리 데이터를 말아놓으니 빠르다가 정설인데, 문제는 데이터 량이 많아지면 필연적으로 큐브사이즈가 커지고, 거기에 큐브 생성 시간이 늘어나게됩니다. 분석업무 해보신 분들이야 당연한 얘기지만 기간 시스템이 마감 or 정산을 하고, 정보계로 데이터 ETL을 해오고 보통 현업들이 근무시간인 9시 전까지 시간이 여유가 없습니다. 그런데 그 정신없는 시간에 큐브 빌딩 타임마저 길어져 버리면 정작 이 큐브를 보려는 유저가 필요한 때에 전달하지 못하는 문제가 생깁니다. Dynamic Cubes로 2~3억 건 데이터로 큐브를 말아봐도 큐브 생성 및 개시까지 30초가 넘지 안습니다. 여기엔 한가지 트릭이 있어요. 첨 빌딩때는 멤버 정보만으로 큐브를 만들고, fact 값은 가져 가지 안습니다. 즉, 처음의 큐브는 엉성한 골격을 가진 큐브라고 보시면 됩니다. 유저들이 사용할 때마다 그 큐브가 만들어져간다고 보시면 됩니다.

5. 스마트한 성능 가이드 방안

: 메모리에 큐브가 있고, DW의 집계 테이블도 참조가능한데 그렇다면 성능이 저하되면 알려주거나 집계테이블이 효율적으로 사용가능한지 or 이런 집계테이블이 있으면 성능이 더 좋아집니다 라고 분석솔루션에서 지원이 필요하게 됩니다. 그렇지 안으면 메모리나 집계 테이블을 효율적으로 사용하는지 모니터링이나 관리가 애매하게 돼죠. 그래서 Dynamic Cubes에서는 사용하는 메모리큐브와 집계테이블 hit ratio 통계를 가지고 관리자에게 가이드를 주고, 성능 최적화를 하거나 또는 필요한 집계테이블의 DDL을 추천하는 기능을 제공합니다.


Dynamic Cubes 장점/단점

기타 장점으로는,

- 가상큐브를 지원하여 하나의 큐브에 대해서 재사용하는 부분이나 큐브 to 큐브 조인 가능

- Enterprise BI 소스의 기본 기능인 다양한 유저 클래스별 보안 레벨 적용 가능

- Aggregation Advisor가 내장되어 큐브 사용에 대한 통계를 분석하여 자동으로 성능향상을 위한 리포팅 및 DDL 제공

 : 예를 들면 기본 큐브만 제공했는데, 유저들의 분석패턴을 통계로 가지고 있다가 메모리 큐브 최적화를 해주거나, 집계 테이블이 필요하다며 DDL을 보여줍니다. DBA에게 확인하여 해당 DDL을 통해 집계 테이블을 만들고 연결해주면 바로 성능향상이 가능합니다.


단점

- FM 모델링과는 별도의 모델링을 필요로 합니다. (새 버전에서는 FM의 기존 모델 import 가능)

- OLAP의 function이 아직도 모자란 부분이 보입니다. (Fix pack 레벨에서도 계속 기능이 추가되고 있음)

- 모델링 과정이나 publish 과정에서 발생되는 에러 메세지가 아직 친절하지 안음

 : 저조차도 불만인데, 친절한 설명이 없이 에러가 나고 진행이 안되는 경우가 자주 있는데, 아직 툴이 익숙하지 못해서 그렇것도 있지만 이 부분은 계속 기록하여 향후 사용자를 위해 정리 하려고 합니다.


Dynamic Cubes 이 기술의 경쟁자

MicroStrategy 제품이 In-Memory ROLAP 이라는 기술이 최근 나와서 공격적으로 마케팅을 하고 있는데, 굉장히 유사한 기술로 보입니다. IBM과 전략적인 부분도 비슷하구요. 다만 그들의 Kick Off 행사에 2년 연속 Facebook 임원이 나와서 이 기술을 통해서 자사 분석성능이 향상되었다고 자랑해주시는 걸 보면 뛰어난 기술로 판단됩니다.


자, 이런 기술이 있으면 뭐 하나요.

이 기술을 잘 꿰어서 해당 프로젝트에서 잘 접목시켜야 하지요. 앞으로의 분석 시장은 결국 현업의 목소리로 판가름 나게 될 것입니다. 2015년에는 이 기술이 모든 프로젝트에 접목되도록 더 노력하겠습니다.

반응형

'Analytics > Analytics tools' 카테고리의 다른 글

재무 용어  (0) 2017.06.30
Dynamic Query Mode (DQM) 기술  (0) 2015.01.02
인메모리 기술 분류 (Link)  (0) 2014.05.26