새소식

Data

Data Engineering 기초 개념

  • -

Data Engineering 

  • Data Engineering Tools
    • 소스
      • 비즈니스와 운영 데이터 생성
      • Log, DataBase
    • 수집 및 변환
      • 운영 시스템에서 데이터 추출, 추출된 데이터를 저장하고 스키마 관리, 데이터를 분석할 수 있도록 변환
      • Spark, Pandas, Kafka, Flink, Airflow
    • 저장
      • 데이터를 쿼리와 처리 시스템이 쓸 수 있도록 저장, 비용과 확장성면으로 최적화
      • Parquet, HDFS
    • 과거, 예측
      • 데이터 분석을 위한 인사이트 만들기
      • 저장된 데이터를 이용해 쿼리를 실행하고 필요시 분산처리
      • 과거에 무슨일이 일어났는지 혹은 미래에 무슨 일이 일어날지
      • Tensorflow, Pytorch, SparkML
    • 출력
      • 데이터 분석을 내부와 외부 유저에게 제공, 데이터 모델을 운영 시스템에 적용
      • Tableau, Looker
  • Batch & Stream Processing
    • Batch Processing
      • 많은 양의 데이터를 정해진 시간에 한꺼번에 처리하는 것
      • 전통적으로 쓰이는 데이터 처리 방법
      • Flow
        • 데이터를 모아서 → DB에서 읽어서 처리 → 다시 DB에 담기
    • Stream Processing
      • 실시간으로 쏟아지는 데이터를 계속 처리하는 것
      • 이벤트가 생길때마다, 데이터가 들어올 때마다 처리
      • 실시간성 보장, 데이터가 여러 소스로부터 들어올 때, 데이터가 가끔 들어오거나 지속적으로 들어올 때, 가벼운 처리를 할 때 주로 사용
      • Flow
        • 데이터가 들어올때마다 → 쿼리/처리 후 state 업데이트 → DB에 담기
      • Micro Batch
        • 데이터를 조금씩 모아서 처리하는 방식
        • Batch Processing을 잘게 쪼개서 Stream을 흉내 내는 방식
    • Dataflow Orchestration
      • Data Task를 지휘하는 느낌
      • Task 스케줄링
      • 분산 실행
      • Task간 의존성 관리
      • 대표적인 Tool : Airflow

 

 

'Data' 카테고리의 다른 글

RDD & Spark Topology  (0) 2023.08.12
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.