데이터 인프라의 목적

  • 비즈니스 리더들의 의사결정 도움
  • 서비스/제품을 데이터의 도움을 받아 향상

데이터 인프라 기초

Production Systems

  • 사내 데이터가 생겨나는 곳
    • ex. ERP, CRM, Database
  • 분석을 하고자 할 때 각각 하위의 분석도구를 사용하여 분석해야 함

Data Warehouse

  • 통합된 분석 보고서 작성을 위해 다양한 소스로부터 데이터를 저장
  • 여러 소스로부터 받아온 통합된 보고서를 만들 수 있음

데이터의 차이

Production Systems

  • Normalized Schema라고 하는 작은 스키마로 쪼개어 관리함

Data Warehouse

  • Dimensional Schema라고 하는 더 작고 간단한 구조로 만들어진 구조를 띔
  • 더 쉬운 형태로 원하는 데이터만 뽑을 수 있게 만듬
  • 데이터웨어하우스를 만드는 것 자체가 데이터를 분석하기 위해 만드는 것이기 때문에 기존 운영계 시스템에서 빠른 데이터 업데이트를 하는 것과 다르게 분석을 위해서 쉽게 데이터를 추출하는 시스템을 만들어야 하므로 스키마 구조가 다름

Production System과 Data Warehouse 간 데이터를 옮겨야 하는 상황이 발생 → ETL

ETL

Extract, Transform, Load

  • 추출: Extract data from production systems
  • 변환: Transform normalized to dimensional schema
  • 적재: Load into Data Warehouse

ETL의 큰 문제

  • 추출과 변환이 자동화될 수 없고, 변환하는 것이 회사마다 다름
  • 자동화시키기 힘들고 할 때마다 수정해야 하는 것이 많음

ELT

Extract, Load, Transform

ETL의 문제점을 극복하기 위한 최근 방식

ETL 플랫폼들이 최근 ELT로 많이 전환하고 있음

  1. 추출해서 일단 적재를 다 함 - 자동
  2. 적재된 데이터를 변환 - 수동

데이터 직무

데이터 엔지니어

빅데이터를 처리할 수 있는 인프라&아키텍처를 만드는 사람

  • 요구기술: 프로그래밍, 수학, 빅데이터, 다양한 데이터베이스 지식, ETL 및 BI 도구들에 대한 지식
  • 주 사용 언어: Python, SQL, 쉘스크립트

데이터 분석가

데이터를 해석해서 비즈니스 의사결정을 돕는 정보로 만드는 사람

  • 요구기술: 통계학, 수학, 커뮤니케이션, 스프레드시트&DB 사용, BI툴을 이용한 시각화
  • 주 사용 언어: SQL, R, Python 약간

데이터 과학자

수학자+과학자+도메인전문가

큰 데이터도 잘 다루고, 복잡한 문제를 해결하는 사람

  • 요구기술: 수학, 통계학, ML, 딥러닝, 분산 컴퓨팅, 데이터 모델링, 스토리텔링, 시각화, 도메인 지식, 커뮤니케이션
  • 주 사용 언어: SQL, Python, R

A Unified Data Infrastructure Architecture

데이터 인프라가 하는 모든 일

A Unified Data Infrastructure Architecture

  1. Sources
    • 회사 내의 모든 데이터가 만들어지는 곳
  2. Ingestion and Transformation
    • 데이터를 가져와서 변환하는 것
  3. Storage
    • 데이터를 저장하는 곳
    • 데이터 웨어하우스와 데이터 레이크가 있음
  4. Historical
    • 적재된 데이터로 예전 데이터를 분석
  5. Predictive
    • 미래에 일어날 일을 예측
    • Data Science, ML 사용
  6. Output
    • 분석된 결과를 보여줌