2016/07 8

빅데이타 수집을 위한 데이타 수집 솔루션 Embulk 소개

빅데이타 수집을 위한 데이타 수집 솔루션 Embulk 소개 조대협 (http://bcho.tistroy.com) 빅데이타 분석에 있어서, 아키텍쳐적으로 중요한 모듈중의 하나는 여러 서버로 부터 생성되는 데이타를 어떻게 모을 것인가이다. 얼마전에, 일본의 사례를 보다가 눈에 띄는 솔루션이 있어서 주말을 통해서 이런 저런 테스트를 해봤다. Embulk 소개Embulk라는 솔루션인데, fluentd를 만들었던 사람이 만들었다고 한다.여러 종류의 데이타 소스에서 데이타를 읽어서 로딩을 할 수 있다. 주요 특징을 보면플러그인 형태로 여러개의 소스와 타겟을 지원한다. jRuby로 개발이 되어서 ruby gem을 이용하여 손쉽게 플러그인을 설치할 수 있다. 병렬 로딩이 가능하다. 예를 들어 여러개의 파일을 동시에 로..

빠르게 훝어 보는 node.js - 구글 앱앤진에 node.js 애플리케이션을 배포해보자.

Google 앱앤진에 node.js 애플리케이션을 배포하기 조대협 (http://bcho.tistory.com)PaaS 서비스란?PaaS란 Platform as a service의 약자로, 간단하게 설명하면, Linux VM등에 직접 node.js나 기반 환경을 설치하고 디스크와 네트워크 구성, 오토스케일링등의 구성이 필요 없이, 개발자가 작성한 코드만 올려주면, 이 모든 것을 클라우드에서 대행해주는 서비스의 형태이다. 인프라 운영을 위한 별도의 작업이 필요하지 않기 때문에, 숫자가 적은 기업이나 개발에만 집중하고 싶은 기업에는 적절한 모델이라고 볼 수 있다.근래에 스타트업 비지니스가 발달하고 또한 사용하는 기술 스택들이 복잡해짐에 따라 각각의 기술 스택에 대한 설치나 운영에 대한 인력을 두기보다는 Pa..

데이타 스트리밍 분석 플랫폼 DataFlow - #2 개념 소개 (2/2)

데이타 스트리밍 분석 플랫폼 Dataflow 개념 잡기 #2/2(트리거, 이벤트 타임, 워터마크 개념) 조대협 (http://bcho.tistory.com) 앞글 http://bcho.tistory.com/1122 에 의해서 Dataflow에 대한 개념에 대해서 계속 알아보자 트리거윈도우와 더블어서 Dataflow 프로그래밍 개념중에서 유용한 개념중의 하나가 트리거이다. 트리거는 처리중인 데이타를 언제 다음 단계로 넘길지를 결정하는 개념이다. 특히 윈도우의 개념과 같이 생각하면 좋은데, 윈도우는 일반적으로 윈도우가 종료되는 시간에 그 데이타를 다음 Transform으로 넘기게 된다. 그런데 이런 의문이 생길 수 있다. “윈도우의 크기가 클때 (예를 들어 한시간), 한시간을 기다려야 데이타를 볼 수 있는 ..

데이타 스트리밍 분석 플랫폼 DataFlow - #2 개념 소개 (1/2)

데이타 스트리밍 분석 플랫폼 Dataflow 개념 잡기 #1/2 조대협 (http://bcho.tistory.com) 실시간 데이타 처리에서는 들어오는 데이타를 바로 읽어서 처리 하는 스트리밍 프레임웍이 대세인데, 대표적인 프레임웍으로는 Aapche Spark등을 들 수 있다. 구글의 DataFlow는 구글 내부의 스트리밍 프레임웍을 Apache Beam이라는 형태의 오픈소스로 공개하고 이를 실행하기 위한 런타임을 구글 클라우드의 DataFlow라는 이름으로 제공하고 있는 서비스이다. 스트리밍 프레임웍 중에서 Apache Spark 보다 한 단계 앞선 개념을 가지고 있는 다음 세대의 스트리밍 프레임웍으로 생각할 수 있다. Apache Flink 역시 유사한 개념을 가지면서 Apache Spark의 다음 ..

데이타 스트리밍 분석 플랫폼 dataflow - #1. 소개

구글 데이타 스트리밍 데이타 분석 플랫폼 dataflow - #1 소개 조대협 (http://bcho.tistory.com) 실시간 데이타 처리에서는 들어오는 데이타를 바로 읽어서 처리 하는 스트리밍 프레임웍이 대세인데, 대표적인 프레임웍으로는 Aapche Spark등을 들 수 있다. 구글의 DataFlow는 구글 내부의 스트리밍 프레임웍을 Apache Beam이라는 형태의 오픈소스로 공개하고 이를 실행하기 위한 런타임을 구글 클라우드의 DataFlow라는 이름으로 제공하고 있는 서비스이다. 스트리밍 프레임웍 중에서 Apache Spark 보다 한 단계 앞선 개념을 가지고 있는 다음 세대의 스트리밍 프레임웍으로 생각할 수 있다. Apache Flink 역시 유사한 개념을 가지면서 Apache Spark의..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2-node.js 샘플

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #2 node.js를 통하여 메세지를 보내고 받기 조대협 (http://bcho.tistory.com) node.js에서 메세지 보내고 받기 이번 글에서는 node.js를 이용하여 실제로 pub/sub에 메세지를 보내고 받도록 해보자 키 파일 준비 하기Pub/Sub에 접속하기 위해서는 보안 인증을 위해서 키 파일이 필요하다.키 파일은 구글 클라우드 콘솔에서, API manager 메뉴로 들어가서 Credential 부분에서 Create Credential을 선택하면 아래와 같은 화면이 나온다.다음으로, 메뉴에서 Service account key를 선택하여 키를 생성한다. 키가 생성이 되면 json 파일로 다운로드가 된다.여기서는 편의상 키 파..

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #1

구글 클라우드의 대용량 메세지 큐 Pub/Sub 소개조대협 (http://bcho.tistory.com) 구글 클라우드의 Pub/Sub 은 클라우드 기반의 대용량 메세지 큐이다. 흔히들 사용하는 RabbitMQ, JMS나 Kafka의 클라우드 버전으로 보면 된다. Rabbit MQ와 같은 설치형 큐가 작은 메세지에 대해서 세심한 컨트롤을 제공한다고 하면, Kafka나 Pub/Sub은 대용량 스케일의 메세지를 처리하기 위해서 설계 되었고, 자잘한 기능보다는 용량에 목적을 둔다.그중에서 Pub/Sub은 클라우드 기반의 서비스로 비동기 메세징이 필요한 기능을 매니지드 서비스 형태로 제공함으로써, 별도의 설치나 운영이 필요 없이 손쉽게, 사용이 가능하다.보통 특정 클라우드 벤더의 매지니드 솔루션은 Lock in..

실시간 빅데이타 처리를 위한 스트리밍 처리의 개념

데이타 스트리밍 처리에 대한 이해 조대협 (http://bcho.tistory.com) 근래에 Apache Beam 프로젝트를 공부하게 되서, 그간 묵혀놨던 데이타 스트리밍 처리에 대해서 다시 정리중인데, 예전에 Apache Storm을 봤을때 보다 트리거나, 윈도우등 많은 개념들이 들어가 있어서 데이타 스트리밍에 대한 개념 부터 다시 정리를 시작을 하고자한다. Apache Storm에서 부터, Apache Spark 기반의 데이타 스트림 처리뿐 아니라 근래에는 Apache Flink와 같은 새로운 스트리밍 프레임웍크과 구글이 이미 클라우드를 통해서 서비스 하고 있는 google cloud dataflow (Apache Beam이라는 프로젝트로 오픈소스화 되었고, 현재 인큐베이션 단계에 있다.) 까지 빅..