새소식

반응형
Book

[직무탐구] 데이터 엔지니어 (Data Engineer)

  • -
728x90
반응형

# 읽고 있는 도서의 p86 ~ 93 내용 참고 및 인용

 

 

데이터 커리어 가이드북 - 조성준 김현용, 박서영, 안용대, 임성현 지음 - 길벗

 

 

데이터 엔지니어:

  • 데이터 엔지니어는 조직 내 데이터의 운용을 담당합니다.
  • 데이터 엔지니어가 데이터를 활용하기 위해 환경을 어떻게 구성하는지, 정확히 어떤 업무를 맡는지 알아보겠습니다.

 

데이터 엔지니어는 어떤 직무일까?

 

 

데이터 엔지니어의 업무:

1. 요구사항 분석:

  • 데이터 엔지니어의 업무는 최종 데이터 사용자의 요구사항을 분석하는 것에서 시작
    • 최종 데이터 사용자 예시:
      • 같은 회사 내에서 데이터를 활용한 서비스를 운영하고 관리하는 부서
      • 회사의 고객 등
  • 데이터 사용자의 요구사항을 잘 분석하기 위해 최종 데이터 사용자와 함께 필요한 기능과 요건을 구체적으로 정리

2. 파이프라인 구축, 관리 및 유지 보수:

  • '물의 순환'과 같이 데이터도 여러 과정을 거쳐 순환하며, 데이터가 흐르는 과정을 '데이터 파이프라인' 또는 '데이터 플로'라고 한다.
  • 데이터 엔지니어의 가장 큰 업무는 데이터 파이프라인을 구축해 운영, 유지보수하는 것
    • 데이터 파이프라인 관련 요소:
      • 데이터 레이크(Data lake): 다양한 형태와 경로에서 생성된 데이터를 한곳에 가공 없이 그대로 저장하는 것
      • 데이터 웨어하우스(Data warehouse): 데이터 가져오기(Data Ingestion) 과정을 통해, 활용할 수 있는 형태로 저장되는 곳
      • 데이터 마트(Data mart): 데이터 웨어하우스의 하위 부분으로, 데이터를 실제로 사용하는 부서의 레벨이나 관련 주제 위주로 접근할 수 있도록 가공한 시스템
      • 데이터 플랫폼(Data platform): ETL 파이프라인을 구성하기 위한 애플리케이션의 집합, 각종 데이터베이스 분석과 시각화 등에 활용할 수 있도록 제공하는 환경
        • 데이터 수집을 위한 Logstash, fluentD 등
        • 배달 성능 최적화나 안정성 향상을 위해 사용하는 Kafka, Redis 등의 메시지 큐 서비스
        • 데이터를 저장하고 분석하기 위한 RDB, NoSQL 등의 데이터베이스
        • 시각화를 지원하기 위한 스팟파이어, 태블로, 키바나 등
  • 데이터 플랫폼의 다양한 애플리케이션이 서로 유기적으로 작동하도록 구성하고 유지보수, 관리

 

참고사항) ETL (Extraction Transform Loading):

  • 여러 데이터를 공통된 형식으로 변환해, 데이터 웨어하우스에 저장하기까지의 과정
    • Extraction(추출)
    • Transform(가공)
    • Loading(적재)

 

3. 기타 도구 및 애플리케이션 개발:

  • 최종 데이터 사용자의 요구사항 중 ETL 파이프라인 플랫폼에서 제공하지 않는 기능을 개발
  • 상용 BI(Business Intelligence) 도구나 시각화 솔루션을 조합하는 과정에서 다양한 형태의 애플리케이션을 개발

4. 다른 데이터 직무와의 차이점과 협업:

  • 데이터 엔지니어:
    • 데이터 파이프라인의 설계와 구현이 주업무
    • 실제로 데이터를 받아 분석하고 사업에 사용하는 다양한 데이터 사용자의 요구사항이나 필요한 정보를 미리 숙지하고 소통하면서 데이터 파이프라인 설계에 반영
    • UI 개발에 참여하기도 함 (데이터 엔지니어와 백엔드 개발자의 업무가 이상적으로 구분되어 있는 경우)
  • 데이터 아키텍트(Data architect):
    • 비즈니스 요구사항을 분석해 구축된 정보 시스템의 데이터를 사용
    • 업무의 요구사항 분석, 전략 수립, 데이터팀 관리 등의 업무 수행
  • DBA(DataBase Administrator):
    • 데이터베이스를 설계하고 관리
    • 주로 데이터베이스 스키마 설계

 

 

성공 요소:

1. 업무에 필요한 지식 및 스킬:

  • 컴퓨터공학 분야에서 배우는 지식과 유사
    • 프로그래밍 능력은 필수! (SQL과 파이썬 등에 능숙해야함)
    • 각종 데이터 수집 애플리케이션, 데이터 저장소, 관계형 데이터베이스 프로그램에 대한 지식이 있으면 유용
    • 인프라 구성을 위한 여러 플랫폼의 장단점과 종류 파악 (비교 분석을 위함)
    • 컴퓨터 시스템에 대한 지식 (실제 데이터를 처리하는 컴퓨터의 성능이 중요하기 때문)
      • 컴퓨터의 동작과 분산 처리의 원리
      • 파일 시스템과 포맷
      • 프로토콜 등과 같은 네트워크
      • 클라우드 등
    • BI 도구에 대한 사용법과 설정 방법 이해
    • 머신러닝에 대한 개념

2. 성향 및 태도:

  • 데이터 파이프라인을 구축, 유지보수하기 위해서는 넓은 시야가 필요
  • 업무가 방대하기 때문에 원활한 협업 능력 필요

 

 

 

 

 

감사합니다 :)

 

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.