- 2장 - 데이터 엔지니어링 수명 주기2024년 11월 01일
- 31514
- 작성자
- 2024.11.01.:55
개요
1장에서 봤던 데이터 엔지니어링 수명 주기 그림을 다시 보자.
데이터 엔지니어링 수명 주기는 원천 시스템에서 데이터를 가져와 저장하는 것에서 시작한다.
다음으로 데이터를 변환한 뒤 분석가, 데이터 과학자, ML 엔지니어 등에게 데이터를 제공한다.
데이터 저장은 데이터가 처음부터 끝까지 흐르면서 수명 주기 전체에 걸쳐 발생한다.
다시 한 번 말하지만, 기반이 되는 것은 드러나지 않는 요소다.
데이터 생성
데이터 엔지니어는 원천 시스템의 작동 방식, 데이터 생성 방식, 데이터의 빈도 및 속도, 생성되는 데이터의 다양성을 이해해야 한다.
또한 데이터 파이프라인과 분석을 중단할 수 있는 변경 사항에 대해 원천 시스템 소유자와 소통 라인을 유지해야 한다.
원천 시스템의 까다로운 점 중 하나는 스키마의 진화다.
원천 시스템이 제공하는 데이터의 스키마는 다양한 방식으로 처리되는데, 그중에서도 스카마리스 방식과 고정 스키마 방식이 널리 쓰인다.
데이터 엔지니어가 하는 일의 핵심은 원천 시스템 스키마에서 데이터를 입력받고, 유용한 출력으로 변환하는 것이다.
하지만 원천 스키마가 진화함에 따라 이러한 작업은 더욱 어려워진다.
원천 시스템 평가는 이 링크를 참고하자.
데이터 저장
스토리지 솔루션을 선택하는 것은 성공을 거두기 위한 열쇠이면서, 다음과 같은 이유로 복잡한 단계이기도 하다.
- 클라우드의 데이터 아키텍처는 종종 여러 스토리지 솔루션을 활용한다.
- 복잡한 변환 쿼리를 지원하는 스토리지 솔루션은 순수하게 스토리지로서만 작동하는 경우가 거의 없다.
- 저장은 데이터 엔지니어링 수명 주기의 한 단계이지만, 다른 단계에도 자주 관여한다.
<데이터 접근 빈도 이해>
데이터 접근 빈도에 따라 데이터 온도가 결정된다.
- 핫 데이터 - 가장 자주 접근되는 데이터이며, 하루에 여러 번 검색된다.
- 미온적 데이터 - 가끔 접근되는 데이터이며, 매주 또는 매월 검색된다.
- 콜드 데이터 - 거의 쿼리되지 않는 데이터이며, 아카이브 시스템에 저장하는 데 적합하다.
<스토리지 시스템 선택>
수집되는 데이터의 사용 사례, 데이터 볼륨, 수집 빈도, 형식 및 크기에 따라 어떤 유형의 스토리지 솔루션을 선택할지 달라진다.
기본적인 주요 고려 사항은 이 링크를 참고하자.
데이터 수집
원천 시스템과 데이터 수집은 데이터 엔지니어링 수명 주기에서 가장 큰 병목 현상을 나타낼 수 있다.
그 이유는 다음과 같다.
- 원천 시스템은 보통 직접 관리할 수 없고, 임의로 응답하지 않거나 품질이 낮은 데이터를 제공할 수 있다.
- 여러 가지 이유로 데이터 수집 서비스가 작동하지 않을 수도 있다.
수집 단계에서의 주요 고려 사항은 이 링크를 참고하자.
스트리밍 수집이 배치 수집보다 적절한 선택인지 여부를 판단할 때 자문해봐야 할 몇 가지 질문은 이 링크를 참고하자.
데이터 변환
변환 단계는 데이터가 다운스트림 사용자의 데이터 소비를 위한 가치를 창출하기 시작하는 단계다.
일반적으로 데이터는 원천 시스템에서 변환되거나 수집 중에 변환된다.
또는 스트리밍 파이프라인 내의 레코드가 데이터 웨어하우스로 전송되기 전에 추가 필드 및 계산을 통해 변환될 수 있다.
이처럼 변환은 수명 주기의 여러 부분에서 흔히 볼 수 있다.
변환 단계에서의 주요 고려 사항은 이 링크를 참고하자.
데이터 서빙
데이터는 실용적인 목적으로 사용될 때 가치가 있다.
소비되지 않거나 쿼리되지 않는 데이터는 단순히 비활성 상태일 뿐이다.
데이터를 수집하고 저장한 뒤에 일관성 있고 유용한 구조로 변환했으니, 이제 서빙을 통해 가치를 창출하자.
데이터를 사용할 수 있는 방법은 다음과 같이 크게 3가지가 있다.
- 분석 - BI, 운영 분석, 임베디드 분석 등이 있다.
- 머신러닝 - ML 관련 데이터 서빙 단계에서의 주요 고려 사항은 이 링크를 참고하자.
- 역 ETL - 처리한 데이터를 가져와 원천 시스템에 다시 공급하는 걸 말한다.
드러나지 않는 요소 - 보안
데이터 엔지니어는 보안을 최우선으로 생각해야 하며, 이를 무시하는 사람은 위험을 감수해야 한다.
데이터와 접근 보안을 모두 이해하고 최소 권한 원칙을 실행해야 한다.
따라서 클라우드와 온프레미스 환경 모두에 대한 보안 모범 사례를 이해하고, 작업을 수행하는 데 필요한 기간 동안만 데이터 접근을 허용해야 한다.
드러나지 않는 요소 - 데이터 관리
데이터 엔지니어에게는 원천 시스템에서 최고 경영진에 이르기까지, 그리고 그 사이의 모든 장소에 걸쳐 조직 전체의 데이터 활용에 대한 폭 넓은 관점이 필요하다.
데이터 관리 관행은 조직이 데이터로부터 가치를 얻고 적절히 처리할 수 있도록 모든 사람이 채택할 수 있는 일관된 프레임워크를 형성한다.
데이터 거버넌스
데이터 거버넌스는 무엇보다도 조직이 수집한 데이터의 품질, 무결성, 보안 및 사용성을 보장하기 위한 데이터 관리 기능이다.
데이터 거버넌스는 적절한 보안 제어로 데이터를 보호하면서, 조직 전체의 데이터 가치를 극대화하기 위해 인력, 프로세스 및 기술을 활용한다고 할 수 있다.
따라서 사람, 프로세스 및 기술이 연계되어 데이터를 주요 비즈니스 동력으로 취급하고, 데이터 문제가 발생하면 신속하게 처리할 수 있다.
데이터 거버넌스의 핵심 범주는 발견 가능성, 보안, 책임이다.
<발견 가능성>
데이터 중심 기업에서는 데이터를 사용할 수 있고 검색할 수 있어야 한다.
최종 사용자는 작업에 필요한 데이터에 신속하고 안정적으로 접근할 수 있어야 한다.
그리고 데이터의 출처가 어디인지, 이 데이터가 다른 데이터와 어떤 관계가 있는지, 데이터의 의미는 무엇인지 알아야 한다.
데이터 발견 가능성의 주요 분야로는 메타데이터 관리 및 마스터 데이터 관리 등이 있다.
<데이터 책임>
데이터 책임이란 데이터의 일부를 관리할 개인을 지정하는 것을 의미한다.
데이터 책임은 다양한 수준에서 발생할 수 있고, 이는 데이터 품질에 큰 영향을 미칠 수 있다.
데이터 품질은 데이터를 원하는 상태로 최적화하는 것을 말하고, 다음 3가지 주요 특징으로 정의된다.
- 정확도 - 수집된 데이터가 실제로 정확한가?
- 완전성 - 모든 필수 필드에 유횻값이 포함되는가?
- 적시성 - 기록을 시기 적절하게 이용할 수 있는가?
따라서 데이터 엔지니어는 데이터 품질에 대한 실행 가능한 사용자 피드백을 수집하고, 기술 도구를 사용해 다운스트림 사용자가 품질 문제를 발견하기 전에 미리 감지하는 강력한 프로세스가 필요하다.
데이터 모델링 및 설계
데이터 모델링 및 설계는 데이터를 사용 가능한 형태로 변환하는 프로세스를 말한다.
대처해야 할 데이터의 종류가 다양하다고 데이터 모델링을 포기하면 데이터 늪에 빠져 참혹한 결과를 수반할 수 있다.
데이터 엔지니어는 모델링의 모범 사례를 이해하고, 데이터 원천과 사용 사례에 적절한 수준과 유형의 모델링을 적용할 수 있는 유연성을 개발해야 한다.
데이터 계보
데이터 계보는 데이터를 처리하는 시스템과 데이터가 의존하는 업스트림 데이터를 모두 추적해, 수명 주기 전체에 걸쳐 데이터의 감사 추적을 기록하는 것이다.
이는 데이터 및 데이터를 처리하는 시스템의 오류 추적, 설명 및 디버깅에 도움이 되고 규정 준수에도 도움이 될 수 있다.
데이터 통합과 상호 운용성
데이터 통합과 상호 운용성은 여러 도구와 프로세스 전반에 걸쳐 데이터를 통합하는 프로세스다.
예를 들어 Airflow와 같은 오케스트레이션을 사용해 데이터 원천으로부터 데이터를 가져와 S3에 저장하고, Snowflake의 API를 호출해 테이블에 적재한 다음, API를 다시 호출해 쿼리를 실행한 뒤, 그 결과를 S3로 내보내 스파크카 데이터를 소비할 수 있도록 할 수 있다.
데이터 수명 주기 관리
데이터 레이크의 등장으로 조직은 데이터 보관 및 파기를 무시하게 됐다.
이에 따라 다음과 같은 추가적인 작업이 생겨났다
- 클라우드에 저장된 많은 데이터를 매우 저렴한 비용으로 장기간 보존할 수 있는 아카이브별 객체 스토리지 클래스 사용
- 현재 보유하고 있는 소비자 데이터를 파악하고, 요청 및 규정 준수 요건에 따라 데이터 파기
윤리와 개인정보보호
데이터 엔지니어는 데이터셋이 개인식별정보(PII) 및 기타 중요한 정보를 마스킹 처리하는지를 확인해야 한다.
드러나지 않는 요소 - 데이터옵스
데이터옵스는 데이터 제품의 릴리스와 품질을 개선하는 것을 말한다.
데이터 제품은 사용자가 의사결정을 내리거나 자동화된 작업을 수행하는 모델을 구축하는 건전한 비즈니스 로직과 측정 지표를 기반으로 구축된다.
데이터옵스에는 자동화, 모니터링 및 관찰 가능성, 사고 대응이라는 세 가지 핵심 기술 요소가 있다.
- 자동화 - 엔지니어가 워크로드를 줄이고 비즈니스에 제공하는 가치를 높일 수 있는 자동화를 지속해서 구현
- 모니터링 및 관찰 가능성 - 관찰 가능성, 모니터링, 로깅, 경고 및 추적은 모두 데이터 엔지니어링 수명 주기에서 발생하는 문제에 대처하는 데 매우 중요
- 사고 대응 - 자동화 및 관찰 가능성 기능을 사용해 이러한 사고의 근본 원인을 신속하게 특정하고 빨리 해결하는 것
드러나지 않는 요소 - 데이터 아키텍처
데이터 아키텍처는 조직의 장기적인 데이터 요건과 전략을 지원하는 데이터 시스템의 현재 및 미래 상태를 반영한다.
데이터 엔지니어는 비즈니스 요구 사항을 이해하고, 기술 및 도구의 트레이드오프를 파악해야 한다.
드러나지 않는 요소 - 오케스트레이션
오케스트레이션은 많은 작업이 예약된 순서대로 최대한 빠르고 효율적으로 실행되도록 조정하는 프로세스다.
드러나지 않는 요소 - 소프트웨어 엔지니어링
데이터 엔지니어링 수명 주기에 적용되는 소프트웨어 엔지니어링의 몇 가지 공통 영역은 다음과 같다.
- 코딩 실력
- 오픈 소스 프레임워크
- 스트리밍 데이터 처리
- 코드형 인프라
- 코드형 파이프라인
- 범용 문제 해결
데이터 엔지니어는 데이터 수명 주기 전반에 걸쳐 ROI(투자수익률)을 최적화하고 비용을 절감하며 리스크(보안, 데이터 품질)를 줄이고 데이터 가치와 효용을 극대화하는 최상위 목표를 가진다.
'Book > 견고한 데이터 엔지니어링' 카테고리의 다른 글
5장 - 수명 주기 1단계 원천 시스템에서의 데이터 생성 (0) 2024.11.15 4장 - 데이터 엔지니어링 수명 주기 전체에 걸친 기술 선택 (1) 2024.11.13 3장 - 우수한 데이터 아키텍처 설계 (0) 2024.11.08 1장 - 데이터 엔지니어링 상세 (0) 2024.10.31 다음글이전글이전 글이 없습니다.댓글