메뉴 건너뛰기

Xamarin Dev

SHARING, PUBLISHING.
& PLEASURE.

지식을 나누고 컨텐츠를 출판하며 즐거움을 함께합니다.

MAKING
WEB CULTURES

올바른 웹 문화를 지향합니다.

EVOLUTION & INNOVATION
TOGETHER

함께 진화하고 혁신을 추구합니다.

CREATE A GOOD DESIGN WITH
THE POSSIILITY OF TECHNOLOGY

기술의 가능성을 발굴하고 좋은 디자인을 만들어 갑니다.

데이터 분석이나 머신러닝 같은 기술이 관심을 모으면서 데이터와 관련된 오픈소스 기술들이 점점 늘어나고 있다. 활용 분야도 실시간 데이터 분석, 데이터 시각화, 데이터 모니터링 등 다양하다. 다음은 최근 몇 년 사이 등장한 오픈소스 중 데이터와 관련된 기술들이다.

■ 추천 알고리즘

① 셀던

셀던은 영국 캠브리지대학 소속 데이터 과학자들이 모여 만든 기술이다. 셀던은 2012년 핵심 기술을 개발했고, 2015년 초부터 이를 ‘오픈 프리딕티브 플랫폼(Open Predictive Platform)’이라고 부르며 오픈소스 기술로 전환했다. 현재 버전 0.9까지 나왔다.

data_opensource_01_seldon_logical

▲셀던 추천 시스템 구조 예(사진 : 셀던 홈페이지)

셀던은 공식 홈페이지를 통해 다양한 머신러닝 기술에 셀던을 활용할 수 있다고 설명한다. e커머스 분야에서 적당한 고객에 상품을 추천할 수 있고, A/B 테스트 등에 활용해 추천 알고리즘을 최적화할 수 있다. 실시간 마케팅을 진행하고 잘못된 애플리케이션도 감지할 수 있다. 이러한 활용사례에 대한 예제와 소스코드, 데모 화면은 셀던 공식 홈페이지에서 확인할 수 있다.

data_opensource_02_seldon

▲셀던 오픈소스 구조(사진:셀던 홈페이지)

② 프리딕션IO

프리딕션IO도 영국에 있는 데이터과학자들이 만든 기계학습 도구다. 사이먼 첸 프리딕션IO 최고경영자(CEO)는 지난해 한국을 방문해 “데이터과학자가 아니더라도 사용할 수 있는 기계학습 SW를 만들고 싶어 프리딕션IO를 개발했다”라고 설명했다. 프리딕션IO 기술의 상당수는 스칼라로 구현되기도 했다. 프리딕션IO의 라이선스는 ‘아파치 라이선스 2.0’을 따른다.

data_opensource_04_preditionIO-re

▲프리딕션IO 예제 (출처 : 슬라이드쉐어 )

프리딕션IO는 2012년 처음 공개됐으며, 올해 3월 e커머스 위한 기계학습 기술인 ‘e커머스 템플릿 엔진’을 따로 만들어 배포했다. 프리딕션IO는 “개발자는 e커머스 템플릿 엔진으로 고객이 살펴본 제품을 기반으로 비슷한 상품을 추천해주거나 재고가 별로 없는 물품을 특정 사용자에게 최적화해서 추천할 수 있다”라고 설명했다. 또한 “무료 쿠폰을 효과적으로 제공하거나 사용자가 좋아할 만한 제품이 무엇인지 우선순위를 매기는 기술을 구현할 수 있다”라고 설명한다.

data_opensource_05_preditionIO

▲프리딕션IO를 적용할 수 있는 분야들(사진 : 프리딕션IO 홈페이지)

■ 데이터 분석

③ 에어로솔브

에어로솔브’는 에어비앤비가 개발한 머신러닝 소프트웨어다. 데이터의 의미를 찾아주거나 사용자게 필요한 예측을 제공하는 데 도움을 준다. 에어비앤비는 실제로 에어로솔브를 활용해 ‘프라이스팁스’라는 기능을 개발했다. 프라이스팁스는 여행 트렌드와 날짜를 분석해 집주인에게 알맞은 예약 가격을 추천한다. 집주인은 프라이스 팁스로 특정 가격 전후로 여행객이 얼마나 모일지 예측할 수 있다. 뿐만 아니라 이미지를 분석해 어떤 사진이 숙박 예약자가 선호하는지 구분할 때도 에어로솔브를 이용했다고 에어비앤비는 설명했다.

data_opensource_07_AeroSolve

▲에어로솔브를 활용한 ‘프라이스팁스'(사진 : 에어비앤비 블로그)

data_opensource_06_AeroSolve

▲에어로솔브를 활용한 이미지 분류. 왼쪽이 전문사진가가 찍은 사진이고 오른쪽이 숙박 예약자가 많이 클릭한 사진이다.(사진 : 에어비앤비 블로그)

④ 피노

피노는 링크드인이 개발한 실시간 분석 기술이다. 링크드인은 머신러닝, 데이터 분석과 관련한 기술을 내부에서 사용하다 어느정도 성숙되면 오픈소스 기술로 공개하고 있다. 피노는 링크드인의 개인 프로필 페이지나 기업용 분석 서비스에 적용됐다. 링크드인은 “2012년부터 데이터 양이 예상 범위를 훨씬 벗어낫다”라며 “대규모 데이터를 실시간 분석하는 기술이 필요해 피노를 만들었다”라고 밝혔다. 피노는 ‘아파치2.0 라이선스’가 적용됐다.

data_opensource_08_LinkedIn_Pinot

▲링크드인 서비스에 피노를 적용한 구조 전후(사진 : 링크드인)

data_opensource_09_LinkedIn_Pinot

▲링크드인 서비스에 피노를 적용한 구조 전후(사진 : 링크드인 블로그)

⑤ 펄사

펄사는 이베이가 만든 실시간 분석 플랫폼이자 스트림 프로세싱 프레임워크이다. 2015년 초 오픈소스 기술로 공개됐다. 이베이는 e커머스인만큼 수많은 사용자를 관리하고 이로 인해 발생하는 많은 이벤트를 처리한다. 과거에는 주로 하둡을 이용해 대용량 데이터를 병렬처리했지만, 펄사를 도입해 확장성과 분석 성능을 높였다.  이베이는 펄사에 분산 복합이벤트 처리 기술(Complex Event Processing, CEP)이라는 자바 기반 프레임워크을 개발해 적용했고, 파이프라인도 직접 설계했다.

data_opensource_10_pulsar_deployment

▲이베이가 공개한 ‘펄사CEP’ 구조(사진 : 이베이 블로그)

data_opensource_11_pulsar_pipeline

▲이베이가 공개한 ‘펄사 분석 파이프라인’ 구조(사진 : 이베이 블로그)

이베이는 깃허브 위키 페이지를 통해 “실시간 데이터 리포트, 대시보드를 만들 때, 서비스 현황을 모니터링할 때, 개인화 서비스를 만들 때, 사기 계정이나 봇 활동을 감지할 때 주로 펄사를 이용할 수 있다”라고 설명했다. 펄사의 라이선스는 아파치2.0과 GPL2.0을 따른다.

■ 데이터모니터링

⑥ 에어로플로우

에어플로우는 에어비앤비가 만든 오픈소스 소프트웨어로, 데이터 파이프라인을 관리하고 모니터링할 수 있는 도구다. 주로 데이터웨어하우스 기술에 에어플로우를 통합할 수 있고, A/B 테스트를 도입할 때도 에어플로우를 이용할 수 있다. 특정 사용자를 대상으로 e메일 마케팅을 벌일 때도 에어플로우를 활용할 수 있다. 하이브, 프레스토, DB 엔진 등과 결합해 사용되기도 한다.

data_opensource_12_AeroFlow

▲에어로플로우 실행 예(사진 : 에어비앤비 블로그)

data_opensource_13_AeroFlow

▲에어로플로우 실행 예(사진 : 에어비앤비 블로그)

data_opensource_14_AeroFlow

▲에어로플로우 실행 예(사진 : 에어비앤비 블로그)

⑦ 나이아가라파일

나이아가라파일(Niagarafiles, NiFi)’은 미국 국가안보국(NSA)과 아파치재단이 함께 만든 데이터 모니터링 기술이다. NiFi는 여러 네트워크를 통과하는 데이터가 어떻게 흘러가고 있는지 파악해준다. 데이터 형식이나 프로토콜이 달라도 이를 분석할 수 있다. NiFi 프로젝트를 이끈 조셉 위트 개발자는 “특정 정보를 보낼 때 데이터간 우선순위를 정할 수 있다”라고 설명했다. NSA는 대규모 데이터를 관리할 때 NiFi가 유용할 것으로 보고 있다.

data_opensource_16_NiFi_Achitecture

▲나이아가라파일(Niagarafiles, NiFi) 구조

data_opensource_15_NiFi_flow

▲나이아가라파일(Niagarafiles, NiFi)을 실행한 예(사진 : 공식 홈페이지)

<더레지스터>는 11월25일 보도를 통해 “NSA는 일반인들의 정보를 감시하고 있다는 비난을 줄곧 받았다”라며 “오픈소스 기여는 이러한 상황을 나아지게 만들 수 있는 편한 홍보 도구일 것”이라고 평가하기도 했다.

■ 데이터시각화

⑧ 차티드

차티드는 미디엄이 만든 시각화 도구다. 미디엄은 내부에 ‘프로덕션 사이언스’라는 별도의 팀을 구성해 데이터 과학 및 분석 기술에 투자하고 있다. 차티드는 프로덕션 사이언스팀이 직접 만들어 이용하고 있다가 2014년 말 오픈소스로 공개했다. 차티드는 무료로 이용할 수 있고, 내부 소스코드도 직접 들여다볼 수 있다. 차티드의 라이선스는 ‘MIT 라이선스’를 따른다.

차티드는 별다른 프로그램 설치 없이 웹에서 바로 이용할 수 있다. 데이터는 드롭박스나 구글독스 등에 저장된 데이터 파일 주소를 붙여넣어 추가한다. 차트 모양은 막대그래프나 꺾은선그래프를 선택할 수 있으며 차트 제목이나 서식, 배경 색깔 등도 변경할 수 있다. 차티드는 실시간 시각화 도구이기에 입력 데이터가 실시간으로 변했다면 차티드 시각화 결과도 자동으로 업데이트된다. 개인정보처럼 보안이 필요한 데이터도 내부 보안 네트워크 안에서 실행할 수 있다.

data_opensource_19_charted

▲여러 데이터를 하나씩 분리해서 시각화할 수도 있다(사진 : 미디엄)

data_opensource_17_charted

▲입력한 데이터를 수정해 다시 내려받을 수 있다.(사진 : 미디엄 블로그)

data_opensource_18_charted

▲시각화 방법을 직접 선택할 수 있다(사진 : 미디엄)

⑨·⑩ 킨IO 대시보드& 데이터 익스플로러

킨IO는 클라우드 데이터 분석 업체이다. 킨IO는 깃허브에 다양한 소스코드를 공유하고 있다. 아예 ‘킨IO 시각화 툴킷’을 공개해 킨IO 도구를 쉽게 설치할 수 있게 돕고 있다. 킨IO가 공개한 기술 중 가장 인기있는 기술은 ‘킨IO 대시보드‘다. 킨IO 대시보드는 데이터 분석도구를 만들 때 유용하며 부트스트랩 기반이라 구축 시간을 단축시켜 준다.

data_opensource_20_keenIO

▲킨IO 대시보드 예(사진 : 킨IO)

data_opensource_21_keenIO

▲킨IO 대시보드 예(사진 : 킨IO)

킨IO는 최근에 ‘데이터 익스플로러’라는 기술을 오픈소스 기술로 전환했다. 데이터 익스플로러를 이용하면, 복잡한 절차없이 클릭 몇 번으로 대규모 데이터에서 원하는 데이터만 추려낼 수 있다. 예를 들어 가입한 사용자수, 페이지뷰, 제품 다운로드 횟수 등을 따로 분류할 수 있다. 이 데이터를 꺾은선그래프, 파이그래프 등으로 표현하고, JSON 형식으로도 추출할 수 있다.

data_opensource_22_KeenIO_Data_Explore_01

▲데이터 익스플로러 실행 예(사진 : 킨IO 블로그)

data_opensource_23_KeenIO_Data_Explore_02

▲데이터 익스플로러 실행 예(사진 : 킨IO 블로그)

data_opensource_25_KeenIO_Data_Explore_04

▲데이터 익스플로러 실행 예(사진 : 킨IO 블로그)

data_opensource_26_KeenIO_Data_Explore_05

▲데이터 익스플로러 실행 예(사진 : 킨IO 블로그)

⑪ 제니퍼 UI

제니퍼 UI(JUI)는 제니퍼소프트에서 만든 오픈소스 기술이다. 제니퍼소프트는 애플리케이션 성능관리(APM) 기술을 주력 서비스로 제공하고 있으며, JUI는 실제 제품을 위해 개발되던 중 오픈소스로 전환됐다. 한국 개발자들이 직접 개발한 오픈소스이기 때문에 피드백을 주고 받기 상대적으로 편하다. JUI 라이선스는 ‘MIT 라이선스’를 따른다.

JUI는 차트의 배경이 되는 12종의 그리드와 데이터를 표현할 수 있는 53종의 브러시, 인터랙션을 담당하는 11종의 위젯을 제공한다. 사용자는 JUI를 참고해 실시간 차트, 대시보드, 토폴로지 형태의 그래프를 구현할 수 있다. 최근엔 노드JS 환경에서 JUI를 이용할 수 있도록 기술을 지원했다.

data_opensource_27_JUI

▲JUI 데모(사진 : JUI 홈페이지)

data_opensource_28_JUI

▲JUI 데모(사진 : JUI 홈페이지)

⑫ 미 정부 커뮤니티 기반 이니셔티브 지도

 

미국 정부는 최근 오픈소스 기술 공개에 적극적이다. 예산안을 깃허브에 올리고, 각 정부기관이 개발한 소프트웨어들도 속속 오픈소스 SW로 전환되고 있다. 2015년 8월에는 ‘정부 커뮤니티 기반 이니셔티브 지도’라는 지도 시각화 웹서비스를 오픈소스 기술로 공개했다. 이 지도는 미국정부와 지역단체가 협업해 진행하는 캠페인을 요약해 보여준다. 해당 사업과 관련된 단체나 시민은 지역 정보를 검색해 필요한 정보를 찾을 수 있다. 시민들은 지도 콘텐츠 외에 웹서비스에 대한 기술적인 조언도 깃허브를 통해 제안할 수 있다.

 

정부 커뮤니티 기반 이니셔티브 지도는 웹 매핑 라이브러리인 ‘리플렛JS’로 개발됐으며, 지도 데이터를 입력하는 과정에는 ‘토포JSON‘을 활용했다. 라이선스는퍼블릭 도메인 라이선스(CC0 1.0)를 따른다.

data_opensource_30_omb_place

▲지도 시각화 라이브러리(사진 : 리플렛 공식 홈페이지)

data_opensource_29_omb_place

▲’정부 커뮤니티 기반 이니셔티브 지도’

위로