본문 바로가기

데이터엔지니어링

[7주차] 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (5)

🙂 시각화 툴

✔ Looker

  • 2012년 산타크루즈에서 시작
  • 2019년 6월에 구글이 인수
    • LookML이 자체언어로 데이터 모델을 만드는 것으로 시작
    • 내부 고객 뿐 아니라 외부 고객을 위한 대시보드 작성 가능
    • 고가의 라이선스 정책

✔ Tableau

  • 2002년 마운틴 뷰에서 시작
  • 세일즈포스가 2019년 6월에 인수
    • 다양한 제품군 보유. 일부 사용 무료
    • 강력한 대시보드 작성 가능

✔ ReDash

  • 오픈소스로 시작
  • 2020년에 Databrick이 인수
  • Superset보다 강력한 쿼리 에디터를 제공하지만 권한 관련 기능 부족

✔ Superset

  • Airbnb에서 시작된 오픈소스
  • 다양한 형태의 visualization과 쉬운 인터페이스 지원
  • 대시보드 공유 지원
  • 엔터프라이즈 수준의 보안과 권한 제어 기능 제공
  • SQLAlchemy와 연동
  • Druid.io와 연동하여 실시간 데이터의 시각화 가능
  • API와 플러그인 아키텍쳐 제공으로 인한 확장성이 좋음

🍦 Superset 구조와 용어

  • Flask와 React JS로 구성
  • sqlite를 메타데이터 데이터베이스로 사용
    • 일반적으로 mysql등을 설치해서 사용
  • Redis를 캐싱 레이어로 사용
  • SqlAlchemy가 백엔드 DB 접근에 사용
  • Database == 관계형 데이터베이스 (Redshift)
  • Dataset == 테이블
  • Dashboard는 하나 이상의 chart로 구성

🙂 실습

  • Database로 Redshift 사용
  • 채널별 Monthly Active User 차트
    • 입력 테이블(Dataset)은 analytics.user_session_summary
  • Monthly Cohort 차트
    • 입력 테이블(Dataset)은 analytics.cohort_summary

🍦 Cohort 분석

  • Cohort
    • 특정 속성을 바탕으로 나뉘어진 사용자 그룹
    • 보통 속성은 사용자의 서비스 등록월
  • Cohort 분석
    • Cohort 기반으로 다음을 계산
    • 사용자의 이탈률, 잔존률, 총 소비금액 등
  • Cohort 기반 사용자 잔존률 (Retention)
    • 보통 월기반으로 시각화해서 보는 것이 일반적

✔ Docker

  • SQL을 다른 OS에 설치하려면 다양한 변수 존재
  • Docker는 특정 프로그램과 필요한 기타 SW로 하나의 패키지로 만듦으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼
    • 이 패키지의 파일 시스템 형태가 Docker Image
      • 다른 사람과 공유 가능 
      • Docker Image 공유소를 Docker Registry (Docker Hub)
    • Docker Image를 실행한 것을 Docker Container라 하며 이 안에서 프로그램이 실행됨
      • Docker Engine 실행 필수