데이터 파이프라인이란, 데이터를 수집하는 근원지 부터 데이터 저장소까지 데이터를 이전하는 구조이다. 이러한 데이터 파이프라인은 수집해야하는 데이터가 많아 짐에 따라 이를 보다 효과적으로 관리하고 저장하기 위한 목적으로 개발 및 발전이 되어왔다. 이번 글에서는 데이터 파이프라인을 구성하는 요소들에 대한 간단한 설명을 해보려고 한다.
먼저 기본적인 데이터 파이프라인의 구조를 보자.
데이터 소스
업무 시스템을 위한 RDB나 로그등을 저장하는 파일 서버를 데이터 소스라고 한다. 이러한 데이터 소스에 저장되어있는 데이터를 흔히들 로우 데이터라고 한다. 물론 여기서 데이터 소스를 파일 서버라고 하는 경우는 배치 처리에서 쉽게 떠올릴 수 있고 스트림으로 데이터를 받아오는 상황에서는 메세지 브로커들이 데이터 웨어하우스 입장에서는 데이터 소스가 될 수 있다.
데이터 웨어하우스
데이터 웨어하우스는 여러 데이터 소스에서 가져온 구조화 된 데이터를 가져와서 저장하는 데이터 저장소이다. 이는 현재 및 과거의 모든 데이터를 저장하고 보관하여 빅데이터 분석 및 시각화, ML/DL, 스트리밍 분석, 커스텀 보고서 생성/임시 분석, 데이터 마이닝 등에 사용할 수 있게 하는 것에 목적이 있다. 때문에 대량의 데이터를 안전하게 저장하고 비개발 직군의 사람들도 쉽게 사용할 수 있게 해야하는 다소 모순되는 미션을 가지고 있다.
데이터 레이크
통제되고 카탈로그화 되어 저장되는 데이터 웨어하우스와 대비 되게 모든 데이터(정형 데이터, 비정형 데이터)가 자유롭게 저장되는 거대한 덤프를 데이터 레이크라고 한다. 데이터 레이크는 그것 자체로는 단순한 스토리지 이며 이것만으로는 데이터를 직접적으로 사용하는데 한계가 있다.
데이터 마트
데이터 마트는 이렇게 모인 데이터를 사용자가 사용하기 편하게 하기 위해 미리 가공, 집계하여 저장하는 곳으로 데이터 웨어하우스로 데이터를 수집하는 경우는 데이터 마트를 데이터 웨어하우스의 구성요소로 볼 수도 있다. 하지만 데이터 레이크의 경우 데이터 레이크에서 데이터를 가공 및 집계하고 이를 저장하는 과정이 필수적으로 수반되고 이에 따라 데이터 마트의 구축이 필수적이다. 또한 데이터 웨어하우스 또는 데이터 레이크는 쓰기 작업이 계속해서 발생하는 곳이기 때문에 사용자가 아무때나 읽기 작업을 요청하면 당연히 데이터 웨어하우스의 전체적인 작업에 지연이 생기고 이에 따라 데이터 소스로 부터 데이터가 흘러오는 파이프라인이 지연되거나 심하게는 누락이 될 수도 있다. 따라서 사용자들이 직접적으로 접근하는 데이터베이스를 따로 만들어야하는 필요성이 생기며 이에 따라 만들게 되는 것이 데이터 마트이다.
ETL
Extract-Transform-Load를 나타내며 데이터 파이프라인을 결합하기 위해 사용되는 방식을 일컬어 부르는 말이다.
추출 : 온라인, 온프로미스, 기존소스, SaaS등 하나 이상의 소스에서 데이터를 가져오는 프로세스를 말한다. 추출이 완료된 후에는 데이터가 스테이징 영역에 로드된다.
변환 : 데이터를 가져와서 정리하고 대상 데이터 베이스(데이터 저장소, 데이터 웨어하우스, 데이터 레이크)에 저장할 수 있도록 공통된 형식으로 만드는 작업을 의미한다. 이러한 과정에서 중복 제거 등에 기술이 들어가게 된다.
로드 : 변환 과정을 거친 데이터를 실제 DB상에 저장하는 과정을 의미한다.
긴 글 읽어주셔서 감사합니다.
https://cloud.google.com/learn/?hl=ko
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=269603179
틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.
📧 : realhwan1202@gmail.com
🔗 : https://github.com/RicardoKim
'개발 > 데이터 엔지니어링' 카테고리의 다른 글
Hadoop 1.0 (0) | 2023.06.26 |
---|