한 마디로 말하면 언제든지 필요한 데이터를 가져와 꺼내 쓸 수 있도록 데이터를 계속 쌓아두는 파이프를 만드는 것이라고 보면 된다. 한번 파이프를 만들고 나면(배수관 파이프를 생각해보자, 여기서 데이터는 배수관 안으로 흐르는 물이라고 생각하면 된다) 큰 문제가 없는 한(파이프에 구멍이 난다거나) 데이터가 계속 들어와 쌓일 것이다.
웹 크롤링을 통해 데이터를 한 번에 구하고 그 데이터를 활용하는 것도 물론 가능하다. 그러나 그것도 필요한 데이터가 적은 편일 때야 가능한 일이다. 기업에서는 수많은 문제가 발생하며, 그 문제를 해결하기 위해 필요한 데이터도 이미 적재된 데이터들도 까마득하게 많은 경우가 대부분이다. 그런 무식하게 큰 데이터를 필요할 때마다 일일히 모으고, 하나 하나 코드로 정제하고 저장할 수는 없다. 인력 낭비, 시간 낭비고 무식한 짓이다.
그렇다면 어떻게 해야 수고를 덜 들이면서 효율적으로 필요한 데이터를 모을 수 있을까?
사실 필요한 데이터, 수집할 곳은 대체적으로 정해져 있으니 자동화도 가능하지 않을까. 아, 그리고 일일히 코드를 실행하는 건 번거로우니 수작업은 최소화하면 좋겠고, 요즘은 워낙 모든 게 빨리빨리 변하니 최신 데이터도 계속해서 가져올 수 있도록 하면 좋겠다.
그리고 데이터를 가져오는 과정에서 정제나 전처리가 쉽도록, 데이터 형태도 좀 고쳐주고 필요없는 데이터는 제거하고 함께 보는 게 좋은 데이터들은 합쳐져서 저장되면 좋겠다.
이러한 목적으로 만드는 것이 데이터 파이프라인이라고 보면 된다. 데이터 파이프라인이 하는 일을 세부적으로 보면 아래와 같다.
- Data extracting : 데이터 추출
- Data transforming : 데이터 변경
- Data combining : 데이터 결합
- Data validating : 데이터 검증
- Data loading : 데이터 적재
이 중 데이터 추출, 변환, 적재를 묶어 ETL이라고 한다. ETL 시스템은 데이터 파이프라인의 하위 개념으로, 하나의 시스템에서 데이터를 추출해 변환하여 데이터베이스나 후에 설명할 데이터 웨어하우스에 차곡차곡 쌓아둔다.
당연하지만 이러한 파이프라인은 기업이 속한 산업의 특성이나 데이터 자체의 특성, 제공 서비스에 따라 차이가 있을 수 있다.
'What is □?' 카테고리의 다른 글
16_MTV/MVT 패턴이란 무엇인가? (0) | 2021.05.19 |
---|---|
15_데이터 웨어하우스(Data Warehouse)란 무엇인가? (0) | 2021.05.16 |
13_데이터 레이크(Data Lake)란 무엇인가? (0) | 2021.05.12 |
12_A/B 테스트란 무엇인가? (0) | 2021.05.12 |
11_트러블슈팅(trouble shooting)이란 무엇인가? (0) | 2021.05.08 |