지난 빅데이터 시리즈에서는 다양한 빅데이터 분석 기법과 빅데이터의 여러 측면에 대해 살펴보았고, '빅데이터 참조 아키텍처 계층의 기능'도 소개한 바 있습니다. 이번 글에서는 이어서 최고의 오픈소스 데이터 추출 도구 TOP 10을 소개하겠습니다.
빅데이터의 데이터 추출 도구는 서로 다른 다양한 소스로부터 데이터를 수집하여 구조화된 형태로 변환하는 역할을 합니다. 이러한 도구는 흔히 ETL(Extract, Transform, Load)이라 불리며, 기능은 아래 3단계로 나눌 수 있습니다.
- 추출(Extract): 동질적 또는 이질적 데이터 소스에서 데이터를 추출합니다.
- 변환(Transform): 조회와 분석에 적합하도록 데이터를 올바른 형식과 구조로 변환합니다.
- 적재(Load): 최종 대상 시스템(데이터베이스, 운영 데이터 저장소, 데이터 마트, 데이터 웨어하우스)에 데이터를 적재합니다.
일반적으로 ETL 도구에서는 이 세 단계가 병렬로 실행됩니다. 데이터 추출에는 시간이 걸리기 때문에, 데이터를 가져오는 동안 이미 수신된 데이터에 대한 변환 작업이 진행되어 적재를 준비하고, 적재 가능한 데이터가 생기면 이전 단계의 완료를 기다리지 않고 곧바로 로딩이 시작됩니다.
그럼 지금부터 주목할 만한 오픈소스 데이터 추출(ETL) 도구 10가지를 살펴보겠습니다.
1. Talend Open Studio
Talend Open Studio는 시장에서 가장 강력한 데이터 통합 ETL 도구 중 하나입니다. 데이터 관리 및 애플리케이션 통합 프로젝트의 개발, 테스트, 배포, 운영까지 아우르는 다재다능한 오픈소스 제품군입니다.
오픈소스 버전과 상용 버전을 모두 제공하며, 직관적인 Eclipse 기반 GUI 개발 환경과 드래그 앤 드롭 방식의 디자인 플로우를 지원합니다. 데이터베이스, 메인프레임, 파일 시스템, 웹 서비스, 엔터프라이즈 패키지 애플리케이션, 데이터 웨어하우스, OLAP 애플리케이션, SaaS, 클라우드 기반 애플리케이션 등을 연결하는 400개 이상의 사전 구성 커넥터를 갖춘 것이 큰 강점입니다.
2. Scriptella
Scriptella는 Apache에서 출시한 오픈소스 ETL 도구로, 추출·변환·적재 과정뿐 아니라 Java 스크립팅 실행에도 활용됩니다. 매우 단순하고 배우기 쉬워 사용 편의성 덕분에 인기를 얻고 있습니다. SQL, JavaScript, JEXL, Velocity로 작성된 스크립트 실행, LDAP·JDBC·XML 등 다양한 데이터 소스와의 상호 운용, 크로스 데이터베이스 ETL 작업, CSV·텍스트·XML 등 다양한 형식의 가져오기/내보내기를 지원합니다.
3. KETL
KETL은 데이터 웨어하우징에 최적화된 대표적인 오픈소스 도구입니다. Java 중심 구조에 XML 등의 언어를 결합했으며, 엔진은 개방형 멀티스레드 XML 기반 아키텍처로 구축되었습니다. 보안 및 데이터 관리 도구와의 통합 지원, 여러 서버와 CPU, 대용량 데이터에서도 입증된 확장성, 별도의 스케줄링·종속성·알림 도구가 필요 없다는 점이 주요 특징입니다.
4. Pentaho Data Integrator – Kettle
Pentaho는 데이터 통합 기능으로 ETL 도구를 제공하는 BI 공급업체로, 이 기능의 기반이 되는 것이 바로 Kettle 프로젝트입니다. Kettle은 Java 애플리케이션이자 라이브러리로, XML 형식으로 작성된 ETL 절차를 해석하는 인터프리터 역할을 합니다. 데이터 조작 프로세스를 세밀하게 조정할 수 있는 JavaScript 엔진을 제공하며, 복잡한 ETL 절차까지 구축할 수 있는 완결성을 갖추고 있습니다.
Kettle(PDI)은 Pentaho Business Intelligence Suite의 기본 도구이지만, Kettle 라이브러리와 Java 인터프리터만 설치되어 있다면 Pentaho 플랫폼 외부에서도 절차를 실행할 수 있습니다.
5. Jaspersoft ETL
Jaspersoft ETL은 배포가 간편하고 다수의 상용 및 오픈소스 ETL 시스템보다 뛰어난 성능을 보여줍니다. 트랜잭션 시스템에서 데이터를 추출하여 보고 및 분석용 통합 데이터 웨어하우스나 데이터 마트를 구축하는 데 활용됩니다. 비개발자도 이해할 수 있는 정보 흐름 뷰를 제공하는 비즈니스 모델러, 그래픽 편집 도구인 Job Designer, Transformation Mapper를 통한 복잡한 매핑과 변환 정의 기능을 갖추고 있습니다.
또한 실시간 디버깅으로 ETL 통계를 처음부터 끝까지 추적할 수 있고, 플랫 파일, XML, 데이터베이스, 웹 서비스, POP·FTP 서버 등 수백 가지 커넥터를 통해 여러 소스 간 동시 입출력이 가능하며, 활동 모니터링 콘솔로 작업 이벤트, 실행 시간, 데이터 볼륨까지 모니터링할 수 있습니다.
6. GeoKettle
GeoKettle은 범용 ETL 도구인 Kettle(Pentaho Data Integration)의 공간 정보 지원 버전입니다. 다양한 공간 데이터 소스를 통합하여 지리공간 데이터 웨어하우스를 구축·갱신하는 데 특화된 강력한 메타데이터 기반 공간 ETL 도구입니다.
데이터 소스에서 데이터를 추출하고, 오류 수정·데이터 클렌징·구조 변경·표준 준수를 위한 변환을 거친 후, 결과물을 OLTP 또는 OLAP/SOLAP 모드의 대상 DBMS, GIS 파일 또는 지리공간 웹 서비스에 적재할 수 있습니다.
7. Clover ETL
Clover ETL은 체코 기업 OpenSys가 주도하는 프로젝트입니다. Java 기반의 이중 라이선스 오픈소스로, 상용 라이선스 버전에서는 보증과 기술 지원을 제공합니다. 가벼운 용량 덕분에 시스템 통합업체와 ISV가 손쉽게 내장할 수 있으며, 매핑과 변환을 포함한 핵심 기능 라이브러리 구축을 목표로 합니다. 엔터프라이즈 서버 에디션은 별도의 상용 제품으로 제공됩니다.
8. HPCC Systems
HPCC Systems는 Thor라는 데이터 정제 엔진을 갖춘 빅데이터 분석용 오픈소스 플랫폼입니다. Thor는 빅데이터의 정제(Cleanse), 연결(Link), 변환(Transform), 분석(Analyze)을 수행하며, 정형·비정형 데이터 수집, 데이터 프로파일링, 데이터 클린징, 데이터 연결 같은 ETL 기능을 기본적으로 지원합니다. 처리된 데이터는 데이터 전송 엔진인 Roxie를 통해 다수의 사용자가 실시간으로 동시 접근할 수 있으며, Roxie는 높은 동시성과 낮은 지연 시간의 실시간 쿼리 기능을 제공합니다.
9. Jedox
Jedox는 오픈소스 BI 솔루션 도구로, 성과 관리 전략 수립, 분석, 커버리지 관리 및 ETL 프로세스를 담당합니다. 오픈 코어(Open Core)는 인메모리 OLAP 서버, ETL 서버, OLAP 클라이언트 라이브러리로 구성됩니다. Jedox OLAP 서버를 소스이자 타깃 시스템으로 강력하게 지원하며, OLAP 분석의 복잡성을 효과적으로 해소합니다. 이 도구를 활용하면 어떤 전통적인 모델이든 OLAP 모델로 변환할 수 있습니다.
JEDOX ETL을 사용하면 큐브와 차원 작업이 한결 쉬워집니다. 자주 필요한 시간 계층 구조를 유연하게 생성하고, 소스 시스템의 관계형 모델을 효율적으로 OLAP 모델로 변환할 수 있습니다.
10. Apatar ETL
Apatar ETL은 오픈소스 패키지임에도 독보적인 기능 세트를 제공합니다. Oracle, MS SQL, MySQL, Sybase, DB2, MS Access, PostgreSQL, XML, InstantDB, Paradox, BorlandJDataStore, CSV, MS Excel, HSQL, SalesForce.com 등 폭넓은 연결성을 지원합니다. 모든 통합 프로젝트를 단일 인터페이스로 관리할 수 있고, 유연한 배포 옵션, 양방향 통합, Windows·Linux·Mac에서 구동되는 플랫폼 독립성, 100% Java 기반, 무코딩 환경의 시각적 작업 디자이너 덕분에 개발자가 아니어도 변환 작업을 설계하고 수행할 수 있습니다.
마무리: 오픈소스 도구의 한계
오픈소스 도구는 고급 기능, 저장 용량, 고급 분석 기능 등 여러 측면에서 한계가 있을 수 있습니다. 따라서 기업 환경에서는 라이선스 기반 도구를 사용하는 것이 더 안전한 선택일 수 있습니다. 다음 글에서는 라이선스 기반 데이터 추출 도구를 다룰 예정이니 기대해 주세요.