데이터 파이프라인 소개

전유진·2024년 3월 25일

데이터 파이프라인이란?

데이터 파이프라인은 다양한 소스에서 새로운 가치를 얻을 수 있는 대상으로 데이터를 옮기고 변환하는 과정이다.
이러한 과정을 통해 얻은 데이터는 분석, 리포팅, 머신러닝의 활용된다.

데이터 파이프라인의 복잡성은 원본 데이터의 크기와 상태, 구조 및 분석 프로젝트의 요구사항에 따라 달라진다. 가장 단순한 파이프라인은 REST API처럼 단일 소스에서 데이터를 추출하고 데이터 웨어하우스의 SQL 테이블과 같은 대상으로 데이터를 로드하는 것이다.

REST API란?
클라이언트의 종류가 웹 브라우저, 안드로이드 앱, iOS 앱 등 다양해지면서 이러한 클라이언트들에게 정보를 제공하는 방식을 하나로 일원화시키기 위해서 HTTP프로토콜로 API를 제공하는 방식을 말한다.

데이터 파이프라인은 구성

  • 데이터 추출
  • 데이터 가공
  • 데이터 유효성 검사

누가 파이프라인을 구축할까?

클라우드 컴퓨팅과 SaaS(Software as a Service)가 대중화되면서 데이터 소스가 폭발적으로 증가했고 이에 대응하기 위해서 데이터 엔지니어링이 등장하게 됐다. 이를 전문적으로 하는 데이터 엔지니어는 데이터 파이프라인을 구축하고 유지관리하는 데 전문적인 역량을 갖추고 있다.

데이터 엔지니어의 목적은 데이터를 데이터 웨어하우스에 로드하는 것이 아니라 데이터 과학자 및 분석가와 긴밀히 협력하여 데이터를 어떻게 처리해야 하는지 파악하고 요구사항을 확장 가능한 프로덕션 상태로 전환하는데 도움을 준다.

SQL과 데이터 웨어하우징

데이터 엔지니어는 데이터베이스를 쿼리하는 방법을 알아야 하고 SQL은 이를 가능하게 해주는 언어다.
숙련된 데이터 엔지니어는 고성능의 SQL 작성 방법을 알고 데이터 웨어하우징 및 데이터 모델링의 기본 사항을 이해한다.

필요한 기술스택

언어로는 파이썬, 자바가 있다.
요즘에는 GO와 같은 신예들이 등장하고 있는 추세이다.

분산 컴퓨팅

데이터 양이 많아지고 데이터를 신속하게 처리하고자 하는 요구사항이 늘어나면서 데이터 엔지니어들은 분산 컴퓨팅 플랫폼을 사용하기 시작했다. 분산 컴퓨팅은 여러 시스템의 성능을 결합하여 대량의 데이터를 효율적으로 저장, 처리 및 분석한다.

분산 컴퓨팅의 대표적인 예로를 하둡 분산 파일 시스템(HDFS)이 있다. 맵리듀스를 통한 처리, 피그를 통한 데이터 분석 등을 포함하는 하둡 에코시스템이다. 이를 능가하는 아파치 스파크도 있다.

분산 컴퓨팅을 무조건 사용하는 것은 아니지만 언제 사용해야하는지 알아야한다.

기본 시스템 관리

데이터 엔지니어는 리눅스 명령어에 능숙해야하고 로그 분석, 크론 작업 예약, 방화벽 및 기타 보안 설정의 문제 해결과 같은 작업을 수행해야 한다. AWS, MS AZURE, GCP와 같은 클라우드 서비스 사용에도 능숙해야 한다. 클라우드 서비스와 함께 데이터 파이프라인을 배포해야하기 때문이다.

좋은 데이터 엔지니어
좋은 데이터 엔지니어는 기술력만 가져서 안되고 팀의 분석가와 데이터 과학자와 정기적으로 만나면서 이해관계를 따지고 좋은 시스템을 만들기 위해서 노력해야한다. 그래야 더 나은 아키텍처 결정을 내릴 수 있다.

데이터 파이프라인을 구축하는 이유

데이터 파이프라인은 원본에서 데이터를 추출하여 분석가가 사용할 수 있도록 데이터베이스 테이블이나 플랫 파일로 로드하는 것 이상을 수행한다. 원본 데이이터(Raw Data)는 정리, 정형화, 정규화, 결합, 집계, 그리고 때로는 마스킹 또는 보안을 위해 정제된다. 이러한 작업에 분석가나 데이터 과학자가 하게 된다면 그들의 본연 임무의 질이 떨어질 수 있기 때문에 그들의 임무에 집중할 수 있게 하는 것이 이유다.

참고한 내용
데이터 파이프라인 핵심가이드 이 책을 보고 정리한 내용입니다.

0개의 댓글