언제든지 필요한 데이터를 가져와 꺼내 쓸 수 있도록 데이터를 계속 쌓아두는 파이프를 만드는 것이라고 보면된다.
파이프를 한 번 만들고 나면(배수관 파이프를 생각해보자, 여기서 데이터는 배수관 안으로 흐르는 물이라고 생각하면 된다) 큰 문제가 없는 한 데이터가 계속 들어와 쌓일 것이다.
어떻게 해야 적은 수고를 들이고 효율적으로 필요한 데이터를 모을 수 있을까?
데이터를 가져오는 과정에서 정제나 전처리가 쉽도록, 데이터 형태도 고쳐주고 필요없는 데이터는 제거하고 함께 보는게 좋은 데이터들은 합쳐서 저장하면 좋을 것 같다.
이러한 목적으로 만드는 것이 데이터 파이프라인이라고 보면 된다.
이 중 데이터 추출, 변환, 적재를 묶어 ETL이라고 한다.
ETL은 데이터 파이프라인 하위 개념으로, 하나의 시스템에서 데이터를 추출해 변환하여 데이터 베이스 or 데이터 웨어하우스에 차곡차곡 쌓아둔다.
Airflow에서 사용하는 DAG이란?
Directed Acyclic Graph, 즉 방향이 있지만 순환하지는 않는 그래프이다.
라면 끓이는 work flow를 생각해보면
물끓이기 -> 스프 넣기 -> 면 넣기 -> 계란 넣기
task마다 방향은 있지만 다시 자기 자신으로는 돌아오지 않는다.
순환하지 않는 이러한 그래프를 코드로 나타낸다.
데이터 웨어하우스의 주요 특징 4가지
- 주체 지향 : 업무 중심이 아니라 주제 중심으로 데이터를 조직화 한다.(고객 거래처, 상품, 활동 등)
- 통합 : 데이터를 활용하기 좋은 형태로 변환하기 위해 표준화 기준으로 설정, 적용함으로 데이터를 통합해야 한다.
- 시계열 : 시간 별로 데이터 버전들을 저장한다.(데이터를 시간에 따라 수시로 갱신하거나 변경x)
- 비휘발성 : 데이터 웨어하우스의 데이터로 수행할 수 있는 작업은 데이터 로딩, 데이터 엑세스 뿐이다.(데이터의 변경, 삭제는 이뤄지지 않는다)
우선은 데이터 파이프라인을 한번 경험해보는 것이 좋을 것 같아서
정리된 실습 강의를 찾아왔다.