1. 시각화 툴
- 대시보드 혹은 BI(Business Intelligence) 툴이라고 부르기도 함.
- KPI(Key Performance Indicator)와 같은 지표와 데이터 등을, 데이터를 기반으로 계산/분석/표시해 주는 툴.
- 데이터 결정권자들에게 많은 도움이 됨.
- 데이터 기반 결정(Data-Driven Decision)
- 데이터 참고 결정(Data-Informed Decision)
- 혹은 현업 종사자(Citizen Data Analysist)들이 데이터 분석을 쉽게 할 수 있도록 해 줌.
- EDA(Exploratory Data Analysis): 데이터 탐방. 에도 수행될 수 있음.
1-1. 툴 종류
- Excel, Google Spreadsheet
- Python
- Looker
- Tableau
- Power BI
- Apache Superset
- Mode Analytics, ReDash
- Google Studio
- AWS Quicksight
1-2. Looker(구글)
- LookML 자체 언어로 데이터 모델을 만드는 것으로 시작.
- 내/외부 고객을 위한 대시보드 작성 가능.
- 고가의 라이선스 정책이지만 다양한 기능 제공.
- 한 번 대시보드를 만들어 놓으면 수정이 매우 쉬움. (템플릿을 사용하기에 용이함.)
- 하지만 대시보드 디스커버리 문제가 발생할 수 있음.
1-3. Tableau(세일즈포스)
- 다양한 제품군 보유, 일부는 사용이 무료.
- 제대로 배우려면 시간이 꽤 필요하지만 강력한 대시보드 작성 가능.
- Looker가 나오기 전까지는 오랫동안 마켓 리더로 군림했었음.
- 극히 일부의 전문 인력만 대시보드 작성 가능.
1-4. Mode Analytics
- SQL, R, Python 등을 기반으로 데이터 분석 가능.
- 테크니컬한 기술 필요.
- KPI 대시보드보다는 EDA 툴에 적합함.
1-5. 어떤 시각화 툴을 선택할 것인가?
2. Superset
- Airbnb에서 시작된 오픈소스.
- 상용화 서비스도 존재.
- 다양한 형태의 시각화와 손쉬운 인터페이스 지원.
- 대시보드 공유 지원.
- 기업 수준의 보안과 권한 제어 기능 제공.
- SQLAlchemy와 연동.
- Druid.io와 연동하여 실시간 데이터의 시각화도 가능.
- API와 플러그인 아키텍처 제공으로 인한 높은 확장성.
2-1. Superset 구조와 용어
- Flask와 React JS로 구성됨.
- 기본으로 sqlite을 메타데이터 데이터베이스로 사용.
- Redis를 캐싱 레이어로 사용.
- SQLAlchemy가 백엔드 DB 접근에 사용됨.
- Database/Dataset:
- Database : 관계형 DB. (예: Redshift)
- Dataset : 테이블
- Dashboard/Chart : 대시보드는 하나 이상의 차트로 구성.
2-2. 실습용 대시보드
- Database로 Redshift 사용.
- 채널별 Monthly Active User 차트.
- Monthly Cohort 차트.
- 위 두 개의 차트로 하나의 대시보드를 생성.
2-3. 코호트 분석이란?
- 코호트(Cohort)란?
- 특정 속성을 바탕으로 나뉘어진 사용자 그룹.
- 보통 속성은 사용자의 서비스 등록 월.
- 코호트 분석이란?
- 코호트를 기반으로 다음을 계산.
- 사용자의 이탈률, 잔존률, 총 소비 금액 등.
- 코호트 기반 사용자 잔존률 (Retention)
- 보통 월 기반으로 시각화해서 보는 것이 일반적.
2-4. 스프레드시트로 해보는 실습
3. Superset 설치
- Docker 혹은 https://preset.io/에 있는 서비스 사용.
- Docker는 Superset 오픈 소스를 그대로 쓰는 형태.
- Preset.io는 무료 Starter 플랜이 있으나 회사 계정 필요.
Docker란,
- 특정 프로그램과 해당 프로그램에 필요한 기타 소프트웨어들을 하나의 패키지로 만듦으로써 해당 프로그램의 개발과 사용을 도와주는 오픈 소스 플랫폼.
- 이 패키지를 파일 시스템 형태로 만드는데, 이를 Docker Image라고 함.
- Image 공유소를 Docker Hub이라고 함.
- Docker Image를 실행시킨 것을 Docker Container(일종의 가상 컴퓨터)라고 부르며, 이 안에서 프로그램이 실행됨. (Docker Engine이 실행되고 있는 상태에서 가능.)
3-1. Docker Superset 실행
-
기본 조건: 윈도우는 8GB의 메모리, 맥은 6GB의 메모리 필요.
-
터미널 실행 및 적당한 폴더로 이동.
-
Superset Github repo를 클론. git clone https://github.com/apache/superset.git
-
superset 폴더로 이동.
-
아래 두 명령어 입력. (docker engine이 켜저 있는 상태에서.)
- 만약 최신 버전을 원한다면, ```git checkout 1.4.0 ``` 입력.
docker-compose -f docker-compose-non-dev.yml pull
: Image 다운로드.
docker-compose -f docker-compose-non-dev.yml up
: 컨테이너로 실행.
-
http://localhost:8088로 웹 UI 로그인 (id: admin / pw: admin)
4. Superset 실습
-
메인 페이지에서 Settings에서 Databases를 선택한 후, Database를 추가한다. (다만, Superset의 경우, Redshift가 없기 때문에 이와 연동되는 PostgreSQL로 설정한다.)

-
메인 페이지에서 Datasets에 들어가서 +Dataset을 한다. (원하는 Database, Schema, table을 선택. 실제로 데이터를 가져오지는 않고, 메타 정보만 가져 옴.)
![업로드중..]()
-
다음으로 차트를 선택하여 생성한다. (차트 종류는 다양하게 있으니, 서치하여 적당한 차트를 선택한다.)
![업로드중..]()
-
그래프에 필요한 정보를 입력한 후, UPDATE CHART를 수행한다. (필요 시 해당 차트를 SAVE한다.)
![업로드중..]()