데이터 엔지니어란?

데이터 엔지니어가 하는 업무 중 가장 핵심을 정리하면 다음과 같습니다.

1. 데이터의 수집, 저장, 가공(ETL 또는 ELT)

  • 이 업무를 하나로 합쳐서 부르면 데이터 파이프라인을 구축 및 관리하는 것입니다.
    데이터를 만들어내는 실제 서비스들에서 데이터를 수집하고,
    수집한 데이터를 전처리한 후 저장에 필요한 형태로 가공한 뒤,
    안전한 목표 저장소에 저장하는 일련의 과정을 의미합니다.

  • 일반적으로 데이터를 모아서 처리하는 배치 처리와 실시간으로 처리하는 스트리밍 처리가 있으며 각각의 처리형태 혹은 파이프라인 단계마다 사용할 수 있는 기술스택이 매우 다양합니다.
    따라서 서비스의 특성을 잘 고려하여 적절한 기술을 선택하는 것이 중요하며 이는 데이터 엔지니어에게 가장 중요한 역량 중 하나입니다.

2. 분석(+ 시각화)

  • 데이터 엔지니어는 자신이 관리하는 데이터가 결국 어떻게 쓰이는지 알고 필요한 데이터를 직접 분석할 수 있어야 합니다.
    또한 데이터가 정상적으로 쌓이고 있는지 확인할 때에도 이러한 작업이 필요합니다.

  • 이러한 일회성 분석도 반드시 필요하지만 데이터 분석가 혹은 조직원들이 원할 때 지표를 바로 볼 수 있도록 분석 시스템을 만들 수도 있습니다.
    이 경우에는 적절한 시각화 툴에 대한 이해도 역시 필요합니다.

데이터 파이프라인 구축을 위해서 무엇이 필요한가?

1. 분산 처리 프레임워크

Hadoop, Spark
대규모의 데이터 셋을 효율적으로 처리하기 위해 사용합니다.
하나의 대형 컴퓨터를 사용해서 데이터를 처리&저장 하는 대신에,
분산 처리 프레임워크를 사용하면 상용 하드웨어를 함께 클러스터링하여 대량의 데이터 세트를 병렬로 분석할 수 있습니다.

2. 데이터 레이크

S3, HDFS
모든 데이터를 그대로 저장하고, 나중에 필요한 것만 꺼내서 사용하는 스토리지

3. Workflow 관리시스템

Airflow, Oozie, Dagster, Argo
여러가지 태스크들(데이터셋 생성, 모델 학습 등)을 일련의 그래프로 연결하고 스케줄링, 모니터링 등 파이프라인을 관리할 수 있습니다.

4. 데이터 웨어하우스

BigQuery etc
대량의 데이터를 분석하기 좋게 체계적으로 보관해놓는 데이터 창고입니다.
가공되지 않은 데이터를 모아 놓은 창고는 데이터 레이크입니다.

데이터 웨어하우스의 주요 특징 4가지

주체 지향 : 업무 중심이 아니라 주제 중심으로 데이터를 조직화 합니다.(고객 거래처, 상품, 활동 등)
통합 : 데이터를 활용하기 좋은 형태로 변환하기 위해 표준화 기준으로 설정, 적용함으로 데이터를 통합해야 합니다.
시계열 : 시간 별로 데이터 버전들을 저장합니다.(데이터를 시간에 따라 수시로 갱신하거나 변경x)
비 휘발성 : 데이터 웨어하우스의 데이터로 수행할 수 있는 작업은 데이터 로딩, 데이터 엑세스 뿐입니다.(데이터의 변경, 삭제는 이뤄지지 않는다)

데이터 엔지니어의 필요 역량

기본기

  1. 도메인 지식
  2. 의사소통 능력
  3. Linux, shell script
  4. git
  5. 오픈소스
  6. 클라우드

프로그래밍 언어

  1. JAVA
  2. Python

데이터베이스 및 데이터 처리

  1. SQL
  2. ETL, ELT
  3. SQL, NoSQL
  4. 분산 처리
  5. OLTP, OLAP

OLTP (Online Transaction Processing)

OLTP 란 온라인 트랜잭션 처리를 말하며, 네트워크 상의 온라인 사용자들의 Database 에 대한 일괄 트랜잭션 처리를 의미합니다.
흔히 말하는 "트랜잭션(Transaction) 처리" 를 OLTP 라 부릅니다. 트랜잭션이라 부르는 용어의 의미 자체가 OLTP 의 의미를 포함하고 있다고 할 수 있습니다.

OLAP (Online Analytical Processing)

OLAP 란 Database 자체적으로 운용되는 시스템이라기 보다는 데이터 웨어하우스 등의 시스템과 연관되어 Data 를 분석하고 의미있는 정보로 치환하거나, 복잡한 모델링을 가능하게끔 하는 분석 방법을 말합니다.

기능 자체에 중심을 두는 OLTP 와는 다르게 사용하는 목적과 주제에 보다 중점을 둡니다.
그렇기 때문에 주로 대용량의 데이터에 대해 처리하고 보다 복잡한 Data processing 으로 의미를 추출하는데 중점을 둡니다.

  1. BI

BI (Business Intelligence)

비즈니스 인텔리전스(BI)는 간단하게 말하면 원자료를 이용할 수 있는 정보로 변환하고 비즈니스 의사결정과 기술을 지원하는 것입니다. 또한, ‘BI툴’, ‘BI시스템’이라고도 불립니다.

유용한 정보를 얻기 전에 데이터의 수집, 축적, 분석, 보고와 같은 과정을 거쳐야 합니다.

  1. 데이터 크롤링
  2. 실시간 처리
  3. 정형 데이터, 비정형 데이터
  4. Machine Learning

0개의 댓글