데일리 미션/Article

Article : 데이터 파이프라인 개념 정리

pipiiiiii 2024. 7. 18. 10:26

https://playinpap.github.io/data-pipeline/

 

데이터 파이프라인 개념 정리

들어가며 우리는 주로 BI 툴이나 대시보드 툴을 통해 데이터를 확인하고 분석합니다. 하지만 이 데이터, …

playinpap.github.io

 

 

<아티클 내용 요약>

빅데이터는 무엇일까?

빅데이터는 매우 크고 복잡한 데이터셋을 의미한다. 이러한 데이터는 일반적으로 기존 데이터베이스 관리 도구로는 처리하기 어렵거나 불가능한 정도로 방대하며, 여러 컴퓨터로 분산 처리된다. 

 

빅데이터는 일반적으로 3V라고 불리는 특성이 있다. 

  • Volume(양)
    빅데이터는 기존 데이터보다 훨씬 많은  양의 데이터를 다룬다. 대용량의 데이터는 수십 테라바이트에서 시십 페타바이트에 이를 수 있다. 
  • Velocity(속도)
    빅데이터는 높은 속도로 생성되고 처리되어야 한다. 대용량 데이터를 빠르게 수집하고 처리하며, 실시간으로 데이터를 분석하고 대응해야 한다. 
  •  Variety(다양성)
    빅데이터는 여러 종류의 데이터 형태와 소스를 다룬다. 정형, 비정형, 반정형 데이터 등 다양한 형태의 데이터를 다루어야하며, 소셜 미디어, 센서 데이터, 웹 로그 등 다양한 소스에서 데이터를 수집한다. 

 

 

빅데이터는 왜 주목받게 되었을까?

기존에는 빅데이터를 모두 처리할 수 있는 기술이 없었지만 기술이 발전하면서 빅데이터도 모두 처리할 수 있게 되었고, 그간 주목받지 못했던 빅데이터가 빛을 보게 된 것이다. 

 

2009년 아마존의 Elastic MapTeduce 발표를 시작으로 구글, 마이크로소프트, 아마존에서도 클라우드 서비스가 출시됐다. 이 클라우드들은 모두 데이터 처리를 위한 클라우드 서비스로, 클라우드 서비스의 보급은 큰 변화를 만들었다.

예전에는 대기업의 IT 부서에서 상당한 리소스를 들여 구축해야 하던 데이터 웨어하우스도 이제는 작은 프로젝트 단위에서도 구축할 수 있게 되었고 자체적인 데이터 분석 기반을 마련하기 쉬워졌다. 

 

 

데이터 파이프라인은 무엇일까?

데이터 파이프라인(Data pipeline)

데이터 파이프라인은 차례대로 전달해 나가는 데이터로 구성된 시스템이다. 

데이터의 원천부터 시작해 필요한 데이터를 추출하고, 그 데이터를 정제, 변환, 분석, 저장, 전달하는 과정을 포함한다. 또한 어디에서 데이터를 수집하고 무엇을 달성하고 싶은지에 따라 그 구성이 변화한다. 

 

책 <빅데이터를 지탱하는 기술>에서는 '데이터 웨어하우스를 주축으로 한 데이터 파이프라인'과 '데이터 레이크를 주축으로 한 데이터 파이프라인' 이렇게 2가지를 소개하고 있다. 

 

데이터 수집 방식 

  • 벌크형(bulk)
    이미 존재하는 데이터를 추출하는 방법이다.
    데이터베이스와파일 서버 등에서 정기적으로 데이터를 수집할 때 사용한다.  
  • 스트리밍형(streaming)
    차례대로 생성되는 데이터를 끊임없이 연속적으로 보내는 방법이다.
    모바일 앱이나 임베디드 장비 등에서 데이터를 수집할 때 사용한다.  

 

데이터 처리 방식

  • 스트림 처리 
    스트리밍형으로 수집된 데이터를 처리하는 방식으로 실시간 데이터 분석에 적합하다. 
  • 배치 처리
    대량의 데이터를 저장하고 처리하는 방식이며, 장기적 데이터 분석에 적합하다. 

 

저장소

  • 분산 스토리지 
    여러 컴퓨터와 디스크로 구성된 스토리지 시스템으로 데이터가 수집되면 분산 스토리지에 저장한다. 
    분산 스토리지의 대표적인 예시가 객체 스토리지다. 
  • 객체 스토리지
    폴더와 같이 한 덩어리로 모인 데이터에 이름을 부여해 파일을 저장하는 방식이다.   

분산 데이터 처리

여러 곳에서 데이터를 가져와서 클러스터에서 분산 데이터 처리를 한다. 이때 클러스터는 한 대의 컴퓨터처럼 운영되는 다수의 컴퓨터 집단으로분산 데이터 처리를 통해 외부 DB(시계열 DB 혹은 데이터 마트)에 저장해 두면 그때그때 필요한 데이터를 빠르게 찾아서 분석에 쓸 수 있다. 

 

 

워크플로 관리

데이터 파이프라인의 전체 동작을 관리하려면 정해진 시각에 정확하게 실행되는지, 혹시 오류가 생기진 않았는지 알려주는 도구가 필요하다. 이때 쓰이는 것이 워크플로 관리 기술로매일 정해진 시각에 배치 처리를 실행하고, 오류가 발생하면 관리자에게 알람을 보내주는 방식으로 되어있다.     

 

 

(1) 데이터 웨어하우스를 주축으로 한 데이터 파이프라인

  • 데이터 웨어 하우스 
    기업이나 조직에서 사용하는 모든 데이터를 한 곳에서 모아서 관리하고 분석하는 시스템이다. 
    데이터의 크기와 다양성이 증가하면 이를 일일이 분석하기 위해서 많은 시간과 비용이 소요되는데, 데이터 웨어하우스는 데이터를 중앙 집중적으로 저장하여 효율적으로 분석할 수 있도록 해준다. 
  • ETL 프로세스
    데이터를 추출, 가공, 로드하는 처리 방식이다.
    다양한 데이터  원천으로부터 데이터를 추출 및 변환해서 운영 데이터 스토어, 데이터 웨어하우스, 데이터마트 등에 데이터를 적재하는 작업의 핵심 구성요소다. 
  • 데이터가 처리되는 과정
    일반적으로 사용하는 RDB(관계형 데이터베스)나 로그를저장하는 파일 서버를 데이터 소스라고 부른다. 
    데이터 소스에 보존된 원시 데이터(raw data)를 가지고 ETL 프로세스를 거쳐 데이터 웨어하우스에 장기 보존용으로저장하게 된다.  (위 그림의 1번에 해당됨)

    데이터 웨어하우스는 대량의 데이터가 저장된 만큼 과부하가 생길 수 있어 아무때나 함부로 사용할 수 없다는 한계가 있다. 데이터 기반의 의사결정을위해 시시때때로 데이터 분석을 위한 데이터 처리가 필요한데 그럴 수 없으니 문제가 생기게 되는데 이를 위해데이터 마트가 존재한다. 데이터 마트는 특정 주제나 비즈니스 프로세스에 관한 정보를 중심으로 구성되어있고, 데이터 웨어하우스보다는 작고 더 특화된 데이터 저장소이다. 
    데이터 웨어하우스에 필요한 데이터만을 추출하여 데이터 마트가 이루어진다. (위 그림의 2번에 해당됨)

    데이터 마트는 데이터를 시각화하는 데에도 사용된다. BI툴과 연동해서 활용하게 되는데 이 때 기억해야 하는 것은 미리 시각화에 적합한 형태로 테이블을 준비해야 BI툴로 데이터를 보기 용이하다. (위 그림의 3번에 해당됨) 

데이터 웨어하우스를 주축으로 하는 파이프라인에서는 테이블 설계와 ETL 프로세스가 중요하다. 

 

 

(2) 데이터 레이크를 주축으로 한 데이터 파이프라인 

 

 

  • 데이터 레이크(data lake) 
    모든 데이터를 원래의 형태로 축적해 나중에 필요에 따라 가공하는 구조가 필요해지는데 이게 바로 데이터 레이크의 출발이다. 

    데이터 레이크는 여러 곳에서 물이 흘러들어와 모이는 호수처럼, 여러 곳에서 데이터가 흘러들어오고 그대로 보존하는 것이다. 임의의 데이터를 저장할 수 있는 분산 스토리지가 이 역할을 하게 되고, 여기에 미가공의 로우 데이터를 저장한다.(위 그림의 1번에 해당됨) 
  • 데이터 레이크와 데이터 마트 
    데이터 레이크에 저장된 데이터를 데이터 마트로 추출할 때에는 Hadoop, Spark와같은 분산 데이터 처리 기술을 활용하는데 이 과정이 ETL 처리이다. (위 그림의 2번에 해당됨) 

    (위 그림의 3번은 데이터 웨어하우스를 주축으로 하는 데이터 파이프라인과 동일) 

 

새로운 도구와 서비스가 계속해서 개발되고 있지만 데이터 파이프라인 전체의 기본적인 흐름은 변하지 않는다. 
데이터를 모아서 축적하고 이를 통합하여 데이터 마트를 만들고 시각화 도구에서 접속하는 것이 큰 흐름이다. 

 

 

 

 

 

<알게 된 개념>

데이터 파이프라인과 저장소들에 관련해서 깊게 알 수 있었다. 

그 전에 본 아티클보다 더 심도있게 다뤄 깊게 알 수 있었다고 생각한다. 

또한, 마지막에 저자가 데이터가 어디에서 어떻게 처리되는지 궁금한 사람들에게 글이 도움이 되기를 바란다고 했는데 덕분에 나의 궁금증도 해소될 수 있었다.