앎을 경계하기

[가짜연구소3기] Data Engineer

[가짜연구소 3기] 데이터 엔지니어링 - 8 Scheduling data

양갱맨 2021. 8. 22. 11:55

주제

스케쥴링이 무엇인지, 방법에 따른 차이점, 배치와 스트림의 차이점에 대해 배웠다.


스케쥴링

  • 데이터 처리에서 수행하는 모든 작업에 적용할 수 있다.
  • 데이터 엔지니어링 시스템의 접착제 역할
  • 각각의 작업들을 함께 수행시키기 위한 작업이다.
  • 특정 순서로 작업을 실행하고 모든 종속성을 해결한다.

스케쥴링 방법

  • 수동(Manual)
    • 테이블 업데이트 요청이나 필요가 발생하는 경우, 업데이트 작업을 수행
  • 자동(Automatically)
    • 인간 의존도를 최소화하여 파이프라인이 특정 시간이나 조건에 작업을 변경사항을 적용하도록 자동화되는 것을 바람.
    • 센서 스케쥴링
      • 특정 조건이 충족되면 실행할 작업들을 설정하는 스케쥴링
      • 항상 센서가 추가되어 잘 수행되었는지 확인해야한다.
        • 이러한 부분에서 더 많은 리소스가 필요하고 그만한 가치가 없을 수 있다.

배치와 스트림

배치

  • 배치 단위로 데이터를 수집하여 그룹별로 전송
  • 배치 단위로 처리하는 것이 비용적 측면에서 종종 더 저렴하다.

스트림

  • 곧바로 업데이트되는 레코드를 파이프라인을 통해 전송한다.
    • 예를 들어, 사용자가 신규가입을 하는 즉시 서비스 사용이 가능하도록 데이터베이스에 프로필을 업데이트해야한다.

예약 도구로 apache airflow, luigi 같은 것들이 있다.