분석 15

분산형 데이터 분석 아키텍처-데이터 매쉬

Data mesh조대협 (http://bcho.tistory.com) Data mesh는 빅데이터 분석 시스템의 아키텍쳐 스타일로, 마이크로 서비스 아키텍처 (이하 MSA)컨셉과 유사하게 데이터 분석 시스템을 각각의 분산된 서비스 형태로 개발 관리하는 아키텍쳐 모델이다. 이번 글에서는 차세대 데이터 분석 시스템 아키텍처인 Data mesh에 대해서 알아본다. 데이터 분석 시스템의 역사Data mesh에 대해서 이해하려면 기존의 데이터 분석 시스템의 아키텍처와 그 역사에 대해서 이해하라 필요가 있다.데이터 분석 시스템은, DataWare house를 거쳐 현재는 Data Lake 형태가 주류를 이루고 있으며, 차세대로는 Data Mesh가 각광 받고 있다. 각각 아키텍처 스타일을 보면 다음과 같다.Data..

파이썬을 이용한 데이타 시각화 #1 - Matplotlib 기본 그래프 그리기

파이썬을 이용한 데이타 시각화 #1 - Matplotlib 기본 그래프 그리기 조대협 (http://bcho.tistory.com) 백앤드 엔지니어와 백그라운드를 가진 경험상, 머신러닝을 공부하면서 헷갈렸던 부분중 하나가, 데이타에 대한 시각화이다. 머신러닝은 모델을 구현하는 것도 중요하지만, 학습할 데이타를 선별하고, 만들어진 모델을 검증하기 위해서는 데이타를 이해하는 것이 필수적이고 이를 위해서는 데이타를 시각화 해서 보는 것이 매우 중요하다. 그동안 그래프를 그리는 것을 스택오버플로우등에서 찾아서 복붙을 해서 사용하다가 matplotlib를 정리해야겠다고 해서 메뉴얼을 봤지만 도무지 이해가 되지 않아서, 결국 온라인 강좌를 들어서 정리해봤는데, 역시 강좌를 들으니까는 훨씬 빠르게 이해가 된다.참고한..

파이어베이스를 이용한 유니티 게임 로그 분석

파이어베이스를 이용한 유니티 게임 로그 분석 조대협 (http://bcho.tistory.com)모바일 로그 분석일반적으로 모바일 로그 분석은 클라우드 기반의 무료 솔루션을 이용하다가 자체 구축으로 가는 경우가 많다.클라우드 기반의 무료 로그 분석 솔루션으로는 구글 애널러틱스, 야후의 플러리, 트위터의 패브릭 그리고 구글의 파이어베이스 등이 있다.이런 무료 로그 분석 솔루션들을 사용이 매우 간편하고, 핵심 지표를 쉽게 뽑아 줄 수 있으며, 별도의 운영이 필요 없다는 장점을 가지고 있다.그러나 이런 클라우드 기반의 무료 솔루션의 경우에는 요약된 정보들만 볼 수 있고 또한 내가 원하는 지표를 마음대로 지정을 할 수 없기 때문에, 어느정도 서비스가 성장하고 팀의 여력이 되면 별도의 로그 수집 및 분석 솔루션을..

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석- #4 주피터 노트북을 이용한 파이어베이스 데이타 분석 및 시각화

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석#4 주피터 노트북을 이용한 파이어베이스 데이타 분석 및 시각화조대협 (http://bcho.tistory.com)노트북의 개념빅데이타 분석에서 리포팅 도구중 많이 사용되는 제품군 중의 하나가 노트북이라는 제품군이다. 대표적인 제품으로는 오픈소스 제품중 주피터(https://ipython.org/notebook.html) 와 제플린(https://zeppelin.apache.org/) 이 있다.노트북은 비지니스에 전달하기 위한 멋진 액셀이나 대쉬보드와 같은 리포트 보다는 데이타를 다루는 데이타 과학자와 같은 사람들이 사용하는 분석도구인데, 제품의 이름 처럼 노트북의 개념을 가지고 있다.예를 들어서 설명해보자 우리가 수학문제를 풀려면 연습장을 펴놓고 공식을..

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석 #2-분석 지표 이해하기

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석 #2-분석 지표와 대쉬 보드 이해하기 조대협 (http://bcho.tistory.com) 파이어베이스 애널러틱스로 지표를 수집하게 되면, 몬가 아름다워(?) 보이는 대쉬 보드와 그래프들을 볼 수 있다. 그러나 정작 각 그래프의 항목과 수치가 무엇을 의미하는지를 이해하지 못한다면 무용 지물이나 다름없다. 비단 파이어베이스 애널러틱스 뿐 아니라, 일반적인 데이타 분석에서도 많이 겪는 실수중에 하나인데, 이번에는 파이어베이스 애널러틱스에 의해서 분석되어 리포트로 제공되는 각종 지표와 이와 연관된 이벤트들에 대해서 알아보도록 한다.대쉬 보드파이어베이스 애널러틱스를 사용하게 되면 리포트는 대쉬보드를 통하여 출력되게 된다. 대쉬 보드는 대략 아래와 같이 생겼는데..

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석 #1-Hello Firebase

파이어베이스 애널러틱스를 이용한 모바일 데이타 분석 #1-Hello Firebase조대협 (http://bcho.tistory.com) 얼마전에 구글은 모바일 백앤드 플랫폼인 파이어베이스를 인수하고 이를 서비스로 공개하였다.파이어 베이스는 모바일 백앤드의 종합 솔루션으로, 크래쉬 리포팅, 리모트 컨피그를 이용한 A/B 테스팅 플랫폼, 클라우드와 자동 동기화가 가능한 리얼타임 데이타 베이스, 사용자 인증 기능, 강력한 푸쉬 플랫폼 다양한 모바일 기기에 대해서 테스트를 해볼 수 있는 테스트랩 등, 모바일 앱 개발에 필요한 모든 서비스를 제공해주는 종합 패키지와 같은 플랫폼이라고 보면 된다. 안드로이드 뿐만 아니라 iOS까지 지원하여 모든 모바일 앱 개발에 공통적으로 사용할 수 있다. 그중에서 파이어베이스 애..

실시간 데이타 분석 플랫폼 Dataflow - #5 데이타 플로우 프로그래밍 모델

데이타 플로우 프로그래밍 모델의 이해 조대협 (http://bcho.tistory.com) 앞의 글에서 스트리밍 프로세스의 개념과, 데이타 플로우의 스트리밍 처리 개념에 대해서 알아보았다. 그렇다면 실제로 이를 데이타 플로우를 이용해서 구현을 하기 위해서는 어떤 컴포넌트와 프로그래밍 모델을 사용하는지에 대해서 알아보자. 구글 데이타 플로우 프로그래밍 모델은 앞에서 설명한 바와 같이, 전체 데이타 파이프라인을 정의하는 Pipeline, 데이타를 저장하는 PCollections, 데이타를 외부 저장소에서 부터 읽거나 쓰는 Pipeline I/O, 그리고, 입력 데이타를 가공해서 출력해주는 Transforms , 총 4가지 컴포넌트로 구성이 되어 있다. 이번 글에서는 그 중에서 데이타를 가공하는 Transfo..

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

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

구글 빅데이타 플랫폼 빅쿼리(BIGQUERY)에 소개

구글 빅데이타 플랫폼 빅쿼리 소개 조대협 (http://bcho.tistory.com) 구글의 클라우드 관련 기술중 무엇이 좋은게 있을까 살펴 보면서 기술을 하나하나씩 보다 보니, 구글 클라우드의 특징은 여러가지가 있겠지만, 데이타 회사 답게 빅데이타 및 머신 러닝 플랫폼이 상당히 강하다. 그중에서 빅데이타 플랫폼의 중심에 BIG QUERY라는 빅데이타 플랫폼이 있어서, 몇 회에 걸쳐서 빅쿼리에 대해서 소개해보고자 한다.구글 빅데이타 분석의 역사구글은 빅데이타를 다루면서, 그 근간이 되는 기술들의 논문들을 공개했다. 하둡 파일 시스템의 시초가 되는 GFS나, 하둡의 시초인 MapReduce 논문, 그리고 Hive를 통해 오픈소스화가 된 Big Table등의 논문들이 있다. 구글의 빅쿼리는 Dremel 이..

Zepplin (제플린) 설치하기

제플린 설치하기 (맥북 기준 - Darwin 커널 기준) 1. 선행 설치 git 설치maven 3.3 설치JDK 설치 (1.8 설치) 2. 소스코드 다운로드% git clone https://github.com/NFLabs/zeppelin 위와 같이 코드가 다운로드됨을 확인할 수 있음 3. 컴파일코드가 다운되면 컴파일을 해야 하는데, 여기서는 간단한 테스트를 위해서 클러스터 모드가 아닌 로컬 모드로 설치를 진행한다.% mvn install -DskipTests 이때 주의할점은 맥에서는 mvn으로 설치할때, 몇몇 의존성 모듈 설치시 루트 권한을 필요로 하는 것이 있기 때문에 % sudo mvn install -DskipTests 를 이용하여 루트 권한으로 설치한다. 설치시 다음과 같은 에러가 나올 수 있다..