아파치 드루이드를 가장 쉽게 활용하는 방법은?

이 기사는 지난 5월 12일 진행된 바이라인플러스 웨비나 <최신 클라우드 데이터베이스 기술과 동향>의 발표 세션을 기사화한 것입니다. 

오픈소스 소프트웨어는 IT 혁신을 이끄는 동력이다. 과거에는 대형 IT 기업이 신기술을 발표하면 그것이 곧 새로운 기술 트렌드로 자리잡았지만, 이제는 오픈소스 소프트웨어를 통해 기술 트렌드가 바뀐다.

특히 데이터 분야에서는 이런 현상이 더욱 두드러진다. 빅데이터 분석과 관련된 무수히 많은 오픈소스 소프트웨어가 등장했다. 데이터 분석에 여전히 많은 해결과제가 있기 때문이다. 데이터의 양과 종류가 급증하고 있으며, 데이터 분석을 활용하려는 사람들도 늘고 있다. 많은 오픈소스 프로젝트가 이런 과제를 해결하기 위해 진행되고 있다.

그 중 주목할만한 오픈소스 프로젝트로 ‘아파치 드루이드’라는 것이 있다. 아파치 드루이드는 실시간 데이터를 다수의 이용자들이 접속해 그때그때 필요한 분석을 할 수 있는 환경을 제공하는 데이터베이스다. 실시간 데이터를 분석할 수 있다는 점과 다수의 분석 이용자를 수용할 수 있다는 점이 아파치 드루이드의 강점이다.

지난 12일 <바이라인 네트워크>가 주최한 ‘최신 클라우드 데이터베이스 기술과 동향’ 웨비나에서는 아파치 드루이드를 기반으로 서비스를 제공하는 소프트웨어 업체 ‘임플라이’가  ‘최신 분석 애플리케이션을 위한 DBaaS’라는 주제로 발표를 진행했다.

이날 발표한 임플라이의 윤선정 이사(Executive)는 아파치 드루이드에 대해 “분석 애플리케이션을 지원하도록 특별히 설계된 고도로 최적화된 분산 수집 데이터베이스”라고 소개했다.

드루이드란 무엇인가

과거의 분석용 DB들은 성능을 높이기 위해 대규모병렬처리(MPP) 기술을 사용했다. 마스터의 각 노드들이 각각의 컴퓨팅과 스토리지를 보유하고 있으며, 서로 공유하지 않는 셰어드나씽(Shared Nothing) 구조였다. 이는 노드를 추가하거나 제거하는 데에는 유연하지 않았다.

이를 해결하기 위해서 컴퓨팅과 스토리지를 분리하는 클라우드 데이터웨어하우스가 나왔다. 스토리지와 컴퓨팅을 분리를 하게 되면 규모를 늘리거나 줄이기 쉽다는 장점이 있다. 반면 성능은 조금 떨어질 수밖에 없다는 단점이 있다.

아파치 드루이드는 이런 두 가지 문제를 모두 해결하겠다는 목표로 등장했다. 마스터 노드와 쿼리 노드, 데이터 노드를 각각 독립적으로 컨트롤하는 것이 특징이다. 대규모 데이터를 처리하고, 다수의 동시 사용자를 지원하기 위한 아키텍처다.

아파치 드루이드는 스토리지에서 컴퓨팅 레이어로 데이터를 미리 가지고 준비를 시켜 놓는다. 쿼리를 실행하기 전에 이미 데이터가 준비가 되어 있는 것이다. 그리고 자동으로 노드 밸런싱을 수행하며, 변경된 노드에 맞게 워크로드가 자동으로 재분배가 된다.

또 새로운 데이터가 들어오면 스토리지에 데이터를 보내기 전에 컴퓨팅 레이어에서 먼저 분석할 수 있다. 드루이드가 실시간 데이터 분석에 유용한 이유다. 이 때문에 스트리밍 데이터 분석에 드루이드가 많이 활용된다.

드루이드의 테이블은 세그먼트로 분할이 되고, 컬럼 형태의 압축된 형식으로 데이터 노드에 저장이 된다. 쿼리가 들어오면 쿼리 노드가 워크로드를 분산하고 쿼리의 일부들을 각 관련 서버로 확장을 한 후 단일 결과를 반환한다. 이로 인해 대규모의 데이터, 수십억 개의 새로운 칼럼, 수천 명의 동시 사용자로부터 나오는 대화형 쿼리를 처리할 수 있다.

특히 드루이드는 자동 노드밸런싱과 리플리케이션을 통해서 오류를 자동으로 복구하고 다운타임 없이 유지 관리가 가능하다. 한 노드에 장애가 발행하면 자동으로 클라우드 스토리지에 복제가 된다. 죽은 노드의 데이터는 클라우드 스토리지에서 간단하게 검색이 되고 또 나머지 노드에 자동으로 배포가 된다.

임플라이 폴라리스

임플라이는 아파치 드루이드를 이용해 다양한 서비스를 제공하는 회사다. 대표적인 제품으로는 ‘임플라이 폴라리스’가 있다. 이는 임플라이가 아파치 드루이드를 직접 클라우드에서 제공하는 완전 관리형 서비스다.

이를 이용하면 개발자는 드루이드를 자체적으로 관리하거나 운영할 필요 없이 드루이드의 모든 기능을 활용할 수 있다. 데이터베이스를 관리하는 시간과 노력을 데이터 분석에 더 집중해 사용할 수 있는 것이다.

윤선정 이사는 “임플라이 플라리스는 복잡한 구축이나 세팅 없이 5분 만에 분석 앱을 구축을 할 수가 있다”고 설명했다.

윤 이사는 “분석 앱에 데이터를 간편하게 수집을 할 수 있으며 어떤 툴을 설정하거나 모니터링을 하기 위한 데이터 파이프라인이 없어도 푸시 기반의 수집으로 단일 UI 상에서 강력한 시각화 엔진을 통해서 분석 애플리케이션을 빠르게 구축하는 데 필요한 모든 것을 제공한다”고 강조했다.

윤 이사는 “국내에서도 네이버, 라인, 11번가 등에서 임플라이를 활용을 하고 있다”면서 “굉장히 다양한 산업의 기업들이 임플라이 폴라리스 기반으로 분석 애플리케이션을 구축해서 활용을 하고 있다”고 덧붙였다.

글. 바이라인네트워크
<심재석 기자>shimsky@byline.network

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다