데이터 엔지니어링 개요

이상해씨·2024년 9월 24일
0

데이터 베이스 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개의 댓글