이베이도 SQL온하둡 기술 공개

일반입력 :2014/10/27 11:37

전자상거래 업계 거물인 이베이가 내부에서 개발한 빅데이터 분석용 분산 처리 엔진을 오픈소스로 풀었다.

최근 이베이는 빅데이터용 하둡 플랫폼에 저장된 데이터를 SQL 쿼리로 분석할 수 있는 데이터 분산 처리 엔진 '기린(Kylin)'을 공개했다.

이베이는 SQL인터페이스를 제공하고, 대규모 하둡 환경에서 다차원 배치분석(OLAP)을 할 수 있다고 설명했다. 기린을 통해 수페타바이트 용량에 달하는 데이터 쿼리를 보다 빠르게 처리할 수 있다고 강조했다.

이베이를 구글이나 페이스북에 견줄 빅데이터 사용자로 볼 수는 없다. 하지만 대규모 하둡 환경에서 기존 분석툴을 활용할 수 있는 또 하나의 대안이 나왔다는 평가다. (☞기린 공식홈페이지)

이베이 기술블로그에 의하면, 이베이는 사용자 수 증가와 유형 다양화에 따라 데이터 규모가 급증하는 상황에 직면했다. 이런 가운데 현업부서와 분석조직은 최소한의 레이턴시를 유지하면서도, 타블로나 엑셀 같은 현재 분석용 도구를 그대로 사용하기를 원했다.

이에 이베이는 수십억개 열에서 서브세컨드(1초도 안걸리는 시간) 쿼리 레이턴시, SQL호환 도구를 사용한 ANSI(American National Standards Institute) 표준 SQL 가용성, 진화된 기능을 제공하기 위한 완벽한 OLAP(Online Analytical Processing) 능력, 높은 카디널리티(cardinality: 특정 쿼리문을 실행시켜서 나오는 결과 값

)와 대규모 다면 지원, 수천 사용자를 위한 높은 동시성, 테라바이트(TB) 및 페타바이트(PB) 데이터 분석을 위한 분산 및 확장형 아키텍처 등의 요구사항을 충족하는 기술을 개발하게 됐다.

기린은 100억개에 달하는 데이터 열을 가진 하둡에서 쿼리 레이턴시를 줄여준다. ANSI SQL쿼리 기능 다수를 지원한다. 서브세컨드 레이턴시로 기린에서 하둡데이터에 대한 대화형 쿼리분석을 할 수 있다.

기린은 또 다차원(Multidimensional) OLAP 큐브 쿼리를 활용하는데, 사용자는 100억개 이상의 데이터 열 기록에 대해 다차원 데이터 모델을 정의할 수 있다.

타블로 같은 외부 비즈니스인텔리전스(BI) 툴과 통합가능하며, ODBC(Open Database Connectivity) 드라이버를 제공한다.

이밖에 잡 매니지먼트와 모니터링, 압축 및 인코딩, 큐브 증분 새로고침, 쿼리 레이턴시에 HBASE 코프로세서 활용, 별도 카운트를 위한 근접 쿼리, 관리/빌드/모니터/쿼리를 위한 웹인터페이스, 큐브/프로젝트 레벨의 ACL 보안, LDAP 통합 지원 등이 특징으로 제시됐다.

기린 코어는 메타데이터 매니저, 잡 엔진, 스토리지엔진, REST(Representational state transfer) 서버, ODBC 드라이버, 쿼리 엔진 등으로 이뤄져있다.

기린은 데이터를 하이브에서 가져온다. 맵리듀스 잡을 돌려 사전에 계산한 후 처리한 데이터를 HBASE에 큐브란 키값 기반의 형태로 저장한다. 아파치재단이 주도하는 오픈소스SW 프로젝트 주키퍼가 잡 조정에 활용된다. 데이터세트를 사전에 정리해 큐브란 형식으로 저장했다가 분석에 활용함으로써 속도를 높인 것이다.

이베이 개발팀은 기린이 이미 현업에서 사용되고 있다고 강조했다. 최대규모 현업 사례로 120억개 소스레코드를 분석하는데 14TB 용량의 큐브가 생성됐다고 밝혔다. 여기서 90%에 해당하는 쿼리 레이턴시가 5초내를 기록했다고 한다.

기린 개발팀은 현재 MOLAP 기술이 완벽하지 않다고 밝혔다. 그리고 MOLAP이 누적기록된 데이터 분석엔 적합하지만 실시간 분석엔 적합하지 않다고 설명했다. 향후 기린에서 MOLAP과 ROLAP(Relational online analytical processing)을 혼합한 하이브리드 OLAP을 사용할 수 있게 해 배치 분석과 실시간 분석을 모두 지원하도록 개선하겠다고 밝혔다.

현재 이베이는 호튼웍스 창업자 중 한명이자 아파치 멤버인 오웬 오말리, 아파치 칼사이트(Calcite) 원저자인 줄리안 하이드 등의 지원으로 기린의 ASF 인큐베이터 프로젝트 등록을 추진중이다.

기린(麒麟)은 중국의 전설 속 동물로 사슴의 몸과 소의 꼬리, 발굽, 한개의 뿔을 가진 형태이며, 등은 오색 빛을 띈다. 발굽에 흰 털이 돋아있어 달릴 때 구름 위를 걷는 모습 같다고 묘사된다. 오행의 중심에 있는 존재이자 덕의 화신으로 통한다. 이를 반영하듯 이베이 기린의 주요 개발진은 중국계 개발자로 이뤄져 있다.

관련기사

하둡2.0 이후 빅데이터 분야엔 본격적인 SQL온하둡 기술의 춘추전국시대가 열리고 있다. 기린은 수많은 SQL온하둡 중 맵리듀스와 하이브를 완전히 대체하려는 여러 시도들과 방법을 달리 한다. 하이브와 HBASE 등 기존 하둡 에코시스템을 최대한 활용하려는 것이기 때문이다.

맵리듀스와 하이브를 한번 거쳐야 하기 때문에 스파크SQL이나 임팔라, 타조 같은 여타 SQL온하둡 기술에 비하면 속도가 느릴 것으로 추정된다. 다만, 스파크SQL이나 임팔라보다 확장성에서 강점을 갖고 있고, 하둡2의 얀(YARN)을 사용하지 않는 초기 하둡 버전 사용자가 하이브 쿼리 대신 활용할 수 있는 대안으로 보인다.