데이터 엔지니어링 개요

이상해씨·2024년 9월 24일

데이터 베이스 VS 데이터 웨어하우스

데이터 베이스 : 실시간 트랜잭션 중심, OLTP, 정규화, 현재 중심의 데이터를 저장
데이터 웨어하우스 : 데이터 분석과 비즈니스 인텔리전스(BI) 중심, OLAP, 비정규화, 과거부터 현재까지의 데이터 저장

데이터 베이스에서 데이터를 분석 및 조작할 경우, 서비스 장애가 발생할 수 있음
이 것을 방지하기 위하여 데이터 웨어하우스로 데이터를 저장

서비스를 위해 데이터베이스를 사용, 대용량 데이터 분석 및 처리를 위해서는 데이터웨어하우스를 사용.

데이터 웨어하우스와 ETL

데이터 웨어하우스는 데이터를 추출, 변환, 불러와서 분석에 사용한다.

  • 추출 extract : source에서 데이터를 수집 (운영 DB, log, API)
  • 변환 transform : 필요한 형태로 데이터를 변환 (정제, 집계, 통합)
  • 로드 load : DB, DW에 데이터를 적재. DW에서 데이터를 불러와 분석

데이터 마트

DW만 사용할 경우, 시간 비용, 데이터 손상, 쿼리의 복잡성 향상. 이를 해결하기 위하여 1)DM 구축 및 2)SQL Join 결과를 Batch로 Table에 저장

데이터 마트 DM : DW의 한 부분. 특정 분야 및 부서 기능 전용 데이터 저장소. 사용자의 필요에 따라 최적화된 상태.

정리

데이터 엔지니어는 다음과 같은 역할을 수행
1. DW에 DB 데이터를 적재(DW)
2. DA를 위한 인프라 구축 (DM, BI도구 )
3. Data Product 개발(AB 테스트, 데이터기반 서비스, GA, Amplitude , 로그 시스템, 머신러닝 딥러닝 서비스)

데이터 엔지니어 역량

  • 데이터베이스, 네트워크, 백엔드 개발
  • shell, python, scala, java
  • 클라우드 서비스, 대용량 처리, kubernetes, docker
  • 데이터 아키텍쳐 설계

데이터 엔지니어링 라이브러리
spark, kafka, airflow


참고

profile
공부에는 끝이 없다

0개의 댓글