취미가 좋다

[ 데이터 인프라 ] 데이터 엔지니어에 대해서 본문

Data Engineer/데이터 인프라

[ 데이터 인프라 ] 데이터 엔지니어에 대해서

benlee73 2021. 8. 23. 11:15

회사와 서비스 내에 데이터를 발생시키고 저장하고 추출하고 보여주기 위해서는, 즉, 데이터가 흐르도록 하기 위해서는 데이터 인프라가 필요하다.

그 목적으로는 비즈니스 리더들의 의사결정을 도와주고, 서비스/제품을 데이터의 도움으로 향상되도록 하는 것에 있다.

데이터 엔지니어란?

: 데이터를 분석하고, 활용할 수 있는 플랫폼을 구축하고, 운영하는 일을 하는 사람

: 빅데이터를 처리할 수 있는 인프라 & 아키텍처를 만드는 사람

 

요구 기술

프로그래밍, 수학, 빅데이터, 다양한 데이터베이스 지식, ETL 및 BI 도구들에 대한 지식

 

주 사용 언어

Python, SQL, 쉘스크립트

데이터 인프라의 목적

- 비즈니스 리더들의 의사결정을 도와주기

- 서비스/제품을 데이터의 도움을 받아 향상시키기

 


데이터 인프라 기초

- Production Systems

ERP(NETSUITE), CRM(CRM), Database(MySQL, PostgreSQL, Oracle)

위의 여러 데이터들을 발생시킨다. 이는 모두 따로 분석되어야 한다.

- Data Warehouse

데이터를 따로 분석하지 않고, 통합된 분석 보고서 작성을 위해 다양한 소스로 부터 데이터를 저장한다.

분석을 위해 쉽게 데이터를 추출할 수 있도록 데이터를 저장한다.

 

데이터의 차이

- Production Systems

Normalized Schema (작은 여러 테이블)

- Data Warehouse

Dimensional Schema (더 작고 간단한 테이블들)

 

ETL

사내 다양한 데이터베이스에서 데이터 웨어하우스로 옮겨서 저장하는 작업이다.

  1. Extract data from production systems
  2. Transform normalized to dimensional schema
  3. Load into Data Warehouse

 

추출과 변환은 자동화되기 어렵고, 저장하는 것보다 변환이 더 비용이 많이 든다.

따라서 순서를 바꿔서 추출과 적재만 자동화하는 ELT가 떠오르고 있다다.

 


vs Data Analyst

: 데이터 엔지니어가 만든 데이터 인프라를 사용, 해석해서, 비즈니스 의사결정을 돕는 정보로 만드는 사람

요구기술

통계학, 수학, 커뮤니케이션, 스프레드시트 & DB 사용, BI툴을 이용한 시각화

주 사용 언어

SQL, R, Python


Sources 회사 내 모든 데이터가 만들어지는 곳
Ingestion and Transformation 데이터를 가져와서 변환
Storage 데이터 저장소
Historical 과거 데이터를 분석
Predictive 데이터를 기반으로 미래 일어날 일을 예측 (Data Science, ML)
Output 분석된 결과를 보여주는 일
데이터 발생 → 변환 → 적재 → 분석 → 시각화

참고

https://youtube.com/playlist?list=PLL-_zEJctPoJ92HmbGxFv1Pv_ugsggGD2 

 

최신 데이터 인프라 이해하기

 

www.youtube.com

 

 

Comments