소개
IBM InfoSphere Streams는 작동 중에 구조화된 데이터와 구조화되지 않은 데이터를 분석하는 데 필요한 확장성 높은 플랫폼을 제공한다. InfoSphere Streams는 스트리밍 애플리케이션을 작성, 컴파일 및 전개하는 데 필요한 직관적이고 확장 가능한 개발 환경을 제공한다.
스트리밍 애플리케이션은 신뢰성 있고 정렬된 단방향 메시지 흐름인 스트림, 스트림에서 메시지를 필터링, 집계, 강화 또는 변환하는 구성 가능한 함수인 연산자 및 연속적으로 데이터를 수집하고 분석 결과를 출력하는 특수 연산자인 어댑터로 구성된다.
InfoSphere Streams는 풍부한 범용 연산자 세트와 기존 C/C++ 및 Java® 코드를 스트리밍 연산자로 사용하기 위해 필요한 컨테이너를 제공한다. InfoSphere Streams는 도메인별 연산자의 툴킷을 사용하여 확장될 수도 있다.
스트리밍 애플리케이션은 스트림 처리 언어(Stream Processing Language)를 사용하여 데이터 플로우 그래프로 선언된다. 플로우 그래프는 애플리케이션의 스트림이 가질 데이터 유형, 애플리케이션에서 이동할 때 데이터를 처리할 어댑터 및 연산자, 스트림에 의해 연산자가 서로 연결되는 방법을 지정한다. 그림 1에서는 스트리밍 애플리케이션의 데이터 플로우 그래프를 보여 준다.
그림 1. 스트리밍 애플리케이션 플로우 그래프
대형 스트리밍 애플리케이션은 백 개 이상의 Linux 서버 시스템에 걸쳐 있을 수 있다. InfoSphere Streams를 위한 애플리케이션을 개발하는 경우에는 가상 시스템에 이를 설치하는 것이 더 편리하다는 것을 알 수 있다. 가상 시스템에 설치하면 일반적인 랩탑이나 워크스테이션 컴퓨터에서 스트리밍 애플리케이션을 설계하고 테스트할 수 있다.
이 튜토리얼에서는 가상 시스템에서 자체 포함 InfoSphere Streams 개발 환경을 작성하는 데 필요한 단계별 절차에 대해 안내한다. 이를 수행하기 위해 다음 네 가지 소프트웨어 제품을 설치하고 구성한다.
- VMware는 Microsoft Windows 및 Apple Mac 컴퓨터를 위한 가상 시스템 기능을 제공한다. (http://www.vmware.com/products/를 참조한다.)
- Red Hat Enterprise Server는 IBM InfoSphere Streams용 운영 체제를 제공한다. (https://www.redhat.com/rhel/server/를 참조한다.)
- IBM InfoSphere Streams는 스트리밍 런타임 및 애플리케이션 개발 도구를 제공한다. (http://www.ibm.com/software/data/infosphere/streams/를 참조한다.)
- Eclipse는 InfoSphere Streams Studio 도구용 통합 애플리케이션 개발 플랫폼을 제공한다. (http://www.eclipse.org/를 참조한다.)
이 튜토리얼에서는 각 제품에 대해 수행해야 하는 특정 설치 단계에 대해 개괄적으로 설명하고 다수의 구성 단계에 대해 특정 값을 제안한다. 하지만 각 제품의 공식 문서에서 세부사항, 옵션 및 명확한 내용을 참조해야 한다. 제품 문서의 링크는 이 튜토리얼의 참고자료 섹션을 참조한다.
이 튜토리얼에서 다루는 주요 태스크는 다음과 같다.
- 제품 배포판 패키지 확보
- VMware 설치
- Red Hat Enterprise Linux 설치 및 구성
- IBM InfoSphere Streams 설치
- Eclipse 및 InfoSphere Streams Studio 설치
- 설치 확인
단계 중 다수가 이전 단계에 의존하므로 제공되는 순서대로 모든 단계를 실행해야 한다.