[제9회 ACC]“인터랙티브 하둡, 타조를 소개합니다”

일반입력 :2013/04/17 17:24

빅데이터 활용을 위한 기반 기술로 거론되는 하둡도 모든 면에서 최강자는 아니다. 적은 비용으로 오랜 시간 대용량의 데이터를 담아뒀다가, 가치를 뽑아내는데는 장점을 발휘하지만, 쿼리 처리 시간에선 여전히 데이터웨어하우스(DW)에 뒤진다.

이런 한계로 하둡은 배치 영역에서 보여주는 능력을 실시간 환경에선 온전히 발휘하지 못한다. 이같은 한계를 극복하기 위해 하둡 진영에서 여러 프로젝트들이 진행되고 있다.

그중 하둡 업계에서 가장 알려진 게 구글의 드레멜과 클라우데라의 임팔라다. 두 기술 모두 SQL쿼리를 통한 처리시간을 줄이기 위한 노력이다. 드레멜이나 임팔라 같은 기술을 사용하면 하둡은 인프라를 빠르게 확장할 수 있으면서, 쿼리분석도 빠르게 처리하는 데이터처리 기술로 발돋움하게 된다.

미국에서 이뤄지는 하둡 진영의 노력과 함께 한국에서도 같은 목표를 가진 프로젝트가 있다. 한국 개발자들을 주축으로 만들어지고 있는 ‘타조 프로젝트’다. 타조는 아파치 재단 인큐베이터로 최근 등록됐는데, 고려대학교 최현식, 손지훈 박사와 그루터 개발자들에 인텔, 호튼웍스 등의 개발자도 이 프로젝트에 참여하고 있다.

최현식 박사는 17일 서울 잠실 롯데호텔에서 지디넷코리아가 개최한 ‘제9회 어드밴스드컴퓨팅컨퍼런스’ 강연자로 나서 ‘타조 프로젝트’를 소개했다.

최현식 박사는 타조를 하둡 기반의 분산데이터웨어하우스 시스템이라고 설명했다. SQL을 사용해 빅데이터를 분석할 때 맵리듀스를 사용하지 않고 HDFS 파일을 바로 읽어내는 기술이다.

그는 “아파치 타조는 하둡의 하이브를 대체하는 기술을 만들자는 목표로 시작됐고, 효율성과 로레이턴시 시스템을 향해 발전하고 있다”라고 말했다.

그는 “맵리듀스 프로그램 대신 자체 설계한 처리 엔진을 통해 하이브보다 훨씬 빠른 처리 시간을 보여준다”라며 “비공유클러스터와도 호환되고, 네트워크 보틀넥이 없는 설계구조를 갖는다”라고 설명했다.

타조 개발진은 비공유 구조 상에서 발생하는 네트워크 보틀넥을 보완하기 위해 셔플 횟수를 줄일 수 있는 실행모델을 고안했다. DB에 널리 사용되는 코스트 기반 쿼리 최적화, 컬럼 익스큐션 엔진 등의 각종 기법을 적용하면서, 레거시 시스템까지 연동할 수 있는 방안도 고민이었다.

타조는 무엇보다 온라인 상에서 SQL 입력 데이터 처리를 완료하기 전에도 결과값을 볼 수 있다는 특징을 갖고 있다.

그는 “큰 그림 위주로 결과값을 확인해야 하는 필요가 있는데, 타조는 중간 결과값을 확인하고 정확하다고 판단되면 중간에 중단하는 것도 가능하다”라고 설명했다.

특히 타조는 하나의 SQL 쿼리처리를 위해 필요한 잡의 오버헤드를 줄이는데 역점을 둔다. 그 결과 비용을 줄이면서, 아무리 큰 쿼리라도 하나의 잡으로 처리해 성능을 높인다.

그에 따르면, 작년 8월 TPC-H 테스트 당시 타조는 하이브 보다 모든 쿼리에서 앞선 성능을 보였다.

그는 타조와 임팔라를 비교하기도 했다. 드릴은 맵R을 중심으로 개발되고 있던 유사기술이다.

그는 “타조는 노드의 메모리보다 큰 데이터라고 해도 처리할 수 있는 성능을 보이지만, 임팔라는 작은 데이터만 효과적으로 처리하는 한계를 갖고 있다”라며 “또한 임팔라가 소스코드만 공개될 뿐 외부 개발자가 참여할 수 있는 부분이 적다는 것도 타조와 대비되는 점”이라고 말했다.

타조는 2010년 고려대학교 데이터베이스랩에서 시작됐다. 올해 3월 7일로 아파치재단 인큐페이터로 선정되면서 그 세를 불렸다. 그루터 인력이 적극 참여해 타조 고도화에 기여하고 있으며, 개발 속도에 힘을 붙이고 있다.

관련기사

아키텍처는 마스터 워커 모델을 따른다. 마스터 한 대와 다수의 워커로 구성되고, 하둡의 얀(YARN)을 리소스 플랫폼으로 사용해 맵리듀스나 하이브, 피그 등의 하둡 클러스터도 공유할 수 있다. 각 워커는 로컬 쿼리엔진이 HDFS나 로컬 파일시스템, 다른 데이터 소스 테이블을 처리할 수 있게 설계됐다.

그는 “막 인큐베이팅된 만큼 빠른 시일 내 아파치 이름으로 첫 번째 버전을 내놓을 것”이라며 “이후 API나 기능을 논의과정을 거쳐 표준화하고, SQL 풀스펙 지원, 코스트 기반 최적화 개선, 네이티브 컬럼 익스큐션 엔진 등을 개선해나갈 계획이다”라고 강조했다.