본문 바로가기

Database/Greenplum

Greenplum ETL도구 소개

728x90
반응형

 

Greenplum 공식사이트에서 ETL 도구를 소개한 사항을 정리해 보았다.

 

greenplum.org/greenplum-etl/

 

Introduction to Greenplum ETL tool – Overview

Why ETL is important for Greenplum As a data warehouse product of future, Greenplum is able to process huge set of data which is usually in petabyte level, but Greenplum can’t generate such number …

greenplum.org

 

1. pg_dump

Postgresql 의 공식 백업 솔루션이며 일반 파일, 압축 파일, 사용자 정의 형식으로 dump 를 할 수 있으며 테이블 DDL 만 dump 할 수 있는 기능을 가지고 있다.

 

pg_dump 예제

pg_dump mydb > db.sql

 

dump 데이터를 psql로 load 하는 예제

psql -f db.sql mydb

 

2. Copy

Postgresql/Greenplum 의 기능이며 서버에 파일을 생성할 수 있고 \copy 명령어를 이용하여 원격 클라이언트에 파일을 생성할 수 있다.

 

서버에 파일을 dump 하는 예제

copy mytable to '/path/to/file.csv' format csv

 

원격 클라이언트에 dump 하는 예제

\copy mytable to '/path/to/file.csv' format csv

 

3. SDK(libpq, ODBC, JDBC)

OS(Linux, Window) 또는 개발언어(JAVA,C#) 에서 사용할 수 있는 Client Connector 이며 OS 및 개발언어에서 자유롭게 데이터베이스 데이터를 생성하고(CREATE) 읽고(READ) 수정(UPDATE)하고 삭제(DELETE) 할 수 있다.

 

greenplum dump flow

위에서 소개된 3가지 방식 - pg_dump, copy, sdk는 MPP 기능이 없어 MPP 기능보다 느리고 병목현상이 발생될 수 있는 단점이 있다.

 

4. Gpfdist

  • MPP 기능을 사용하여 속도가 엄청 빠르다.
  • SSL, 압축형식, 변환, 파이프 기능을 제공한다.
  • gpload, gptranster 도구도 존재하지만 gpfdist 기반으로 작동된다.

 

gpfdist flow

 

5. PXF

  • Apache Tomcat, JDBC, MPP 기술을 이용하여 다양한 데이터소스(DBMS, Hadoop HDFS, Azure, AWS S3, Google Cloud Storage 등)에 접속하여 빠르게 load 할 수 있는 기능이다.
  • 공식사이트에서는 Greenplum 5 기준으로 소개하여 PXF가 나오지 않았지만 Greenplum 6 에서는 많이 사용하는 방식이다.

 

2020.12.16 - [Database/Greenplum] - Greenplum PXF 란?

 

Greenplum PXF 란?

Greenplum PXF(Platform Extension Framework) Greenplum이 아닌 외부시스템에서 가지고 있는 DATA 를 Greenplum 으로 Load 할 수 있는 프레임워크이다. 외부시스템 DATA는 ORACLE, Maraidb 처럼 RDBMS의 테이..

wylee-developer.tistory.com

 

<에필로그>

  • 엄청 큰 데이터(10GB 이상)를 ETL할 경우에는 MPP 기능이 지원되는 전용 유틸리티(Gpfdist, PXF)를 사용하여 속도도 빠르고 병목현상을 줄일 수 있게 해보도록 하자.

 

 

728x90
반응형