2장. 데이터 엔지니어링 수명 주기

데이터 엔지니어링 수명 주기

책에서는 데이터 엔지니어링을 기술의 집합으로 보는 관점을 탈피할 것을 말하고 있다.

기술적인 추상화가 확대됨에 따라 데이터 엔지니어는 데이터 수명 주기 관리 원칙의 관점에서 사고하고 운용하게 될 것이라 한다.

 

그렇다면 데이터 엔지니어링 수명 주기란 무엇인가?

원시 데이터의 요소를 분석가, 데이터 과학자, ML 엔지니어 등이
사용할 수 있는 유용한 최종 제품으로 전환하는 단계

단계를 나열한다면

데이터 생성, 저장, 수집, 변환, 서빙으로 나타내진다. 또한 드러나지 않는 요소를 추가하여 수명주기를 설명하고 있다.

 

[데이터 생성]

원천 데이터(Source system)은 데이터 엔지니어링 수명 주기에서 사용되는 데이터의 원본이다. 데이터 엔지니어가 원천 시스템 자체를 소유하지는 않기 때문에 작동방식, 데이터 생성 방식, 데이터의 빈도 및 속도, 생성되는 데이터의 다양성을 이해해야 한다.

또한 원천 시스템의 소유자와 개방적인 소통 라인을 유지할 것을 말하고 있다.

 

원천 데이터의 까다로운 차이점으로 스키마를 들고 있다.

데이터 엔지니어의 핵심은 원천 시스템 스키마에서 원시 데이터를 입력받아, 분석에 유용한 출력으로 변환하는 것이다.

그런데 스키마는 시간이 지나면서 끊임없이 변화하기 때문에 어려운 과제라고 소개하고 있다. 원천 시스템이 제공하는 스키마 옵션 중 널리 쓰이는 두 가지 옵션은 스키마리스 방식고정 스키마 방식이다.

 

[데이터 저장]

저장은 데이터 엔지니어링 수명 주기에 있어 모든 단계에서 영향을 미치기 때문에 성공을 거두기 위한 열쇠라고 소개하고 있다.

저장에 있어서 중요한 것은 데이터 접근 빈도에 대해서 이해하는 것이다. 액세스 하는 빈도에 따라서 '온도'로 나타낸다.

  • 핫 데이터: 가장 자주 액세스 되는 데이터이다. 하루에도 여러번 검색되는 데이터를 말한다.
  • 미온적 데이터: 중간정도로 액세스되는 데이터. 주간~월간 정도로 소개한다.
  • 콜드 데이터: 거의 쿼리 되지 않는 데이터. 아카이브 시스템에 저장하는 것을 권장하고 있다.

데이터 저장에 있어 AWS의 S3를 많이 사용한다. 그런데 콜드 데이터는 어디에 저장할까?

해당 의문에 대한 해소를 위해 AWS Glacier과의 차이에 대해서 알아보았고, 잘 정리된 포스팅이 있어 첨부한다.

https://bluese05.tistory.com/35

 

AWS Glacier는 뭐지? - AWS S3 와 Glacier 장단점 비교

AWS Glacier? Glacier는 아카이브 백업 데이터를 주 목적으로 하는 스토리지 서비스이다. 얼핏 보면 S3와 비슷한 것 같지만 서비스 목적이 다르다. Glacier 라는 뜻 자체가 "빙하" 인것 만 봐도 이 서비스

bluese05.tistory.com

 

[데이터 수집]

데이터의 원천을 이해하고, 저장 방법에 대한 이해가 끝나면 데이터를 수집해야 한다.

이후의 챕터에서 더 자세한 소개가 진행되나, 배치 vs 스트리밍, 푸시 vs 풀이라는 주요 수집 개념에 대해서 짚고 넘어간다.

 

배치 vs 스트리밍

원천에서 실시간으로 생성되고, 갱신되는 대부분의 데이터는 스트리밍 데이터이다. 수집에서 말하는 스트리밍은 이런 생성 부분뿐 아니라, 이렇게 생성된 데이터를 빠르게 사용할 수 있는 것 까지를 말하고 있다.

배치 수집은 이런 스트림 데이터를 큰 청크로 처리하는 방법을 말한다. 특정 시간 간격에 따라, 혹은 데이터의 크기 임곗값에 따라서 수집되며, 한 방향으로 이루어진다는 특징이 있다.

스트리밍 우선 방식이 좋아 보일 수 있으나, 추가 비용과 복잡성으로 인해 적합한 방식의 수집 방식이 권장되고 있다.

 

푸시 vs 풀

푸시 모델에서 원천 시스템은 DB, 저장소, 파일 시스템에 상관없이 데이터를 쓰나, 풀 모델에서는 원천 시스템에서 데이터를 검색한다.

원천 시스템이 데이터를 보내고자 할 때에는 푸시 모델, 원천 시스템에서 검색을 하고자 한다면 풀 모델을 말하는 것 같다.

 

[데이터 변환]

수집과 변환이 이루어진 후에는 변환 작업이 수행된다. 데이터를 올바른 유형으로 매핑하고, 레코드의 표준 형식 지정, 제거 등이 이루어진다. 또한 데이터 스키마 변환이나 정규화 적용이 가능하다.

 

[데이터 서빙]

데이터는 실용적인 목적으로 사용될 때 가치가 발생한다. 데이터 서빙을 통해 다양한 방식으로 데이터의 가치를 창출하게 된다.

분석, BI, 머신러닝등의 다양한 창출 방법이 존재한다.

참고) 멀티테넌시
: 소프트웨어 애플리케이션의 단일 인스턴스가 여러 고객에게 서비스를 제공하는 아키텍처이다.
데이터 엔지니어는 통합된 뷰를 제공하기 위해 공통 테이블에 많은 고객의 데이터를 저장할 수 있다. 이러한 상황에서 데이터의 보안과 분리를 보장하기 위해 배포하는 시스템에서 멀티테넌시의 세부 사항을 이해해야 한다.

+ Recent posts