Data/데이터 엔지니어링 ( Data Engineering )

[DE] 데이터 엔지니어링

JABHACK 2024. 11. 15. 12:16

데이터 엔지니어링

📌 데이터 엔지니어링은 원시 데이터(raw data)를 가져와 분석 및 머신러닝과 같은 다운스트림 사용 사례를 지원하고, 고품질의 일관된 정보를 생성하는 시스템과 프로세스의 개발, 구현 및 유지 관리를 의미합니다. 

 

 

데이터 엔지니어링 수명 주기

 

데이터 엔지니어링 수명 주기의 단계는 다음과 같습니다.

 

● 데이터 생성, generation

● 데이터 저장, storage

● 데이터 수집, ingestion

● 데이터 변환, transformation

● 데이터 서빙, serving

 

데이터 엔지니어링 수명 주기는 전체 수명 주기에 걸쳐 중요한 아이디어인 드러나지 않는 요소라는 개념을 포함합니다. 여기에는 보안, 데이터 관리, 데이터옵스, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링이 포함됩니다. 

 

데이터 엔지니어링 주요개념

  1. RDBMS: 관계형 데이터베이스 관리 시스템으로, 구조화된 데이터를 테이블 형식으로 저장하고 관리합니다. SQL을 통해 데이터를 관리하며, 보통 트랜잭션성이 중요한 애플리케이션에서 많이 사용됩니다.
  2. Spark: 대규모 데이터 처리를 위한 분산 데이터 처리 엔진으로, 대용량 데이터를 효율적으로 처리하고 분석하는 데 주로 사용됩니다. RDD(Resilient Distributed Dataset)를 사용하여 데이터를 분산 처리하며, 배치 처리뿐만 아니라 스트리밍 처리도 지원합니다.
  3. 데이터 레이크: 클라우드 스토리지 서비스(AWS S3, GCP GCS 등)에 비정형 데이터와 구조화된 데이터를 모두 저장할 수 있는 대규모 스토리지입니다. 다양한 형태의 데이터를 원본 그대로 저장하고 나중에 분석할 수 있도록 하는 방식입니다.
  4. 데이터 웨어하우스: 데이터 레이크에서 데이터를 가져와서 쿼리할 수 있는 데이터베이스로, 구조화된 데이터를 효율적으로 분석하기 위해 사용됩니다. 예로 AWS의 Redshift, GCP의 BigQuery가 있으며, 빠른 쿼리 성능과 분석 기능을 제공합니다.
  5. 데이터 마트: 데이터 웨어하우스에서 자주 사용하는 데이터들을 특정 요구에 맞춰 통합하고 저장하는 저장소입니다. 주로 빈번히 조회되거나 조인되는 데이터를 사전에 통합하여 데이터 마트로 구성해 두면, 성능에 긍정적인 영향을 줍니다.
  6. Superset, Tableau: 데이터 시각화 도구로, 앞서 언급한 RDBMS, Spark, 데이터 레이크, 데이터 웨어하우스, 데이터 마트와 연결하여 데이터 분석 결과를 시각화하고 대시보드로 나타내는 데 사용됩니다.