취미가 좋다
[ 데이터 인프라 ] 데이터 엔지니어에 대해서 본문
회사와 서비스 내에 데이터를 발생시키고 저장하고 추출하고 보여주기 위해서는, 즉, 데이터가 흐르도록 하기 위해서는 데이터 인프라가 필요하다.
그 목적으로는 비즈니스 리더들의 의사결정을 도와주고, 서비스/제품을 데이터의 도움으로 향상되도록 하는 것에 있다.
데이터 엔지니어란?
: 데이터를 분석하고, 활용할 수 있는 플랫폼을 구축하고, 운영하는 일을 하는 사람
: 빅데이터를 처리할 수 있는 인프라 & 아키텍처를 만드는 사람
요구 기술
프로그래밍, 수학, 빅데이터, 다양한 데이터베이스 지식, 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
사내 다양한 데이터베이스에서 데이터 웨어하우스로 옮겨서 저장하는 작업이다.
- Extract data from production systems
- Transform normalized to dimensional schema
- 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
'Data Engineer > 데이터 인프라' 카테고리의 다른 글
[ 데이터 인프라 ]Kafka, Pulsar, Kinesis (0) | 2021.08.25 |
---|---|
[ 데이터 인프라 ] Spark, Python, Hive (0) | 2021.08.24 |
[ 데이터 인프라 ] Data Modeling, Worflow Manager (0) | 2021.08.24 |
[ 데이터 인프라 ] ETL/ELT 도구들 (Connectors) (0) | 2021.08.24 |
[ 데이터 인프라 ] 데이터 소스 (0) | 2021.08.23 |