✅ RECAP
전 포스팅에서 공부한 내용을 복습해 보자.
- 데이터 엔지니어링의 정의와 중요성
: 데이터 엔지니어는 대규모 데이터 세트를 효율적으로 처리하고 관리할 수 있는 인프라를 구축하고 유지보수하는 역할을 담당한다.
- 데이터 엔지니어링과 데이터 사이언티스트의 차이점
: 데이터 엔지니어는 데이터의 인프라와 아키텍처를 다루는데 중점을 두는 반면, 데이터 사이언티스트는 데이터를 통해 인사이트를 도출하는 데 집중한다.
- 데이터 파이프라인이 소개
: 데이터 파이프라인이란 데이터 처리 단계의 연속적인 흐름을 의미하며, 데이터가 원천에서부터 저장되고 분석 및 활용될 수 있는 위치로 효율적으로 이동하도록 보장하는 데 중요한 역할을 한다.
- 빅데이터의 역할
: 빅데이터의 등장으로 인해 데이터 엔지니어에 대한 수요가 급격히 증가했다. 빅데이터는 '5V'로 정의되며, (Volume : 데이터 양, Velocity : 데이터 속도, Variety : 데이터 다양성, Veracity : 데이터 신뢰도, Value : 데이터 가치), 이는 데이터 관리에 있어 독특한 도전과 기회를 제공한다.
- 조직 내 데이터 흐름
: 데이터가 조직 내에서 어떻게 흐르는지를 살펴봤다. 데이터는 수집에서부터 저장, 준비, 탐색, 그리고 마지막으로 실험 및 모델 구축 단계로 이동한다.
그렇다면, 데이터 엔지니어와 데이터 사이언티스트가 실제 시나리오에서 데이터를 효과적으로 분석하고 활용하기 위해 어떻게 협력하는지에 대해 탐구해 보자. 이 둘은 서로 보완적인 관계이지만, 그 초점과 전문성에서는 뚜렷한 차이가 있다. 두 직무의 주요 역할과 협업 방식, 그리고 조직에서 데이터 활용에 있어 이들이 왜 중요한지 알아보자.
1. 데이터 워크플로우
조직 내 데이터는 다양한 단계를 거쳐 흐르는데, 크게 두 가지 주요 부분으로 나눌 수 있다.
- 데이터 엔지니어링 : 데이터의 수집, 저장, 접근성을 확보하는 초기 단계에 집중
- 데이터 과학 : 데이터를 준비, 탐색, 시각화 및 모델링하는 후반 단계에 초점
2. 데이터 엔지니어의 역할 & 데이터 사이언티스트의 역할
데이터 엔지니어는 데이터 인프라를 설계하고 구축하는 역할을 맡는다.
- 데이터 수집 및 저장 : 원천 데이터가 다양한 소스에서 수집되어 체계적으로 데이터베이스나 데이터 웨어하우스에 저장되도록 보장.
- 데이터베이스 최적화 : 데이터를 쉽게 검색하고 분석할 수 있도록 테이블 구조와 시스템을 설계
- 데이터 파이프라인 구축 : 데이터가 원천에서 저장소로, 그리고 실시간으로 업데이트될 수 있도록 자동화된 데이터 흐름 시스템 개발.
즉, 데이터 엔지니어는 데이터 사이언티스트가 효과적으로 작업할 수 있도록 기초를 다지는 역할을 한다.
데이터 사이언티스트는 준비된 데이터를 기반으로 인사이트를 도출하는 데 초점을 맞춘다.
- 데이터 준비 : 분석 요구에 맞게 데이터를 정리하고 변환
- 데이터 탐색 및 시각화 : 트렌드와 인사이트를 발견하기 위한 시각적 도구 제작
- 모델 구축 : 실험을 진행하거나 예측 모델을 개발해 비즈니스 문제 해결
즉, 데이터 사이언티스트는 데이터 엔지니어가 구축한 인프라와 파이프라인을 활용하여 자신의 업무를 효과적으로 수행한다.
3. 협업 예시
가정 상황
음악 스트리밍 회사 Spotflix 가 있다고 가정해 보자.
이 회사의 데이터 엔지니어, Vivian은 고객, 아티스트, 노래 데이터를 체계적으로 데이터베이스에 수집하고 저장한다. 또한, 데이터를 최신 상태로 유지하기 위한 파이프라인을 구축한다.
이 회사의 데이터 사이언티스트, Julian은 이 데이터베이스에 접근해 청취 패턴을 분석하거나 추천 알고리즘을 개발한다.
협업 방식은 다음과 같다.
Vivian은 SQL과 소프트웨어 중심의 Python이나 Java를 사용해 데이터베이스를 생성, 업데이트, 변환한다.
Julian 은 분석 중심의 Python 이나 R, 그리고 SQL을 활용해 데이터베이스에서 필요한 정보를 쿼리(검색)한다.
이 협업을 통해 Spotflix는 사용자가 선호하는 음악을 정확히 추천하는 엔진을 원활하게 운영할 수 있게 된다.
4. 두 직무의 주요 차이점, 이러한 협업이 중요한 이유
1. 소프트웨어 vs 분석 전문성
- 데이터 엔지니어는 소프트웨어 전문가로, 시스템 아키텍처와 데이터 최적화에 중점을 둔다.
- 데이터 사이언티스트는 분석 전문가로, 데이터에서 인사이트를 도출하고 문제를 해결하는 데 초점을 맞춘다.
2. 둘 다 SQL을 사용하지만, 활용방식이 다르다.
- 데이터 엔지니어는 데이터베이스를 구축하고 변환하는 데 사용한다.
- 데이터 사이언티스트는 데이터를 쿼리하고 검색하는 데 사용한다.
※ 이러한 협업이 중요한 이유
- 데이터가 조직 내에서 원활하게 흐를 수 있다.
- 인사이트가 신속하고 효율적으로 도출된다.
- 정확하고 최신 데이터에 기반한 비즈니스 의사결정을 지원한다.
아래 문제를 풀어보자.
1. Tell me the truth
In 2012, IBM declared that 90% of the data in the world had been created in the past 2 years. That same year, the amount of digital data in the world first exceeded 1 zetabyte (1 billion terabytes). In 2020, we're expected to reach 44 zetabytes. This big data era led to the advent of two new roles: data engineers and data scientists. You just studied the differences between these two roles. Let's have a quick sanity check: which of the following options is true?
1. Data engineers intervene at the very end of the data workflow.
2. Data scientists build pipelines.
3. Data engineers need strong statistical expertise.
4. Data engineers enable data scientists.
Answer
4 - Data engineers enable data scientists.
2. Who is it
In the first lesson, you classified some data related tasks between data engineer tasks and not data engineer tasks. Let's raise the bar and see if you can assign more specific tasks to data engineers or data scientists.
1. Use Java to build a pipeline collecting album covers and storing them.
2. Find out in which countries certain artists are popular to give them insights on where to tour.
3. Use Python to run an analysis on whether users prefer having the search bar on the top left or the top right of the Spotflix desktop app.
4. Identify which customers are likely to end their Spotflix subscriptions, so marketing can target them and encourage them to renew.
5. Provide listening sessions data so it can be analyzed with minimal preparation work.
6. Ensure that people who use the databases can't erase music videos by mistake.
Data engineering Tasks →
Data scientists Tasks →
Answer
Data engineering Tasks → 1,5,6
Data scientists Tasks → 2,3,4
이상으로, 데이터 엔지니어와 데이터 사이언티스트는 데이터 생태계에서 각자의 역할을 충실히 하며 상호 의존적인 관계를 형성한다는 것을 알았다. 데이터를 기반으로 비즈니스 가치를 창출하려면 이 두 역할이 협력하여 데이터의 잠재력을 최대한 활용해야 한다.
'컴퓨터 공부 > 🌠 Journey to Data field' 카테고리의 다른 글
Understanding Data Engineering 5-SQL (1) | 2024.12.07 |
---|---|
Understanding Data Engineering 4-Data structures (1) | 2024.12.07 |
Understanding Data Engineering 3-The data Pipeline (1) | 2024.11.18 |
Understanding Data Engineering 1-Data engineering and big data (4) | 2024.11.15 |
데이터 사이언티스트 & 데이터 엔지니어 로드맵 🚀 (8) | 2024.11.12 |