oracle data integrator™€ oracle big data appliance

5
Oracle Data IntegratorOracle Big Data Appliance 저자 - 김태완 부장, 한국오라클 Fusion Middleware([email protected]) 오라클은 최근 Big Data 분약에 End-To-End 솔루션을 지원하는 벤더로 급부상하고 있고, 기존 관계형 데이터 저장소와 새로운 트랜드인비정형빅데이터를 통합하는 데이터 아키텍처로 엔터프로이즈 시장에서 주목을 받고 있다. 오라클은 최근에 새로운 데이터 아키텍처의 외부 인터페이스를 지원하는 솔루션으로 Oracle Big Data Connectors를 새롭게 공개하였다. 이 솔루션에는 기존 Orace ETL솔루션인Oracle Data Integrator가 하둡 클러스터를 지원하도록 확장한 “Oracle Data Integrator Application Adapter for Hadoop”이 포함되어 있다. 이 컴포넌트는 Hadoop 클러스터 환경에서 개발, 운영, 유지보수를 지원하는 툴로, 기존의 MapReduce에대한 효율적인 개발환경과 빅데이터 워크플로우 디자인및 운영, 모니터링 환경을 제공한다. 본 기고에서는 Oracle Data Integrator Application Adapter for Hadoop의 기능과 이 컴포넌트가 Big Data 환경에서 어떤 의미를 갖는지에대하여알아볼 것이다.

Upload: others

Post on 03-Feb-2022

31 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Data Integrator™€ Oracle Big Data Appliance

Oracle Data Integrator와 Oracle Big Data Appliance

저자 - 김태완 부장, 한국오라클 Fusion Middleware([email protected])

오라클은 최근 Big Data 분약에 End-To-End 솔루션을 지원하는 벤더로 급부상하고 있고, 기존 관계형

데이터 저장소와 새로운 트랜드인 비정형 빅데이터를 통합하는 데이터 아키텍처로 엔터프로이즈

시장에서 주목을 받고 있다. 오라클은 최근에 새로운 데이터 아키텍처의 외부 인터페이스를 지원하는

솔루션으로 Oracle Big Data Connectors를 새롭게 공개하였다.

이 솔루션에는 기존 Orace ETL솔루션인 Oracle Data Integrator가 하둡 클러스터를 지원하도록 확장한

“Oracle Data Integrator Application Adapter for Hadoop”이 포함되어 있다.

이 컴포넌트는 Hadoop 클러스터 환경에서 개발, 운영, 유지보수를 지원하는 툴로, 기존의

MapReduce에 대한 효율적인 개발환경과 빅데이터 워크플로우 디자인 및 운영, 모니터링 환경을

제공한다. 본 기고에서는 Oracle Data Integrator Application Adapter for Hadoop의 기능과

이 컴포넌트가 Big Data 환경에서 어떤 의미를 갖는지에 대하여 알아볼 것이다.

Page 2: Oracle Data Integrator™€ Oracle Big Data Appliance

들어가는 글

2012년 IT 분야에서 최고의 관심사는 아마도 빅데이

터일 것이다. 관계형 데이터 진영을 대표하는 오라클은

2011년 10월 개최된 “오라클 오픈월드 2011”에서 오라

클 빅데이터 어플라이언스(Oracle Big Data Appliance, 이하 BDA)를 출시한다고 발표하였다. 이와 함께 클라

우데라와 협력하에 BDA에 클라우데라 하둡 배포판

(CDH)를 공급한다는 정책을 공개하여 업계의 긍정적

인 반응을 얻고 있다. Oracle BDA는 버클리 DB를 확

장한 새로운 NoSQL인 Oracle NoSQL과 데이터 분석

을 위한 “R”을 구성요소로 추가했으며 하둡 클러스터

와 외부 인터페이스의 효과적인 통합을 지원하기 위하

여 Oracle Big Data Connectors을 바탕으로 하는 빅데

이터 플랫폼의 End-To-End 솔루션(그림1 참조)을 지

원하고 있다. 특히 Oracle Big Data Connectors는 하둡

클러스터와 외부 인터페이스와의 연동을 지원하는 4개

의 구성 컴포넌트로 구성되어 있다. 특히 “Oracle Data

Integrator Application Adapter for Hadoop”은 하둡을

기반으로 하는 효율적인 개발환경과 운영환경을 지원하

는 핵심 컴포넌트이다.

Oracle Big Data Connectors의 구성요소

일반적으로 하둡 클러스터에서 데이터를 분석하고 가

공하기 위해서는 Acquire, Organize, Analyze 단계를

거친다. Acquire 단계에서는 데이터의 소스시스템에

서 HDFS로 데이터를 적재하는 작업이 진행된다. 여

기서 소스시스템은 주로 로컬파일 시스템, 오라클 같

은 RDBMS가 될 수 있다. Orgranize와 Analyze 단계

에서는 하둡 클러스터에 데이터를 가공하고 분석하는

MapReduce 프로그램을 개발한다. 또한 가공되고 분석

된 데이터를 외부 시스템에 적재하는 작업을 해야 할 때

도 있다. 대표적인 예가 분석된 데이터를 DW에 적재하

는 것이다. 이렇듯 빅데이터를 처리하는 과정은 외부 시

스템에서 하둡 클러스터, 개발자의 프로그램 개발, 하

둡 클러스터에서 외부 시스템으로 인터페이스의 연속

이다. 이러한 하둡 클러스터와 외부 시스템과의 통합을

지원하는 역할을 담당하는 솔루션이 Oracle Big Data

Connectors이다.

Oracle Big Data Connectors는 다음과 같은 4개의 컴포

넌트로 구성된다.

● Oracle Loader for Hadoop (이하 OLH)

● Oracle Direct Connector for Hadoop Distributed File

System (이하 ODCH)

● Oracle R Connector for Hadoop

● Oracle Data Integrator Application Adapter for Hadoop

우선 OLH와 ODCH는 하둡 클러스터의 데이터를 오

라클 데이터베이스에 적재하는 컴포넌트이다. OLH는 하둡 클러스터의 데이터를 오라클 데이터베이스에

MapReduce를 이용하여 이동시키는 솔루션으로 이러한

작업을 수행하는 MapReduce를 생성하고 실행한다. 이

때 두 가지 온라인 모드와 오프라인 모드를 지원한다. 온

라인 모드는 Reduce가 JDBC 및 OCI 인터페이스로 오

라클에 직접 데이터를 저장하는 방식이고 오프라인 모드

는 Reduce가 오라클이 인식할 수 있는 Data Pump File을 생성한 후 오라클이 로딩하는 방식이다. 이 컴포넌트

를 사용하는 강점은 하둡 데이터를 정렬하고 파티션을

구분하여 병렬로 적재하는 프로세스를 쉽게 구성할 수

있다는 것이다.

ODCH(Oracle Director Connector for Hadoop

Distributed File System)는 앞에서 설명한 OLH와 동

일하게 하둡의 데이터를 오라클 데이터베이스에 적

제한다는 목표는 동일하다. 차이점이 있다면 데이터

에 대한 관점이다. OLH에서 데이터를 이동하는 주체

는 MapReduce이다. ODCH는 HDFS을 오라클이 인

식하도록 한다. 오라클은 파일 시스템의 여러 파일을

<그림 1> Oracle Big Data 소프트웨어 스텍

Page 3: Oracle Data Integrator™€ Oracle Big Data Appliance

Oracle Data Integrator의 Hadoop 플러그인

Oracle Data Integrator Application Adapter for

Hadoop은 이름에서 유추할 수 있듯이 Oracle Data

Integrator(이하 ODI)의 확장 플러그인이다. ODI는 오

라클의 ETL 솔루션으로 이기종 시스템 간에 대용량 데

이터를 추출, 변환, 적재하는 데이터 통합 솔루션이다.

기본적으로 ETL의 속성을 갖고 있기 때문에 데이터를

분석하고 가공하는 프로세스를 선언적으로 개발하는 특

성과 ODI가 개발한 데이터 가공 프로세스를 주기적인

배치 관리 기능 그리고 ODI 데이터 처리 프로세스가 실

행되는 상태를 모니터링하는 기능을 제공한다. ODI의

대표적인 특징은 다음과 같다.

● E-LT 아키텍처

● 선언적인 개발 방식

● 지식 모듈(Knowledge Module)

일반적인 ETL 아키텍처는 추출한 데이터를 가공하는

고성능 ETL 서버를 별도로 구성하는 것이 일반적이다.

이 ETL 서버에서 데이터를 가공한 후 최종 결과를 타켓

시스템에 적재하는 절차를 거친다. ODI는 ETL 아키텍

처를 개선한 E-LT를 채용하고 있다. ODI는 E-LT를 사

용하기 때문에 ETL 서버가 필요없는 구조이다. 결과적

으로 임베디드 ETL을 구성하기에 유리한 특정을 갖는

다. <그림2 참조>

ODI는 지식 모듈(Knowledge Module)과 선언적 개발

방식을 사용한다. 지식 모듈은 ODI가 이기동 데이터를

통합하기 위해서 생성하는 코드의 템플릿이다. 이 지식

모듈은 ODI의 통합 대상이 되는 소스와 대상 데이터 모

델의 메타 정보 그리고 개발자가 정의한 설정 값과 결합

하여 실행코드를 생성한다. 이 지식 모듈을 통해서 솔루

션 벤더는 해당 기술(데이터 유형)에 대한 Best Practice

External Table로 인식할 수 있다. 이때 HDFS를 파일시

스템으로 인식하여 External Table을 구성함으로써 내부

적인 병렬 처리 및 최적화된 여러 기술을 사용하여 효과

적으로 데이터를 오라클 데이터베이스에 이관시키는 방

법을 제공한다.

OLH와 ODCH는 데이터를 이동하는 주체가 다르기

는 하지만 하둡 클러스터의 데이터를 오라클 데이터베

이스에 적재하는 솔루션이라는 공통점을 갖는다. OLH와 ODCH를 사용하기 위해서 Oracle Database 11g

Release 2 이상이어야 한다. 또한 지원하는 Hadoop 버전

은 Apache Hadoop 0.20.2 혹은 Cloudera CDH3이다.

OLH와 ODCH가 하둡 클러스터로부터 오라클 데이터

베이스로 데이터를 이관하는 인터페이스를 지원하는 솔

루션이라면 Oracle R Connector for Hadoop은 하둡 클

러스터에 저장된 데이터에 접근할 수 있도록 지원하는 R

패키지이다. 통계 패키지인 R과 HDFS의 인터페이스 통

합을 지원한다.

마지막으로 Oracle Data Integrator Application Adapter

for Hadoop은 빅데이터 환경에서 효과적인 개발 및 운

영환경을 지원하는 솔루션이다. 일반적으로 하둡 클

러스터의 데이터를 가공하고 분석하기 위해서는 일련

의 MapReduce 프로그램을 작성하고, 주기적으로 이

렇게 개발된 소프트웨어를 실행하는 과정을 거치게 된

다. 일반적으로 MapReduce는 자바로 개발된다. 자바

외에도 파이썬, 루비 등 다른 언어를 지원하지만 대부

분의 MapReduce는 현재 자바로 개발되고 있다. 이렇

게 MapReduce를 개발하기 위해서는 상당한 전문 지

식이 필요하다. 자바로 개발 될 경우 일반적으로 1개의

MapReduce는 하나의 JAR 파일로 배포된다. 각 JAR파일에 포함된 MapReduce를 실행하기 위해서는 여

러 파라미터를 설정해야 한다. 또한 하나의 데이터 처

리 과정에서 여러개의 MapReduce가 사용된다. 따라

서 각 MapReduce가 효과적으로 워크플로우를 구성

할 수 있는 환경이 제공된다면 효과적인 것이다. 이렇

게 여러 MapReduce 개발을 지원하고 GUI기반으로 워

크 플로우를 구성하고, 배치 스케줄을 관리 및 모니터

링 하는 방법이 있다면 매우 효과적일 것이다. Oracle

Big Data Connectors의 마지막 구성요소인 Oracle Data

Integrator Application Adapter for Hadoop는 바로 이

러한 기능을 제공한다.

<그림 2> 전통적인 ETL 아키텍처와 E-LT 아키텍처

Page 4: Oracle Data Integrator™€ Oracle Big Data Appliance

로세스를 디자인하는 워크 플로우를 디자인하는 환경을

제공한다. 마지막으로 배치 스케줄 관리와 운영 상태를

모니터링 할 수 있다.<그림 4 참조>

ODI 플러그인을 이용하면 지식 모듈을 이용하여 다음

과 같은 작업을 할 수 있다.

● ODI에 하둡 메타데이터 구성

● Hadoop에 데이터를 적해하고 Hadoop 클러스터에서 데이터 변환

● 데이터 작업 후 OLH를 이용하여 오라클 데이터베이스에 데이터를 적재

하둡용 ODI 플러그인의 주요 특징은 다음과 같다.

● 개발자 생산성 향상

·GUI를 제공하여 개발자의 학습 속도 및 개발 효율성 향상

·하둡의 워크 플로우를 정의 하고 관리

·워크 플로우의 실행 모니터링 지원 <그림 5> 참조

·MapReduce Job 생성 및 호출

● 하둡 통합

·Hive를 사용하여 하둡과 통합

·ODI 내에서 Hive 메타데이터를 재사용

·하둡 내에서 변환과 필터링 적용

·HiveQL과 같은 SQL문으로 변환

● 성능 최적화

·하둡 ODI 지식 모듈 최적화

를 제공하고 사용자는 이 지식 모듈을 커스터마이징 하

여 해당 사이트에 더욱 최적화할 수 있다. 또한 이 지식

모듈은 XML 파일이기 때문에 버전 관리 및 재사용하기

쉽다.

이렇게 Oracle Data Integrator Application Adapter for

Hadoop은 ODI가 하둡을 지원할 수 있도록 확장한 플

러그인이다. 하둡을 위한 이 ODI 플러그인에는 Hive와 OLH에 최적화된 지식 모듈이 포함되어 있다. 이 지

식 모듈은 ODI에 하둡 메타 데이터를 구성하고, 하둡

에 데이터를 적제한 후 하둡에 데이터를 변경한다. 또한

Oracle Loader for Hadoop을 사용하여 Oracle Database에 데이터 적제를 용이하게 한다. 여기에 포함된 지식 모

듈은 다음과 같다.

● IKM File to Hive(Load Data)

· 로컬 파일 시스템 혹은 HDFS의 파일에 저장된 비정형 데이터를 Hive

에 저장.

● IKM Hive Control Append

·Hive에 저장되어있는 데이터를 변환하거나 검증

● IKM Hive Transform

·Hive에 비정형 데이터 변환.

● IKM File/Hive to Orcle(OLH)

·Hive에 저장된 데이터를 처리하여 Oracle에 적재.

● RKM Hive

·Hive 테이블을 리버스 엔지니어링하여 모델을 생성.

하둡 클러스터에 저장된 데이터를 검증하고 변환하는 데

이터 처리는 MapReduce Job을 통해서 이루어진다. 결

과적으로 MapReduce를 개발하기 위해서는 상당한 전

문 지식이 필요하다. Hive는 SQL과 유사한 쿼리 문인

HiveQL을 사용하기 때문에 SQL에 익숙한 사람이라면

친숙하게 사용할 수 있다는 장점을 갖는다.

Oracle Data Integrator를 사용하면 MapReduce 개발

의 부하를 줄일 수 있다. 앞에서 설명한 것처럼 ODI는

MapReduce job을 추상화하기 위해서 Hive와 HiveQL을 사용한다. ODI는 그래픽 사용자 인터페이스를 사용

하여 Hive 코드를 효과적으로 생성한다. <그림 3 참조>

또한 개발된 MapReduce Job을 명시적으로 호출하고 프

<그림 3> GUI 기반의 Hive 테이블 맵핑

<그림 4> 워크 플로우 구성

Page 5: Oracle Data Integrator™€ Oracle Big Data Appliance

·ODI와 Oracle Load for Hadoop을 이용하여 고성능 적재

·Oracle Load for Hadoop 구성과 실행 가능

결론

오라클은 Big Data Appliance와 클라우데라 배포판

Hadoop 소프트웨어 스텍을 포함한 End-To-End 솔

루션을 제공한다. Oracle Data Integrator Application

Adapter for Hadoop을 이용하여 효과적인 데이터 가공

및 분석 환경을 만들 수 있다. <그림 6 참조>

Big Data Appliance에서 ODI 사용함으로써 MapReduce의 개발을 단순화 할 수 있다. 또한 이기종성이 강한 하

둡 클러스터 전체를 수용 가능한 일관성 있는 통합 개발

관리 툴을 적용할 수 있다. 특히 Oracle Data Integrator

Application Adapter for Hadoop을 이용하여 엑사데이

터 와하둡 클러스터의 최적화된 통합 환경을 구성할 수

있을 것이다.

<그림 5> ODI 의 프로세스 실행 모니터링 로그

<그림 6> 생산성과 효율성을 높이는 빅데이터 구성