빅데이터 8

Airbnb에서 Kafka의 활용

아래 포스트는 airbnb의 kafka meetup 발표내용을 토대로 정리하였습니다. youtube url : https://www.youtube.com/watch?v=-PmKeOpfE54 Kafka at Airbnb AWS에서 0.11 버젼의 kafka를 사용하고 있으며 10개 이상의 cluster과 500개 이상의 broker로 구성되어 있다. 3000개 이상의 topic들이 사용되어지고 있으며 모든 데이터의 양의 PB단위 이상이다. 아직 0.11버전이지만 다음달(2019년 11월)에는 그 이상의 버젼을 사용할 것이라고 한다. 위 데이터 파이프라인 아키텍쳐에서 Rest Proxy는 여러 language로 작성된 application에서 나온 데이터를 kafka로 prodcue하기 위한 역할을 하는데 ..

빅데이터/Kafka 2019.10.14
[빅데이터]Kafka stream과 KSQL 소개 및 설명, 차이점

출처 : slideshare-Kafka Streams vs. KSQL for Stream Processing on top of Apache Kafka Kafka는 Bigdata를 처리하고 운영함에 있어서 필수불가결하다. 이미 많은 IT기업들(카카오, 네이버 등)에서는 kafka로 동작하는 실서비스를 운영하고 있으며 그에 대한 know-how도 상당히 많이 공유되고 있다. Kafka는 단순히 produce, consumer 구조로 사용가능하지만, KSQL이나 kafka stream을 사용하여 더욱 효과적이고 유연하게 데이터를 조작할 수 있다. 이번 포스팅에서는 KSQL과 Kafka stream에 대해서 소개하고 차이점도 알아보는 시간을 가지려고 한다. KSQL KSQL은 streaming SQL 엔진으로서..

빅데이터/Kafka 2019.10.08
데이터파이프라인이란 무엇인가?

아래 포스팅은 DZone의 What Is a Data Pipeline? 을 번역하였습니다. url : https://dzone.com/articles/what-is-a-data-pipeline 이번 포스팅에서는 데이터파이프라인에 대해서 정의하고 데이터파이프라인을 통해 추구하는 바를 알아보고자 한다. 데이터를 효과적으로 가져오는 것은 오늘날 Data-driven enterprise의 큰 숙제이다. 데이터를 어느 한 지점에서 특정공간까지 가져오는 데에 많은 장애물들(중복 유실 등)이 있으며 가져오려는 지점이 많아지면 많아질수록 더욱 문제가 복잡해진다. 데이터 파이프라인 : 효율을 위한 작업 데이터 파이프라인의 시작은 왜, 어디에서, 어떻게 데이터를 수집할 것인가에서 부터 시작한다. 데이터 파이프라인을 구축하..

빅데이터 2019.10.07
Fluentd vs Telegraf 차이점 알아보기

Telegraf와 fluentd는 아주 유사해보인다. 둘다 configuration파일 기반으로 작동하며 plugin을 통해 개발자가 custom하게 만든 input, filter, output 플러그인들을 사용하여 데이터를 처리, 전송 가능하다. 이 둘은 어떤 차이가 있는 것일까? Fluentd Star count(9/16) : 8,295 Github url : https://github.com/fluent/fluentd Fluentd는 C와 루비로 작성된 로그 수집기(log aggregator)의 한 종류이다. 여러 데이터 소스에서 데이터를 수집해 오는 부분에 있어 컴포넌트로서의 역할을 한다. fluentd의 아키텍쳐 단순성과 안정성에 초점을 두고 사용된다. Fluentd의 내부구조 - Input :..

빅데이터 2019.09.16
아파치 Kafka Consumer의 데이터 처리 내부 architecture 설명 및 튜닝포인트

지난 포스트에서 Kafka producer의 데이터 처리 내부 architecture에 대해서 알아보았다. ☞ 아파치 Kafka Producer architecture 설명 포스팅 이번 포스트에서는 kafka architecture의 Consumer 내부 데이터 흐름에 대해 알아보려고 한다. Kafka Consumer 데이터 내부 처리 순서 #1 : poll(record 취득 api) 호출#2 : 가져오고자 하는 record가 Fetcher queue에 없는 경우, Fetch request를 발동하여 broker에서부터 record를 가져온다.#3 : record batch를 Fetcher queue에 저장#4 : 어디까지 읽었는지에 대한 offset을 consumer측에서 보관#5 : record ba..

빅데이터/Kafka 2018.12.24
아파치 Kafka Producer의 데이터 처리 내부 architecture 설명 및 튜닝포인트

지난 포스트에서 Kafka architecture 및 개요에 대해 알아보았다. ☞ 빅 데이터 처리를 위한 아파치 Kafka 개요 및 설명 포스팅 이번 포스트에서는 kafka architecture의 Producer 내부 데이터 흐름에 대해 알아보려고 한다. Kafka Producer 데이터 내부 처리 순서 #1 : User application thread에서 Record 추가#2 : Record Batch단위로 Record를 압축#3 : 복수의 Record Batch를 묶어 Broker로 보냄#4 : Record Batch를 각 Partition에 저장#5 : 지정시간에 request 에 대한 완료(ack)를 회신 - acks=0 : ack 응답없음(속도가장빠름, 데이터유실확률 가장 높음) - acks..

빅데이터/Kafka 2018.12.24
모든 것을 측정하는 방법 - Bigdata시대에 부족한 data로 예측하기

이 포스트는 모든 것을 측정하는 방법을 읽고 정리한 글입니다. 해당 서적 : How to Maesure Anything(amazon.com) 근사값 밖에 구할 수 없는 상황에서는 완벽한 정확성을 추구하는 것보다 가능한 수준의 정밀도로 만족하는 것이 지식인에게 필요한 태도이다. - 아리스토텔레스(BC. 384 - BC. 322) 왜 측정이 필요한가?모든 것은 측정 가능하다. 대체로 측정 불가능하다고 여겨지는 많은 문제들이 간단한 측정 방법을 통해 해결될 수 있다. 특히 사업 경영에서 흔히 접하는 '보이지 않는' 것들에 대해 측정이 가능하다. 다음과 같은 것들이 일반적으로 생각되는 보이지 않는 것들의 예이다. # IT 프로젝트가 실패할 위험# 수집한 정보의 가치# 품질# 대중적 이미지 위의 예들은 사업의 의..

빅데이터 2018.12.16
JVM에서 MapReduce를 간편하게 쓸수 있는 오픈소스 라이브러리 Cascading

CascadingCascading은 opensource library로서 JVM에서 쉽게 bigdata처리를 가능캐 한다. 오픈소스이며 apache license를 보유하고있다. # Website : https://www.cascading.org/ # Github : https://github.com/Cascading/cascading # twitter : https://twitter.com/Cascading Source-pipe-sink 패러다임을 채용하여 객체지향 프로그래밍 언어에서도 data처리를 직관적으로 구현할 수 있다. 기존에 많이 사용하던 MapReduce code와 비교해보자. Old MapReduce code Bigdata를 다룰 때 맵리듀스(MapReduce)는 흩어져 있는 데이터를 수..

빅데이터 2018.11.19