데이터 엔지니어링의 인기가 높아졌지만 데이터 엔지니어링이 실제로 무엇을 의미하는지, 데이터 엔지니어가 무엇을 하는지에 관해서는 여전히 많은 사람이 혼란스러워 한다.
데이터 엔지니어링이라는 용어에는 수많은 정의가 존재한다. 다음은 데이터엔지니어링에 관해 이 분야의 일부 전문가들이 정의하는 몇가지 예문이다.
하둡, 카산드라, HBase
와 같은 스토리지 맵리듀스, 스파크,플링크
같은 빅데이터 프레임워크등의 기술들을 가지고 데이터 작업을 수행한다. 빅데이터 분산 시스템 운영
에 관한 전문화를 통합한다.다양한 전문가들이 데이터 엔지니어링을 어떻게 정의하는가에 관한 공통된 맥락을 풀어보면 데이터를 가져오고 DA나 DS가 사용할 수있도록 준비한다. 라는 공통된 패턴이 있다.
데이터 엔지니어링은 원시 데이터(raw_data)를 가져와 분석 및 머신러닝과 같은 다운스트림 사용 사례를 지원하는, 고품질의 일관된 정보를 생성하는 시스템과 프로세스의 개발, 구현 및 유지 관리이다. 데이터엔지니어링은 보안, 데이터 관리, 데이터 운영, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링의 교차점이다.
데이터 엔지니어링은 데이터를 가져와 분석 또는 머신러닝과 같은 사용 사례에 데이터를 제공하는 것으로 끝나는 데이터 엔지니어링 수명주기를 관리한다.
출처: Fundamentals of Data Engineering by Joe Reis, Matt Housley
데이터엔지니어링 수명주기는 기술에서 벗어나, 데이터 자체와 데이터가 제공해야 하는 최종 목표에 관한 논의로 전환한다. 데이터 엔지니어링 수명주기의 단계는 다음과 같다.
데이터 엔지니어링 수명주기는 전체 수명주기의 중요한 아이디어인 드러내지 않는 요소(Undercurrents) 라는 개념을 포함한다.