데브코스 TIL

데이터 웨어하우스 옵션

예니ㅣ 2023. 11. 27. 13:40

강의

데이터 조직

데이터 조직의 비전은 신뢰할 수 있는 데이터를 바탕으로 부가 가치를 생성하는 것입니다.

 

데이터 조직의 역할

  • 결정 과학(Decision Science)
    • 고품질 데이터를 기반으로 의사 결정권자에게 입력 제공
    • 데이터 고려 결정(Data Informed Decisions) vs  데이터 기반 결정(Data Driven Decisions)
    • 데이터 기반 지표 정의 혹은 대시보드와 리포트 생성
    • 데이터 분석가(Data Analysist)
  • Product Science
    • 고품질 데이터를 기반으로 사용자 서비스 경험 개선 혹은 프로세스 최적화
    • 오류 최소화
    • 머신 러닝 알고리즘 이용

 

이상적인 데이터 흐름

  1. 데이터 인프라 구축
  2. 데이터 분석 : 지표 정의 및 시각화 
  3. 데이터 과학 적용
  4. 사용자 경험 개선

 

데이터 플랫폼 발전 단계

  1. 데이터 웨어하우스 및 ETL
  2. 데이터 양 증가 → 빅데이터 처리 시스템(예를들어 Spark) 도입
  3. 데이터 활용 증대 → Analytics Engineering 도입 및 머신러닝 관련 효율성 증대 노력 증대

 

데이터 조직 구성원

  • 데이터 엔지니어(Engineer)
    • 소프트웨어 엔지니어 : Python 혹은 Java
    • 데이터 인프라(데이터 웨어하우스 및 ETL) 구축
    • 데이터 분석가와 과학자 지원
  • 데이터 분석가(Analyst)
    • 비즈니스 인텔리전스 책임 → 비즈니스 도메인 지식 필요
    • 지표 정의 및 시각화(대시보드)
    • 내부 직원의 데이터 관련 질문 응답 → 셀프서비스 생성 관건
  • 데이터 과학자(Scientist)
    • 과거 데이터를 기반으로 미래 예측 머신러닐 모델 구성
    • 서비스 경헙 개선
    • 개인화 혹은 자동화 혹은 최적화
  • 새로운 직군
    • ML 엔지니어
    • MLOps
    • 프라이버시 엔지니어
    • 데이터 디스커버리 서비스

 


데이터 웨어하우스

"데이터 웨어하우스"는 회사에 필요한 모든 데이터를 모아놓은SQL 중앙 데이터베이스 입니다.

데이터 크기에 맞게 데이터베이스 선택해야 합니다.

고정비용 옵션과 가변비용 옵션 중 확장 가능한 옵션은 가변비용 옵션 입니다.

 

데이터 웨어하우스 옵션

SQL을 지원하는 빅데이터 기반의 데이터베이스 입니다.

  • AWS Redshift
    • PB 스케일 데이터 분산 처리 가능
    • 고정 비용 모델 → 가변 비용 모델 확장
    • AWS내의 다른 서비스와 연동 용이
    • 배치 데이터 중심 및 실시간 데이터 처리 지원
    • API를 통한 관리 및 제어 가능
  • Snowflake
    • 클라우드 기반 데이터 웨어하우스
    • 클라우드 관계 없이 작동 가능
    • 빅데이터 저장, 처리 및 분석 가능
    • 배치 데이터 중심 및 실시간 데이터 처리 지원
    • API를 통한 관리 및 제어 가능
  • Google Cloud BigQuery
    • 가변 비용 및 고정 비용 옵션 지원
    • Nested Fields, Repeated Fields 지원
    • 구글 클라우드 내의 다른 서비스와 연동 용이
    • 배치 데이터 중심 및 실시간 데이터 처리 지원
    • API를 통한 관리 및 제어 가능
  • Apache Hive
    • 하둡 기반 데이터 웨어하우스
    • 데이터 처리 양에 집중
    • 하둡 기반 오픈소스와 연동 용이
    • 배치 데이터 프로세싱 시스템
    • 웹 UI 및 커맨드라인 UI(CLI) 지원
  • Apache Presto
    • PrestoSQL 지원
    • 데이터 처리 속도에 집중
    • 배치 빅데이터 프로세싱 시스템
    • 웹 UI 및 커맨드라인 UI(CLI) 지원
  • Apache Iceberg
    • 대용량 SCD(Slowly-Changing Datasets) 데이터를 다루는 테이블 포맷
    • 클라우드 스토리지 지원
    • 롤백 및 변경 기록 유지
    • 스키마 진화(Schema Evolution) 지원
    • 다른 Apache 서비스와 연동 용이
  • Apache Spark
    • 빅데이털 처리 관련 종합 서비스
    • 다양한 분산 처리 시스템 지원

 

"데이터 레이크"는 구조화 데이터와 로그 파일과 같은 비구조화 데이터를 스토리지 서비스 입니다.

보존 기한이 없는 모든 데이터를 원래 형태대로 보존하는 스토리지 입니다.

데이터 웨어하우스에 비해 매우 경제적입니다.

 

"ETL"(Extract, Transform, Load)은 다른 곳에 존재하는 데이터를 데이터 레이크 혹은 데이터 웨어하우스에 로드하는 작업 입니다.

 ETL을 데이터 파이프라인이라고 부르기도 합니다.

데이터 엔지니어가 수행합니다.

Airflow 프레임워크를 가장 많이 사용합니다.

최근 ETL 관련 SaaS(Software as a Service)도 출현하기 시작했습니다.

 

"ELT"는 데이터 레이크 혹은 데이터 웨어하우스 안에 있는 데이터를 처리하는 작업 입니다.

데이터 요약을 위한 ETL를 ELT라고 합니다.

데이터 분석가가 수행합니다.

 

"Airflow"는 ETL 혹은 ELT를 관리 및 운영하는 프레임워크 입니다.

  • 다수의 ETL 혹은 ELT 스케줄링
  • 의존관계(dependency) 정의
  • 특정 ETL 혹은 ELT가 실패할 경우, 에러 메세지 발생 및 재실행(Backfill)

 

"빅데이터 처리 프레임워크"는 다수의 서버로 구성된 분산 시스템 입니다.

Master server와 Slave server가 존재합니다.

일부 server에서 에러가 발생해도 동작해야 하는 Fault Tolerance가 특징입니다.

확장이 용이해야 합니다.

 


시각화 대시보드

"시각화 대시보드"는 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적입니다.

지표를 정할 때, 3A(Accessible, Actionable, Auditable)이 중요합니다.

  • 구글 클라우드의 룩커(Looker)
  • 세일지포스의 태블로(Tableau)
  • 마이크로소프트의 파워 BI(Power BI)
  • 오픈소스 아파치 수퍼셋(Superset)

 

'데브코스 TIL' 카테고리의 다른 글

BI 대시보드  (0) 2023.12.01
Snowflake 운영과 관리  (0) 2023.11.30
상속(Inheritance)과 오버라이딩(Overriding)  (0) 2023.11.06
관계형 데이터베이스(RDB)  (0) 2023.11.06
Jupyter Lab 시작하기  (0) 2023.10.26