[이솔소] 무한확장 가능한 분석 플랫폼 ‘그린플럼’
이솔소 : 이 솔루션을 소개합니다.
기업의 디지털 혁신 과정에는 다양한 소프트웨어와 하드웨어 솔루션이 사용됩니다. 이솔소 코너에서는 이런 솔루션들의 특징과 장단점, 활용사례 등을 살펴봅니다. 이번 이솔소는 20222년 4월 7일 진행된 바이라인플러스 웨비나 ‘그린플럼 기반 무한 확장 분석 플랫폼 구축 방안’을 기반으로 작성되었습니다.
그린플럼은 무엇인가
그린플럼은 MPP(대량병렬처리) 아키텍처와 포스트그레SQL를 기반으로 하는 분석용 데이터베이스다. 그린플럼은 2003년 미국 캘리포니아 샌 마테오 설립됐으며, 2010년 EMC와 VM웨어에 인수됐다. 현재는 VM웨어의 탄주 그린플럼이라는 브랜드로 소개된다.
그린플럼의 MPP 아키텍처는 하나의 서버 안에서 여러 개의 DB 프로세스가 독립적으로 병렬 처리를 하는 것이 특징이다. 단순히 서버만 병렬로 구성된 것이 아니라, 서버와 프로세스 구조로 병렬처리를 극대화하고 있다. 데이터 저장하는 곳에서 데이터를 처리하기 위해 독립적인 CPU와 메모리가 제공되며, 다양한 워크로드 처리를 위한 패키지가 함께 동작하는 것이 특징이다. 단순히 저장뿐만 아니라 연산 처리도 독립적이고 병렬적으로 수행되기 때문에 성능이 우수하다.
회사 측은 그린플럼에 대해 “초대용량의 분석 DB이면서 머신 러닝에 활용되는 분석 플랫폼으로 기능을 확장하고 있다”고 소개했다.
그린플럼의 핵심 기술 요소 3
- 그린플럼은 비정형 데이터에 표준 SQL을 활용할 수 있다. 일반적으로 SQL은 정형 데이터 처리 및 분석에만 활용되는데, 그린플럼은 비정형 데이터 분석까지 분석 범위를 확장한다.
- 그린플럼은 데이터베이스 내에서 머신러닝을 구동할 수 있다. 일반적으로 데이터 분석을 위해서는 데이터웨어하우스(DW)나 데이터레이크에서 데이터를 추출해서 워크스테이션에서 머신러닝을 돌린다. 데이터를 모두 워크스테이션으로 가져올 수 없으니 데이터를 샘플링하게 되고, 샘플 데이터가 이동하는 과정에서 속도도 저하된다. 전체 데이터를 분석하는 것이 아니라 분석 품질이 떨어질 가능성도 있다. 반면 그린플럼은 샘플 데이터를 추출하지 않고 DB 내에서 데이터를 직접 분석할 수 있다. 때문에 전체 데이터가 분석 대상이 될 수 있고, 데이터 이동 시간도 필요 없어진다.
- 그린플럼은 플랫폼에 제약을 받지 않는다. 온프레미스 분석 환경에서부터 가상화 환경, 클라우드 환경 등 원하는 환경에서 그린플럼을 구성할 수 있다.
그린플럼과 데이터레이크와의 관계
한때 빅데이터가 곧 하둡(Hadoop)이라는 인식이 강했었다. 빅데이터는 용량이 너무 커서 과거에는 분석은커녕 저장도 어려웠었는데, 하둡이 등장하고 나서야 비로소 빅데이터를 분석할 수 있게 됐기 때문이다.
하지만 이제 와서 돌아보면 하둡이 100% 정답은 아니다. 하둡은 맵리듀스라는 분석기법을 활용하는데 이제는 맵리듀스를 사용하는 기업은 거의 없다. 분석 효율성이 무척 떨어지기 때문이다. 그래서 요즘은 하둡 대신 오브젝트 스토리지를 활용한 클라우드 기반의 데이터레이크가 많이 언급된다.
그린플럼의 특징 중 하나는 데이터레이크와 함께 구성하면 효율적인 분석 환경을 만들 수 있는 점이다. 데이터레이크를 만들었다고 그린플럼이 필요없어지는 건 아니다. 데이터레이크와 그린플럼은 함께 활용하면 유용하다. 데이터레이트와 그린플럼의 시너지 활용법은 아래와 같은 방법이 있다.
- 데이터레이크에서 데이터를 1차 가공하고 정제해서 그린플럼에 넣을 수 있다. 그린플럼에 넣으면 SQL로 분석을 할 수 있다. 사실 많은 기업이 비정형 데이터를 보관하기 위해 데이터레이크를 만들지만, 막상 만들고 나면 정형 데이터가 더 많이 생성되는 경우도 많다. 이런 경우에는 직접 그린플럼 데이터베이스로 적재되는 것이 적합할 것이다.
- 데이터레이크에서 그린플럼으로 데이터를 가져와서 SQL로 빠르게 가공하고 다시 데이터레이크에 넣을 수도 있다. 그린플럼은 ANSI 표준의 SQL 쿼리를 지원한다. 이 경우 데이터 처리에 대한 컴퓨팅 리소스를 분리해 데이터레이크의 부하를 감소시킨다.
- 그린플럼을 통해 데이터레이크의 데이터를 엔드유저나 개발자가 이용하도록 서비스 할 수 있다. SQL을 이용하여 손쉽게 개발이나 분석 업무에 적용할 수 있다.
- 분석 시스템의 데이터 수명 관리를 위한 아카이브 영역으로 활용할 수 있다. 분석 시스템에 있는 오래된 데이터나 히스토리 데이터를 데이터 레이크에 보관하면 된다.
레퍼런스
유통사 A
A사는 수명이 다 되어가는 기존의 DW시스템을 대체할 솔루션이 필요했다. A사는 그린플럼 기반의 신규 DW시스템으로 마이그레이션 하면서 배치(Batch)의 ETL(데이터 추출, 변환, 적재) 시간을 4시간에서 2시간으로 단축했으며, 용량이나 성능 확충이 필요하면 수평적인 확충(스케일아웃)을 할 수 있도록 했다.
시스템을 고도화하면서 구글의 마케팅 플랫폼인 ‘구글 애널리틱스 360’에서 나오는 로그까지 담아야 하는 니즈가 발생했다. 고객 행동 패턴 등을 분석하고 예측하기 위함이었다. 또 최대 2년까지의 로그를 장기 저장하기 위한 공간이 필요했는데, 필요한 공간이 너무 컸고 이를 조회하는 속도도 매우 느렸던 것이 A사의 고민이었다.
A사는 구글 클라우드에 데이터레이크를 구성하고 ‘구글 애널리틱스 360’의 로그 데이터 중에서 의미를 찾을 수 있는 히트 정보와 프로덕트 정보만을 발췌해서 JSON 파일로 압축해서 넣어뒀다. 그리고 이것을 엔드유저가 쉽게 조회하고 서비스하기 위해서 그린플럼으로 추출해 SQL로 쿼리할 수 있도록 테이블화 시켰다. 데이터레이크와 그린플럼 간의 데이터 연계에는 pxf라는 기술이 사용된다.
제조사 B
B사의 데이터 사이언티스트는 20만개의 대상 데이터를 기준으로 자신의 워크스테이션에서 머신러닝을 진행했다. 이 경우 24시간이 소요됐다. 하지만 그린플럼의 인(in) 데이터베이스 분석과 병렬 처리로 데이터 전처리와 머신 러닝을 변환했을 때 소요 시간이 3분의 1로 줄었다.
사용자의 편리성이나 기능도 중요하지만, 그보다 앞서 데이터 분석의 품질과 성능이 우선되어야 한다는 점을 보여주는 사례다. B사는 그린플럼을 통해 전수 데이터를 기반으로 분석을 진행할 수 있었고 분석 성능도 대폭 개선됐다.
“분석 플랫폼을 구축할 때 시스템의 기능적인 측면만을 고려할 것이 아니라 조직의 분석 역량 강화에 관심을 기울여야 한다”
– 홍종현 상무 | VMware Tanzu Data Presales