ssung_데이터 엔지니어링/7주차_데이터 웨어하우스 관리와 고급 SQL, BI 대시보드

데이터 웨어하우스와 고급 SQL, BI 대시보드 (1)

ssungcohol 2023. 11. 27. 22:19

데이터 조직이 하는 일

  • 고품질 데이터를 기반으로 의사 결정권자에게 입력 제공
     - 결정 과학 (Decision Science)라고도 함
     - 데이터를 고려한 결정을 가능하게 해줌
     - Ex_) 데이터 기반 지표 정의, 대시보드와 리포트 생성 등을 수행
  • 고품질 데이터를 기반으로 사용자 서비스 경험 개선 혹은 프로세스 최적화
     - 머신 러닝과 같은 알고리즘을 통해 사용자의 서비스 경험을 개선

데이터 웨어하우스

  • 회사에 필요한 모든 데이터를 모아놓은 중앙 데이터베이스
     - AWS Redshift, 구글 BigQuery, Snowflake, 하둡/Spark 등이 있음
  • 프로덕션용 베이터베이스와 별개의 데이터베이스여야 함
  • 데이터 웨어하우스의 구축이 진정한 데이터 조직이 되는 첫 번째 단계

데이터 웨어하우스 장단점

  • 기본적으로 클라우드가 대세
  • 데이터가 커져도 문제가 없는 확장 가능성(Scalable)과 적정한 비용이 중요한 포인트
  • 크게 고정비용 옵션과 가변비용 옵션이 존재하며 후자가 좀 더 확장 가능한 옵션
  • 오픈소스 기반을 사용하는 경우도 클라우드 버전이 존재
  • 데이터가 작다면 굳이 빅데이터 기반 베이터 베이스를 사용할 필요가 없음

데이터 레이크

  • 구조화 데이터 + 비구조화 데이터 (로그파일)
  • 보존 기한이 없는 모든 데이터를 원래 형태대로 보존하는 스토리지에 가까움
  • 데이터 웨어하우스보다 몇 배는 더 크고 경제적인 스토리지
  • 보통 클라우드 스토리지가 됨
     -  AWS의 S3가 대표적인 데이터 레이크
  • 데이터 레이크가 있는 환경에서 ETL과 ELT
     - 데이터 레이크와 데이터 웨어하우스 바깥에서 안으로 데이터를 가져오는 것 : ETL
     - 데이터 레이크와 데이터 웨어하우스 안에 있는 데이터를 처리하는 것 : ELT

ETL (Extract, Transform, Load)

  • 다른 곳에 존재하는 데이터를 가져다가 데이터 웨어하우스에 로드하는 작업
     - Extract : 외부 데이터 소스에서 데이터 추출
     - Transform : 데이터 포맷을 원하는 형태로 변환
     - Load : 변환된 데이터를 최종적으로 데이터 웨어하우스로 적재
  • 데이터 파이프라인이라고 부르기도 함
  • 가장 많이 사용하는 프레임워크는 Airflow
     - 오픈소스 프로젝트로 파이썬 3 기반
     - Airbnb에서 시작
  • ETL 관련 SaaS (Software as a Service)도 출현하기 시작
  • ETL의 수는 회사의 성장에 따라 쉽게 100+개 이상으로 발전
  • 데이터 요약을 위한 ETL도 필요해짐 (-> ELT)

ELT

  • 데이터 웨어하우스 내부 데이터를 조작하여 (좀 더 추상화되고 요약된) 새로운 데이터를 만드는 프로세스

시각화 대시보드

  • 보통 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적
     - 지표의 경우 3A (Accessible, Actionable, Auditable)가 중요
     - 중요 지표의 예 : 매출액, 월간/주간 액티브 사용자 수
  • 가장 널리 사용되는 대시보드
     - 구글 : Looker
     - 세일즈포스 : Tableau
     - 마이크로소프트 : BI (Power BI)
     - 아파치 : Superset

데이터 엔지니어의 역할

  • 기본적으로 소프트웨어 엔지니어
     - 파이썬이 대세이지만, 자바 또는 스칼라와 같은 언어도 아는 것이 좋음
  • 데이터 웨어하우스 구축
     - 데이터 웨어하우스를 만들고 이를 관리 (클라우드로 가는 것이 추세)
     - ETL 코드를 작성하고 주기적으로 실행해주는 것이 중요한 작업 중의 하나
  • 데이터 분석가와 과학자를 지원
     - 데이터 분석가, 데이터 과학자들과의 협업을 통해 필요한 툴이나 데이터를 제공해주는 것 중요한 역할 중 하나
  •  
728x90