데이터 엔지니어란?
데이터 엔지니어(Data Engineer)는 데이터를 수집하고 저장하고 전달하는 데이터 파이프라인(Data Pipeline)을 설계하고 운영하는 사람입니다. 데이터를 사용하는 데이터 분석가, 데이터 과학자, 머신러닝 엔지니어가 신뢰할 수 있는 데이터에 빠르게 접근할 수 있도록 기반을 마련해주는 역할입니다.
주요 역할
역할 | 설명 |
데이터 수집 (Ingestion) | 다양한 소스(웹 로그, DB, API 등)로부터 데이터를 수집합니다. |
데이터 처리 및 정제 (Transformation) | 수집된 데이터를 정제하고 가공합니다 (ETL 또는 ELT). |
데이터 저장 (Storage) | 정제된 데이터를 적절한 데이터 저장소에 저장합니다 (DWH, Data Lake 등). |
데이터 파이프라인 구축 및 운영 | 자동화된 파이프라인을 구축하여 데이터를 실시간 또는 배치 처리로 흐르게 합니다. |
모니터링 및 최적화 | 데이터 품질을 모니터링하고, 성능 병목을 찾아 개선합니다. |
역할에 대한 요구 기술 스택
📦 데이터 수집 및 전송
- Apache Kafka, Apache Flume, Apache NiFi, AWS Kinesis
🧹 데이터 처리 (ETL/ELT)
- Apache Spark, Apache Beam, Airflow
- Python, Scala, SQL
🏗️ 데이터 저장소
- Relational DB: MySQL, PostgreSQL
- Data Warehouse: Snowflake, Amazon Redshift, Google BigQuery
- NoSQL: MongoDB, Cassandra
- Data Lake: Hadoop HDFS, Amazon S3
🧭 데이터 파이프라인 오케스트레이션
- Apache Airflow
- Luigi
- Prefect
🖥️ 클라우드 환경
- AWS, GCP, Azure에서의 데이터 처리 및 저장소 구축
- 특히 Serverless 데이터 파이프라인 구축 경험은 고급 역량
📊 DevOps & 모니터링
- Docker, Kubernetes
- Prometheus, Grafana
- CI/CD 경험: GitHub Actions, Jenkins 등
데이터 엔지니어 vs 데이터 사이언티스트 vs 분석가
역할 | 목적 | 주요 도구 |
데이터 엔지니어 | 데이터를 수집·정제·저장하여 공급 | Spark, Airflow, Kafka, SQL |
데이터 사이언티스트 | 모델 개발, 예측 분석 | Python, ML 라이브러리 |
데이터 분석가 | 리포트, BI 분석 | SQL, Tableau, Excel |
데이터 엔지니어에게 중요한 소프트 스킬
- 문제 해결 능력: 로그와 에러에서 원인을 추적하는 능력
- 협업 커뮤니케이션: 분석가와의 요구사항 조율
- 성능 최적화 감각: 비용과 속도 사이에서 최적점을 찾는 능력
'📊 Data Engineering' 카테고리의 다른 글
[Data Engineering] 데이터 웨어하우스와 ETL/ELT는 어떻게 구성되는가? (0) | 2025.05.12 |
---|---|
[Data Engineering] 데이터 팀의 역할과 조직은 어떻게 구성되는가? (1) | 2025.05.12 |
[Data Engineering] 개인 사이드 프로젝트#01 복기 2편 (feat. influxdb란?) (3) | 2025.04.30 |
[Data Engineering] 개인 사이드 프로젝트#01 복기 1편 (feat. Kafka란?) (2) | 2025.04.30 |
[Data Engineering] 데이터 파이프라인이란? (0) | 2025.04.27 |