📊 Data Engineering

[Data Engineering] 데이터 엔지니어란?

givemechocopy 2025. 4. 27. 00:35

데이터 엔지니어란?

데이터 엔지니어(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

 

데이터 엔지니어에게 중요한 소프트 스킬

  • 문제 해결 능력: 로그와 에러에서 원인을 추적하는 능력
  • 협업 커뮤니케이션: 분석가와의 요구사항 조율
  • 성능 최적화 감각: 비용과 속도 사이에서 최적점을 찾는 능력