데이터 엔지니어링이란?
데이터 흐름과 접근을 원활하게 하는 기술적인 작업을 다루며, 고품질 데이터 기반 의사결정을 가능하게 하는 것을 목표로 함 (데이터의 흐름과 액세스를 위한 메커니즘을 다룬다!)
데이터 엔지니어가 하는 일
- 데이터 인프라와 플랫폼을 설계, 구축, 유지보수
- 데이터 인프라 - 데이터베이스, 빅데이터 저장소, 데이터 파이프라인 등을 포함
- 데이터 엔지니어는 이러한 시스템을 개발하고 최적화하며, 데이터를 분석할 수 있도록 준비하는 역할을 수행함
- 데이터의 가용성, 일관성, 보안, 복구 가능성을 보장
- 데이터 분석가와 데이터 사이언티스트는 데이터 엔지니어가 준비한 데이터를 사용해 인사이트를 도출하고 예측 모델을 개발 및 분석함
✔️ 최근 데이터 엔지니어링 트렌드는 DB 관리, ETL 파이프라인, 데이터 시각화, 분산 컴퓨팅, DevOps에 대한 이해, AI 역량도 요구된다고 함...!!!
데이터 엔지니어링 프로세스
데이터 수집 → 데이터 처리 → 데이터 저장 → 보안 기반 데이터 제공
Ⅰ. 데이터 수집
- 다양한 소스에서 데이터 추출, 통합, 조직화하는 작업
- 여러 소스로부터 데이터를 획득할 수 있는 도구, 워크플로우 및 프로세스 개발
- 데이터를 저장할 수 있는 확장 가능한 데이터 아키텍처 설계 및 유지보수
Ⅱ. 데이터 처리
- 데이터를 정리, 변환, 준비해 사용할 수 있도록 만드는작업
- 대규모 데이터 처리를 위한 분산 시스템 구현 및 유지보수
- 데이터 추출, 변환, 로딩(ETL) 파이프라인 설꼐
- 데이터 품질, 프라이버시, 보안을 보장하기 위한 솔루션 설계 또는 구현
- 도구, 시스템 및 워크플로우 최적화
Ⅲ. 데이터 저장
- 신뢰할 수 있고 쉽게 접근 가능한 데이터 저장소 구축
- 처리된 데이터를 저장하기 위한 데이터 스토어 아키텍처 설계 또는 구현
- 데이터 프라이버시, 보안, 규제 준수, 모니터링, 백업 및 복구를 관리하는 도구 및 시스템 확보
Ⅵ. 보안 기반 데이터 제공
- 사용자가 데이터를 안전하게 사용할 수 있도록 제공하는 작업
- API, 서비스 및 프로그램을 통해 사용자 정의 매개변수로 데이터를 검색
- 사용자가 데이터를 통해 인사이트를 얻을 수 있도록 인터페이스와 대시보드 제공
- 데이터 보안을 유지하고 권한 기반 접근을 제공하기 위한 조치 및 균형 유지
데이터 엔지니어링은 한 사람이 모든 걸 다 하는 게 아니라, 팀 단위로 이루어짐
(DB 관리 시스템을 위한 아키텍트 기술을 가진 엔지니어, 데이터 스토어 최적화하기 위한 DB 전문가 역량을 가진 엔지니어 등)
다양한 기술 스택(DB 도구, 프로그래밍 언어, 분산 시스템 등)을 요구하는 작업이 포함됨
(번외) 데이터베이스 vs 데이터 웨어하우스
목적
- 데이터베이스 : 실시간 트랜잭션 처리 및 운영 데이터 관리
- 데이터 웨어하우스 : 데이터 분석 및 비즈니스 인텔리전스
설계
- 데이터베이스 : 정규화된 데이터 구조, 빠른 읽기 및 쓰기 성능
- 데이터 웨어하우스 : 비정규화된 데이터 구조, 읽기 작업에 최적화
사용 사례
- 데이터베이스 : OLTP, 운영 데이터 관리
- 데이터 웨어하우스 : OLAP, 비즈니스 인텔리전스 및 리포팅
데이터 처리
- 데이터베이스 : 실시간 데이터 수정과 검색
- 데이터 웨어하우스 : 대규모 데이터의 빠른 읽기와 분석