티스토리 툴바


"Pentaho 3.2 Data Integration: Beginner's Guide" 리뷰

mixellaneous 2010/05/26 17:50
2주 전에 Maria Carina Roldan (이하 Maria Carina, 블로그, 트위터) 씨로부터 흥미로운 제안을 받았습니다. 그녀가 집필하여 Packt Publishing을 통해 출간된 "Pentaho 3.2 Data Integration: Beginner's Guide" 리뷰에 참여해보지 않겠느냐는 내용이었습니다. 기분 좋은 제안에 흔쾌히 리뷰 프로그램에 참여하여 Packt Publishing 측과 연락을 해서 지난 주에 리뷰용 책을 받았습니다. 그리고 지난 주 후반, 연휴 기간에 시간을 내어 책을 읽고 리뷰를 정리했습니다. 이 포스트가 Pentaho Data Integration(PDI, aka Kettle) 프로젝트에 관심을 가지고 있었거나 Maria Carina의 책 Pentaho 3.2 Data Integration: Beginner's Guide에 대해 궁금했던 분들에게 유용한 정보가 되었으면 합니다.




책의 정식 제목은 위에서 언급한 것과 같이 "Pentaho 3.2 Data Integration: Beginner's Guide" 입니다. PDI는 Java로 개발된 오픈소스 ETL 엔진입니다. 그리고 현재 PDI 안정 버전이 3.2 버전입니다. 4.0 버전이 활발히 개발 중이고 올 해 안에 4.0 GA 버전을 볼 수 있지 않을까 생각합니다. 이 책의 주요 대상은 PDI 를 처음 접하는 개발자를 위한 책입니다. 그러나 기본부터 고급 기능까지 많은 영역을 커버하기 때문에 '레퍼런스'로 활용해도 충분한 책입니다.
책의 저자 Maria Carina는 아르헨티나에 살고 있으며, 현재 BI 컨설턴트로 일하고 있습니다. 이전에 PDI 튜토리얼을 작성하기도 했으며 PDI 커뮤니티 포럼에서 활발히 활동하는 멤버 중에 한 사람입니다. 그녀의 경력은 LinkedIn을 통해 확인할 수 있습니다.

전체적인 책의 구성은 앞부분에 기본적인 PDI 를 활용한 Transformation 개발 및 데이터 조작에 대한 내용을 다루고 있고, 이후에 Job 과 태스크 플로우 개발을 다룹니다. 책의 후반부에는 고급 주제 및 PDI를 이용하여 데이터 마트 구축하는 가상의 프로젝트를 진행하면서 실전에 활용할 수 있는 '패턴'을 익힐 수 있도록 하고 있습니다.

책의 내용과 구성에 대해 조금더 상세하게 설명하자면, 먼저 1~9장은 기본적인 PDI 구성(설치, 설정)과 사용 방법에 대해 설명합니다. 그리고 Transformation 개발과 데이터 조작, 'Hop'을 이용한 데이터 플로우 개발을 다루고 있습니다. 또한 실제 데이터베이스와 연동하는 방법에 대해 설명합니다.

10장은 태스크 플로우를 주제로 다룹니다. PDI에서는 일반적으로 태스크들을 조합하여 Job을 배치하게 됩니다. 이런 Job 개발에 대한 내용이라고 볼 수 있습니다.

11장은 이전 장에서 다루지 않았던 고급 주제를 다룹니다. Sub-transformation, Kettle 변수, Job 구성에서 Job 안에 Job이 포함되는 내포된 Job 형식의 개발에 대한 내용등을 다룹니다.

12장은 이전 장까지 익힌 내용을 기반으로 간단한 데이터 마트(Data Mart) 구축에 대한 내용입니다. 실제 프로젝트에서 데이터 웨어하우스나 데이터 마트를 구축하면서 PDI를 어떻게 사용할지 예제를 통하여 설명하고 있습니다.

13장은 PDI 베스트 프랙티스나 PDI 확장 및 연동에 대한 내용입니다. 베스트 프랙티스에 대한 내용, 사용자 정의 플러그인 사용, 그리고 Pentaho BI Suite 와 연동하는 부분에 대한 설명이라고 볼 수 있습니다.

추가 장(부록)에서는 책의 내용에서 커버하지 않았던, 데이터베이스 기반 저장소(repository)의 사용법을 소개합니다. PDI는 메타기반 ETL 엔진이고 3.2 버전에서는 그 메타데이터를 파일(XML)과 RDBMS에 선택하여 저장할 수 있습니다. 그 RDBMS 기반의 메타 데이터 저장소 사용방법입니다. 추가로 4.0 버전에서 달라질 내용에 대해서 다루고 있는데, 4.0 버전은 많은 기능 추가와 버그 수정이 이루어졌고 새로운 저장소 및 로깅 모델이 추가됩니다. 그러나 전반적인 내용은 3.2.x와 크게 다르지 않기 때문에 이 책을 통해 3.2 버전에 익숙해진다면 4.0으로 넘어가는 것도 쉬울 것이라 생각합니다.

이 책은 PDI로 프로젝트를 하거나 오픈소스 ETL 엔진을 도입하려고 생각했던 관리자,개발자들에게 정말 가뭄의 단비같은 존재입니다. PDI 위키와 블로그 등을 통해 많은 자료가 있지만 이렇게 체계적으로 정리한 책이 있다는 것은 큰 혜택입니다. 제가 PDI에 대하여 알게되어 업무에 적용하면서 공부했던 시기가 2006년 후반부로 기억합니다. 그 후로 사내에 많은 ETL 작업이나 데이터 마이그레이션, 데이터 크렌징 및 연동/추출 업무에 아주 유용하게 사용하고 있습니다. 초기에는 관련 자료가 영문으로도 많지 않았기 때문에 문제나 기능에 대하여 참고할 만한 자료가 거의 없었습니다. 이런 책이 그 때 나왔더라면 제 시간을 많이 절약할 수 있었을 것 같다는 생각을 해봅니다.

Maria Carina 씨가 한국에서 PDI 또는 이러한 오픈소스 BI 에 대한 관심이 어떤지 궁금하다고 해서, 한국은 아직 대형 벤더나 특정 제품을 선호하는 형태이며 아직 오픈소스 BI/DW는 상대적으로 주목을 받지 못하고 있다고 알려드렸습니다.(?) 그러나 조금씩 관심을 가지는 분들이 많아 지고 있다고 이야기했습니다.(?) Maria Carina, 자신이 살고 있는 아르헨티나도 BI/DW 시장에서 대형 벤더 제품이 대부분을 차지한다고 하였습니다. 오픈소스 BI/DW 도 많은 부분에서 부족한 점이 많지만 충분히 연구하여 활용할 만한 가치가 있다고 생각합니다. 그래서 이런 책들이 더 반갑습니다. 

Packt Publishing에서 Pentaho 3.2 Data Integration: Beginner's Guide 책의 샘플 'Chapter 12. Developing and Implementing a Simple Datamart'를 무료로 제공하고 있습니다. 데이터 마트 구축에 대한 장이기 때문에 샘플만 참고해도 좋은 정보가 될 것 입니다.

책은 Packt Publishing 이나 Amazon을 통해 인쇄된 책이나 PDF 형식의 eBook으로 구매가 가능합니다.

끝으로 이렇게 리뷰의 기회를 주시고 책을 제공해주신 Maria Carina 씨와 Packt Publishing에 감사드립니다.