사진과 음악을 좋아하는 개발자 지망생의 블로그

[데이터 웨어하우스 - 중급] 1. 다양한 데이터 웨어하우스 옵션 - 2) 데이터 팀의 역할과 데이터 조직 구성원 본문

개발/데이터 웨어하우스 - 중급

[데이터 웨어하우스 - 중급] 1. 다양한 데이터 웨어하우스 옵션 - 2) 데이터 팀의 역할과 데이터 조직 구성원

devculture309 2023. 5. 24. 16:28
반응형

1.  데이터 조직의 비전

1. 신뢰할 수 있는 데이터

 데이터 조직의 비전은 신뢰할 수 있는 데이터를 보장하는 것입니다. 이를 위해 데이터 품질을 관리하고 데이터의 정확성, 일관성 및 신뢰성을 유지하는 것이 중요합니다. 데이터의 신뢰성은 조직 내에서 데이터에 기반한 의사결정을 내리고 비즈니스 성과를 개선하는 데 필수적입니다

 

2. 부가 가치 생성

 데이터 조직은 데이터를 사용하여 부가 가치를 창출하는 것을 목표로 합니다. 데이터를 분석하고 인사이트를 도출하여 비즈니스 전략 및 운영 개선에 활용합니다. 데이터 기반의 의사결정은 효율성을 향상시키고 혁신을 촉진하는 데 도움이 됩니다. 이를 통해 경쟁 우위를 확보하고 비즈니스 성과를 향상시킬 수 있습니다.

 

3. Data is the new oil

  이 문구는 데이터의 가치와 중요성을 강조하는 것으로 데이터 조직의 비전에 부합할 수 있습니다. 데이터는 현대 비즈니스에서 귀중한 자원으로 간주되며, 적절히 수집, 분석 및 활용될 때 비즈니스에 큰 잠재력을 제공할 수 있습니다.

 

4. 데이터 팀의 인정

 데이터 팀은 신뢰할 수 있는 데이터를 관리하고 가치 있는 인사이트를 제공하여 조직의 의사결정을 지원합니다.

 

 

 

2. 데이터 조직이 하는 일

 데이터 조직은 다양한 역할과 책임을 맡고 있으며, 그 중 하나는 고품질 데이터를 기반으로 의사 결정권자에게 입력을 제공하는 것입니다. 이를 통해 데이터 조직은 결정 과학이라고도 불리는 분야를 지원합니다. 주요 업무는 다음과 같습니다

 

1. 데이터를 고려한 결정

 데이터 조직은 의사 결정에 있어 데이터를 고려한 결정을 가능하게 합니다. 데이터 기반의 결정은 데이터를 분석하고 해석하여 통찰력을 도출하는 것을 의미합니다. 데이터 조직은 의사 결정권자에게 필요한 데이터를 수집, 정제 및 분석하여 의사 결정을 지원합니다.

 

2. 데이터 기반 지표 정의

데이터 조직은 비즈니스의 목표와 전략을 반영하는 데이터 기반 지표를 정의합니다. 이러한 지표는 성과 측정, 성과 추적, 비즈니스 성과 평가 등에 사용됩니다. 데이터 조직은 적절한 지표를 설정하고 데이터를 수집하여 이를 통해 조직의 성과를 측정하고 개선하는 데 도움을 줍니다.

 

3. 대시보드와 리포트 생성

데이터 조직은 대시보드와 리포트를 생성하여 의사 결정권자에게 시각적으로 데이터를 제공합니다. 대시보드는 핵심 지표와 데이터 시각화를 통해 실시간으로 조직의 성과를 모니터링하는 데 사용됩니다. 리포트는 주요 동향, 분석 결과 및 인사이트를 정리하여 의사 결정에 도움을 주는 역할을 합니다. 

 

4. 사용자 서비스 경험 개선

 데이터 조직은 머신 러닝 및 다양한 알고리즘을 활용하여 사용자의 서비스 경험을 개선합니다. 예를 들어, 개인화를 기반으로 한 추천 시스템을 구축하여 사용자에게 맞춤형 추천과 검색 기능을 제공합니다. 이를 통해 사용자는 더 나은 서비스 경험을 얻을 수 있습니다.

 

5. 프로세스 최적화

 데이터 조직은 데이터를 분석하여 비즈니스 프로세스를 최적화하는 데 도움을 줍니다. 예를 들어, 공장의 경우 데이터 조직은 센서 데이터나 제조 데이터를 수집하여 공정 과정에서의 오류를 최소화하고 효율성을 향상시키는 방법을 찾을 수 있습니다. 데이터를 분석하여 병목 현상이나 비효율성을 발견하고 개선점을 식별합니다.

 

데이터 조직은 데이터 품질 관리, 데이터 분석, 데이터 시각화 및 보고 등 다양한 업무를 수행하며, 이를 통해 의사 결정권자에게 고품질의 데이터를 제공하여 데이터를 기반으로 한 의사 결정을 가능하게 합니다. 또한, 데이터 조직은 고품질 데이터를 활용하여 사용자 서비스 경험을 개선하고 프로세스를 최적화함으로써 비즈니스 성과를 향상시킵니다. 데이터 분석, 머신 러닝, 알고리즘 적용 등을 통해 데이터 조직은 조직 내 다양한 부서와 협력하여 창의적인 솔루션을 제공합니다.

 

 

 

3. 데이터의 흐름과 데이터 팀의 발전 단계

1단계: 데이터 인프라 구축

 데이터 팀의 발전의 첫 번째 단계는 데이터 인프라의 구축입니다. 이 단계에서는 데이터 팀의 주요 역할은 데이터 엔지니어가 맡게 됩니다. 데이터 분석 수행 과정은 다음과 같은 작업을 수행합니다.

 

데이터 수집

  • 서비스에서 직접 생기는 데이터와 써드파티를 통해 생기는 간접 데이터를 수집합니다.
  • 이러한 데이터는 다양한 소스에서 비정형 또는 정형 데이터 형식으로 제공될 수 있습니다.

데이터 웨어하우스

  • 수집한 데이터를 저장하고 관리하기 위한 데이터 웨어하우스를 구축합니다.
  • 데이터 웨어하우스는 중앙 집중식 데이터 저장소로서, 데이터를 통합하고 일관성 있게 보관합니다.

ETL (추출, 변환, 적재)

  • 데이터를 추출하고 변환하여 데이터 웨어하우스에 적재하는 ETL 과정을 수행합니다.
  • ETL은 데이터를 원하는 형식으로 가공하고 정제하는 과정을 포함합니다.

데이터 인프라의 구축은 데이터 엔지니어가 주로 수행하는 작업입니다. 데이터 엔지니어는 데이터 수집 도구와 기술을 활용하여 데이터를 수집하고, 데이터 웨어하우스를 구축하며, ETL 프로세스를 개발 및 운영합니다. 이를 통해 조직은 데이터를 중앙에서 효율적으로 관리하고, 데이터 품질을 향상시키며, 의사 결정에 필요한 데이터를 신속하게 활용할 수 있게 됩니다.

 

1단계 - 1. 프로덕션 데이터베이스 vs. 데이터 웨어하우스

프로덕션 데이터베이스와 데이터 웨어하우스는 데이터 관리 측면에서 두 가지 다른 유형의 데이터 저장소입니다. 각각의 특징과 주요 용도는 다음과 같습니다.

 

- 프로덕션 데이터베이스

  • 프로덕션 데이터베이스는 실시간 트랜잭션 처리(OLTP, Online Transaction Processing)를 위해 설계되었습니다.
  • 주로 실제 시스템의 운영에 사용되며, 일상적인 비즈니스 프로세스를 지원합니다.
  • 데이터의 신속한 입력, 갱신, 삭제 작업에 최적화되어 있으며, 응답 시간이 매우 빠릅니다.
  • 주로 정형 데이터(구조화된 데이터)를 저장하며, 데이터 일관성과 동시성 제어가 중요한 요소입니다.
  • 데이터베이스 관리 시스템(DBMS)을 사용하여 데이터의 안정성, 보안성, 가용성을 관리합니다.
  • 예시: 고객 주문 처리, 재고 관리, 온라인 트랜잭션 등의 실시간 데이터 처리를 위한 데이터베이스 시스템.

- 데이터 웨어하우스

  • 데이터 웨어하우스는 의사 결정 지원 시스템(DSS, Decision Support System)을 위한 데이터 분석 및 보고를 위해 설계되었습니다.
  • 주로 데이터 분석, 추이 분석, 통찰력 도출, 리포팅 등의 비즈니스 인텔리전스 작업을 지원합니다.
  • 대량의 데이터를 저장하고, 데이터의 통합, 변환, 정제 작업을 수행합니다.
  • 비즈니스 의사 결정에 도움을 주기 위해 데이터를 다차원적인 형태로 구성하여 질문에 대한 빠른 응답을 제공합니다.
  • 주로 과 데이터와 큰 규모의 데이터 집합을 저장하며, 데이터의 시간적 변화를 분석할 수 있습니다.
  • 예시: 통계 분석, 데이터 마이닝, 비즈니스 인텔리전스 등을 위한 데이터 웨어하우스.

 

1단계 - 2. 데이터 웨어하우스

데이터 웨어하우스는 회사에서 필요한 모든 데이터를 중앙 데이터베이스로 모아놓은 시스템입니다. 주로 SQL 데이터베이스를 사용하며, 데이터의 크기에 따라 적합한 데이터베이스를 선택합니다. 몇 가지 일반적인 선택 사항은 다음과 같습니다.

 

① AWS Redshift, 구글 클라우드의 BigQuery

  • 대규모 데이터베이스 시스템으로, 대량의 데이터 처리와 분석을 위해 설계되었습니다.
  • 많은 양의 데이터를 고속으로 쿼리할 수 있으며, 확장성과 성능에 강점이 있습니다.

스노우플레이크(Snowflake)

  • 클라우드 네이티브 데이터 웨어하우스로, 다양한 데이터 소스의 통합과 분석을 위해 설계되었습니다.
  • 데이터의 분산 처리를 지원하며, 확장성과 유연성에 강점이 있습니다.

③ 오픈소스 기반의 하둡(Hive/Presto) / Spark

  • 대규모 데이터 처리와 분석을 위한 오픈소스 플랫폼입니다.
  • 하둡 기반의 시스템은 데이터를 분산 저장하고 처리하기 때문에 대용량 데이터 처리에 효과적입니다.

이러한 데이터 웨어하우스는 SQL을 지원하므로 데이터 웨어하우스에서 SQL 쿼리를 사용하여 데이터 분석 및 보고 작업을 수행할 수 있습니다.

 

중요한 점은 데이터 웨어하우스가 프로덕션용 데이터베이스와 별개의 시스템이어야 한다는 것입니다. 데이터 웨어하우스는 데이터 분석 및 비즈니스 인텔리전스 작업에 중점을 두고 있으며, 프로덕션 시스템의 운영과 분리되어 있습니다. 이를 통해 데이터의 일관성과 안정성을 유지하고, 분석 작업에 필요한 최적의 구조와 성능을 제공할 수 있습니다.

 

1단계 - 3. ETL(Extract, Transform, Load)이란?

 ETL은 Extract, Transform, Load의 약자로, 데이터 웨어하우스에 데이터를 추출, 변환, 적재하는 과정을 말합니다. ETL은 데이터 파이프라인이라고도 불리며, 다음과 같은 단계로 이루어집니다.

 

Extract (추출)

  • ETL의 첫 번째 단계는 외부 데이터 소스에서 데이터를 추출하는 과정입니다.
  • 다양한 데이터 소스에서 필요한 데이터를 선택하고 추출하여 ETL 프로세스에 사용할 수 있는 형식으로 변환합니다.
  • 데이터 소스는 데이터베이스, 파일, 웹 API 등 다양한 형태일 수 있습니다.

Transform (변환)

  • 추출한 데이터를 데이터 웨어하우스에 적재하기 전에 원하는 형태로 변환합니다.
  • 데이터의 정제, 가공, 형식 변경, 계산, 집계 등 다양한 변환 작업을 수행합니다.
  • 데이터의 일관성을 유지하고, 데이터 품질을 향상시키기 위해 데이터 클리닝, 중복 제거, 정규화 등을 수행할 수 있습니다.

Load (적재)

  • 변환된 데이터를 최종적으로 데이터 웨어하우스에 적재합니다.
  • 적재 과정에서 데이터베이스 테이블에 데이터를 삽입하거나 업데이트하며, 데이터의 일관성과 무결성을 유지합니다.
  • 데이터 웨어하우스의 구조에 맞춰 데이터를 배치하고, 인덱싱과 파티셔닝을 수행하여 데이터 접근과 처리 성능을 최적화합니다.

 

1단계 - 4. ETL(Extract, Transform, Load)과 관련하여 가장 많이 사용되는 프레임워크 - Airflow

Airflow는 파이썬 기반의 오픈소스 프로젝트로, Airbnb에서 개발되었습니다. Airflow를 사용하면 ETL 작업을 스케줄링하고 모니터링할 수 있으며, 워크플로우를 정의하여 데이터 추출, 변환, 적재 작업을 자동화할 수 있습니다. 또한, AWS와 구글 클라우드에서도 Airflow를 지원합니다.

 

또한, ETL과 관련된 SaaS(Software as a Service)도 출현하고 있습니다. 일반적인 데이터 소스에 대해서는 FiveTran, Stitch Data와 같은 SaaS를 사용하여 ETL 작업을 수행할 수 있습니다. 이러한 SaaS 플랫폼은 데이터 추출과 변환 작업을 간편하게 수행할 수 있도록 지원하며, 일부는 실시간 데이터 동기화와 자동 스키마 변환 등의 기능을 제공합니다. 이를 통해 데이터 팀은 별도의 인프라 구축 없이도 빠르고 효율적인 ETL 작업을 수행할 수 있습니다.

 

 

2단계: 데이터 분석 수행

데이터 팀의 발전의 두 번째 단계는 데이터 분석 수행입니다. 데이터 분석은 다양한 내부 및 외부 데이터를 활용하여 지표를 분석하고 시각화와 리포팅 작업을 수행하는 과정입니다. 이러한 작업은 주로 데이터 분석가(Data Analyst)가 수행합니다. 데이터 분석 수행 과정은 다음과 같은 작업을 수행합니다.

 

데이터 수집 및 준비

  • 데이터 분석을 위해 필요한 데이터를 데이터 웨어하우스(또는 마트)에서 추출하여 준비합니다.
  • 필요한 데이터를 쿼리하거나 ETL 프로세스를 통해 데이터를 가공하여 분석에 적합한 형태로 변환합니다.

데이터 분석 및 지표 정의

  • 분석에 필요한 데이터를 기반으로 다양한 분석 기법과 도구를 사용하여 데이터를 탐색하고 분석합니다.
  • 비즈니스 목표에 맞는 지표를 정의하고, 데이터를 기반으로 예측, 트렌드 분석, 성과 분석 등을 수행합니다.

데이터 시각화와 리포팅

  • 분석 결과를 시각화하여 직관적으로 이해하기 쉽도록 표현합니다.
  • 대시보드, 그래프, 차트 등을 활용하여 데이터를 시각화하고 리포팅합니다.
  • 이를 통해 의사 결정자나 조직 내 다른 팀과 데이터 인사이트를 공유하고 커뮤니케이션합니다.

데이터 분석가는 데이터를 다양한 관점에서 분석하여 비즈니스 인텔리전스를 제공하고 의사 결정에 도움을 줍니다. 데이터 분석을 통해 기업은 경영 전략 수립, 제품 개선, 시장 동향 파악 등 다양한 영역에서 가치를 창출할 수 있습니다.

 

2단계 - 1. 시각화 대시보드란?

시각화 대시보드는 중요한 지표를 시간의 흐름과 함께 보여주는 도구입니다. 주로 업무 환경에서 사용되며, 조직 내에서 데이터 분석 결과를 시각적으로 표현하고 실시간으로 모니터링할 수 있습니다. 대시보드는 사용자에게 중요한 지표를 집중적으로 제공하여 의사 결정에 도움을 줍니다. 시각화 대시보드의 특징은 다음과 같습니다.

  1. 중요한 지표 표현: 대시보드는 주로 매출액, 월간/주간 액티브 사용자수 등과 같은 중요한 지표를 시간의 흐름과 함께 보여줍니다. 이러한 지표는 조직의 성과를 측정하고 비즈니스의 상태를 파악하는 데 도움을 줍니다.
  2. 3A (Accessible, Actionable, Auditable): 대시보드의 지표는 접근 가능하고 이해하기 쉬워야 합니다. 또한, 대시보드를 통해 취할 수 있는 조치가 명확하고 실행 가능해야 합니다. 또한, 대시보드의 결과는 검증 가능하고 추적 가능해야 합니다.

가장 널리 사용되는 시각화 대시보드 도구로는 다음과 같은 것들이 있습니다

  • 구글 클라우드의 룩커(Looker)
  • 세일즈포스의 태블로 (Tableau)
  • 마이크로소프트의 파워 BI(Power BI)
  • 오픈소스 아파치 수퍼셋(Superset)

이러한 시각화 대시보드 도구는 사용자에게 데이터를 시각적으로 표현하고 이해하기 쉽게 전달함으로써 데이터 기반 의사 결정을 지원합니다.

 

 

3단계. 데이터 과학 적용

데이터 팀의 발전의 세 번째 단계는 데이터 과학의 적용입니다. 데이터 과학은 머신러닝 및 통계적 기법을 활용하여 데이터에서 인사이트를 추출하고 예측 모델을 개발하는 과정을 말합니다. 이러한 작업은 주로 데이터 과학자(Data Scientist)가 수행합니다. 데이터 과학 적용 과정은 다음과 같은 작업을 수행합니다.

 

데이터 탐색과 전처리

  • 데이터 과학 작업은 데이터의 품질을 평가하고 결측치, 이상치 등을 처리하는 데이터 전처리 작업부터 시작합니다.
  • 데이터를 시각화하고 통계적 분석을 수행하여 데이터의 특성과 패턴을 이해합니다.

머신러닝 모델 개발

  • 데이터 과학자는 머신러닝 알고리즘을 사용하여 예측 모델을 개발합니다.
  • 데이터 특성에 맞는 모델을 선택하고 훈련 데이터를 사용하여 모델을 학습시킵니다.
  • 모델의 성능을 평가하고 필요에 따라 모델을 튜닝하고 최적화합니다.

예측 및 개인화

  • 개발된 머신러닝 모델을 사용하여 예측을 수행하고 개인화 서비스를 제공합니다.
  • 예를 들어, 사용자에게 개인화된 추천, 검색 결과, 마케팅 캠페인 등을 제공할 수 있습니다.

데이터 과학은 데이터를 활용하여 예측, 최적화, 분류 등 다양한 과제를 해결하는 데 활용됩니다. 데이터 과학의 적용은 비즈니스에 가치를 제공하고 사용자 경험을 개선하는 데 도움을 줍니다. 데이터 과학자는 도메인 지식과 분석 기술을 통해 데이터를 해석하고 기업에 유용한 인사이트를 도출합니다.

 

3단계 - 1. 머신 러닝(Machine Learning)이란?

 머신 러닝(Machine Learning)은 프로그래밍 없이 컴퓨터가 학습할 수 있는 알고리즘의 개발과 연구를 의미합니다. 머신 러닝은 컴퓨터가 데이터를 통해 패턴을 찾고 예측, 분류, 최적화 등 다양한 작업을 수행할 수 있게 합니다. 머신 러닝의 주요 특징은 다음과 같습니다:

  1. 학습 기반 접근: 머신 러닝은 데이터를 사용하여 컴퓨터가 학습하는 접근 방식입니다. 데이터를 입력으로 주고, 알고리즘이 데이터에서 패턴을 추출하고 학습합니다. 이러한 학습을 통해 모델이 새로운 입력에 대해 예측하거나 결정을 내릴 수 있습니다.
  2. 데이터의 품질과 크기: 머신 러닝 모델의 성능은 사용되는 데이터의 품질과 크기에 크게 의존합니다. 더 많은 데이터와 더 정확하고 다양한 데이터를 사용할수록 모델의 성능이 향상될 수 있습니다.
  3. 데이터에 의한 왜곡 (bias): 데이터는 현실 세계를 반영하며, 데이터의 수집과 처리 과정에서 편향(bias)이 발생할 수 있습니다. 이는 모델의 예측에 영향을 미칠 수 있으며, 데이터의 편향을 관리하고 고려하는 것이 중요합니다. 
  4. 내부동작 설명 가능성: 머신 러닝 모델은 종종 블랙박스로 간주됩니다. 즉, 모델이 어떻게 작동하는지 명확히 설명하기 어렵습니다. 하지만 모델의 내부 동작을 이해하고 설명할 수 있는 능력은 모델의 신뢰성과 책임성을 높일 수 있습니다. 따라서 ML Explainability(머신 러닝의 내부동작 설명 가능성)은 중요한 주제로 부상하고 있습니다.

 

 

 

4. 데이터 팀에는 누가 있는가?

 데이터 팀은 조직의 크기와 업무 범위에 따라 다양한 역할을 수행하는 전문가들로 구성될 수 있습니다. 일반적으로 데이터 팀에는 다음과 같은 역할이 포함될 수 있습니다.

 

데이터 엔지니어 (Data Engineer)

  • 데이터 인프라 (데이터 웨어하우스 및 ETL 파이프라인)를 구축하고 유지 관리합니다.
  • 데이터 플랫폼 및 시스템을 설계하고 개발하여 데이터의 효율적인 저장, 처리 및 전송을 관리합니다.
  • 데이터 파이프라인을 구축하여 데이터를 추출, 변환 및 적재(ETL)하여 데이터 웨어하우스에 저장합니다.

데이터 분석가 (Data Analyst)

  • 데이터 웨어하우스의 데이터를 기반으로 분석을 수행하여 인사이트를 도출합니다.
  • 지표를 정의하고 데이터를 시각화하여 대시보드 및 리포트를 작성합니다.
  • 내부 직원들의 데이터 관련 질문에 대답하고 데이터에 기반한 의사 결정을 지원합니다.

데이터 과학자 (Data Scientist)

  • 과거 데이터를 기반으로 머신 러닝 및 통계 모델을 개발하여 예측, 분류, 추천 등의 작업을 수행합니다.
  • 데이터를 분석하고 모델을 구축하여 고객 서비스 경험을 개선하는데 활용합니다
  • 데이터에 기반한 문제 해결을 위해 데이터를 탐색하고 가설을 검증하는 실험을 설계합니다.

데이터 팀의 구성원은 상황에 따라 다를 수 있으며, 작은 회사에서는 한 사람이 여러 역할을 수행할 수도 있습니다. 또한, 추가적인 역할이나 전문성이 필요한 경우 데이터 엔지니어링 매니저, 데이터 과학 매니저 등의 역할도 데이터 팀에 포함될 수 있습니다.

 

4 - 1) 데이터 엔지니어의 역할

 데이터 엔지니어는 데이터 팀에서 중요한 역할을 수행하는 소프트웨어 엔지니어입니다. 다음은 데이터 엔지니어의 주요 역할과 관련된 내용입니다

 

소프트웨어 엔지니어링

  • 데이터 엔지니어는 소프트웨어 엔지니어로서의 역할을 수행합니다. 파이썬은 데이터 엔지니어링에서 가장 일반적으로 사용되는 언어이지만, 자바나 스칼라와 같은 다른 언어도 알고 있는 것이 좋습니다. 데이터 처리와 관련된 기술과 도구에 대한 이해와 숙련도를 갖추어야 합니다.

데이터 웨어하우스 구축

  • 데이터 엔지니어는 데이터 웨어하우스를 구축하고 관리하는 역할을 맡습니다. 데이터 웨어하우스를 클라우드 환경으로 구축하는 것이 점점 더 일반적이며, AWS의 Redshift, 구글 클라우드의 BigQuery, 스노우플레이크 등의 플랫폼을 사용합니다.
  • ETL(Extract, Transform, Load) 코드를 작성하고 주기적으로 실행하여 데이터를 추출하고 변환한 후 데이터 웨어하우스에 적재하는 작업이 중요합니다. 이를 위해 ETL 스케줄러나 프레임워크를 사용하여 자동화합니다. 예를 들면, Airflow는 데이터 엔지니어링에서 널리 사용되는 오픈소스 프레임워크입니다.

데이터 분석가 및 데이터 과학자 지원

  • 데이터 엔지니어는 데이터 분석가나 데이터 과학자들과 협업하여 필요한 도구나 데이터를 제공합니다. 데이터 분석가와 과학자들은 데이터 웨어하우스에 접근하여 분석 작업을 수행하고 머신 러닝 모델을 구축하는데 필요한 데이터를 요청할 수 있습니다. 데이터 엔지니어는 이러한 요청에 대응하여 필요한 데이터를 추출하고 적절한 형식으로 제공합니다.

데이터 엔지니어는 데이터 팀의 핵심 구성원으로서 데이터 웨어하우스의 구축과 관리, ETL 작업의 자동화, 그리고 데이터 분석가 및 데이터 과학자와의 협업을 통해 데이터 팀의 성과에 기여합니다.

 

데이터 엔지니어로서 필요한 기술과 지식에는 다양한 요소가 포함됩니다. 다음은 데이터 엔지니어가 알아야 하는 주요 기술들입니다

  1. SQL: 데이터베이스와 상호 작용하고 데이터를 추출하고 조작하는 데 필요한 기본 SQL 지식입니다. 또한 Hive, Presto, SparkSQL 등과 같은 다양한 SQL 기반 도구를 이해하고 활용할 수 있어야 합니다.
  2. 프로그래밍 언어: 파이썬, 스칼라, 자바와 같은 프로그래밍 언어의 이해와 숙련도가 필요합니다. 이를 통해 데이터 처리, ETL 작업, 자동화 스크립트 작성 등을 수행할 수 있습니다.
  3. 데이터 웨어하우스: 데이터 웨어하우스 플랫폼인 Redshift, Snowflake, BigQuery 등을 이해하고 사용할 수 있어야 합니다. 이를 통해 대용량 데이터의 저장과 쿼리 작업을 관리할 수 있습니다.
  4. ETL/ELT 프레임워크: 데이터 추출, 변환 및 적재 작업을 자동화하기 위해 ETL/ELT 프레임워크인 Airflow 등을 이해하고 사용할 수 있어야 합니다.
  5. 대용량 데이터 처리 플랫폼: Spark, YARN과 같은 대용량 데이터 처리 플랫폼의 이해와 사용법이 필요합니다. 이를 통해 대규모 데이터 처리 작업을 효율적으로 수행할 수 있습니다.
  6. 컨테이너 기술: Docker와 Kubernetes (K8s)와 같은 컨테이너 기술을 이해하고 활용할 수 있으면, 데이터 엔지니어링 작업의 효율성과 확장성을 높일 수 있습니다.
  7. 클라우드 컴퓨팅: 주요 클라우드 플랫폼인 AWS, GCP, Azure 등을 이해하고 사용할 수 있어야 합니다. 클라우드 기반의 데이터 처리, 저장 및 관리 작업을 수행할 수 있어야 합니다.
  8. 기타 지식: 일반적인 머신 러닝 지식, A/B 테스트, 통계 등과 같은 지식도 도움이 됩니다. 데이터 엔지니어의 역할이 확장되어 MLOps나 ML Engineer로 진출할 수도 있으므로, 머신 러닝과 관련된 지식도 유용합니다.

데이터 엔지니어링에는 다양한 기술과 도구가 필요하며, 이를 숙련하고 익히기 위해 지속적인 학습과 경험이 필요합니다. 데이터 엔지니어 스킬 로드맵인 https://github.com/datastacktv/data-engineer-roadmap은 데이터 엔지니어가 습득해야 할 기술과 학습 자료를 참고할 수 있는 좋은 자료입니다.

 

4 - 2) 데이터 분석가의 역할

데이터 분석가는 주로 코딩을 하지는 않지만, 데이터 추출 및 전처리를 위해 SQL과 파이썬 등의 프로그래밍 언어를 사용할 수 있으면 유용합니다.

 

비지니스 인텔리전스(BI)

  • 중요 지표를 정의하고 이를 시각화하여 대시보드를 생성하고, 이를 통해 비즈니스의 상황과 성과를 파악하고 의사 결정에 도움을 줍니다
  • 주로 태블로, 룩커, 파워 BI, 수퍼셋 등의 대시보드 툴을 사용하며, 엑셀, 구글 스프레드시트, 파이썬 등의 도구도 활용할 수 있습니다.

데이터 관련 질문 응답

  • 회사 내 다른 팀이나 임원들의 데이터 관련 질문에 대답하고, 데이터 기반의 의사 결정을 도와줍니다.
  • 이를 위해서는 셀프서비스 기능을 제공하여 직접 데이터를 탐색하고 분석할 수 있는 방법을 마련하는 것이 중요합니다.

데이터 분석가가 알아야 하는 주요 기술과 지식은 다음과 같습니다

  1. SQL: 기본적인 SQL 문법을 이해하고 활용할 수 있어야 합니다. Hive, Presto, SparkSQL 등과 같은 SQL 기반 도구도 알아두면 좋습니다.
  2. 대시보드: 대시보드 도구인 룩커, 태블로, 파워 BI, 수퍼셋 등의 사용법을 숙지해야 합니다. 또한 엑셀, 구글 스프레드시트, 파이썬과 같은 도구로도 대시보드를 구축할 수 있어야 합니다.
  3. 데이터 모델링: 데이터 모델링 기법과 개념을 이해하고 데이터를 구조화할 수 있어야 합니다. 이를 통해 데이터의 의미와 관계를 파악하고 분석에 활용할 수 있습니다.
  4. 통계 지식: AB 테스트 분석이나 다양한 데이터 분석 작업에서 통계 지식은 매우 유용합니다. 통계적인 가설 검정, 신뢰구간 등의 개념을 이해하고 활용할 수 있어야 합니다.
  5. 비즈니스 도메인에 대한 깊은 지식: 해당 비즈니스 도메인에 대한 이해가 있어야 데이터 분석 결과를 적절하게 해석하고 비즈니스에 적용할 수 있습니다. 비즈니스 요구사항과 목표를 이해하고 분석에 반영할 수 있는 능력이 필요합니다.
  6. 지표 정의 능력: 비즈니스 목표와 요구사항에 맞는 좋은 지표를 정의할 수 있어야 합니다. 지표는 비즈니스의 성과를 측정하고 추적하기 위해 중요한 역할을 합니다.

데이터 분석가가 직면하는 일반적인 딜레마에는 다음과 같은 요소들이 있습니다

  1. 긴급한 데이터 관련 질문: 데이터 분석가는 다양한 팀이나 임원들로부터 긴급한 데이터 관련 질문에 응대해야 합니다. 이러한 요구는 일상적으로 발생하며, 이를 처리하기 위해 셀프서비스 기능이나 적절한 도구를 활용하여 질문에 빠르게 답변할 수 있어야 합니다.
  2. 데이터 인프라의 중요성: 데이터 분석가는 좋은 데이터 인프라 없이는 효과적인 분석을 수행하기 어렵습니다. 데이터 웨어하우스, ETL 프로세스, 데이터 품질 관리 등을 구축하고 유지 관리하는데 주력해야 합니다
  3. 현업팀 소속: 일부 데이터 분석가는 특정 현업팀에 소속되어 작업하며, 이는 조직 구조와 관련이 있을 수 있습니다. 이 경우 조직 내에서의 역할과 책임, 커리어 경로, 평가 기준 등이 불분명할 수 있으며, 소속감을 느끼기 어려울 수 있습니다.
  4. 조직 구조의 중요성: 데이터 분석가의 역할과 성과를 제대로 평가하고 인정받기 위해서는 조직 구조가 중요합니다. 분석 업무를 적절하게 할당하고 역량을 인정하는 조직 문화, 커리어 경로와 성과 평가 체계의 명확성이 필요합니다.

이러한 딜레마를 극복하기 위해서는 조직 내에서 데이터 문화를 확립하고 데이터 분석 업무에 대한 역할과 책임을 명확히 정의해야 합니다. 또한, 데이터 인프라를 강화하고 효율적인 업무 프로세스를 구축하여 데이터 분석가가 고유의 역할을 충실히 수행할 수 있도록 지원해야 합니다.

 

 

 

5. 어떤 새로운 직군들 혹은 뜨는 서비스들이 있는가?

1) MLOps

1) - 1. MLOps란 무슨 일을 하는가?

MLOps는 Machine Learning Operations의 줄임말로, 기계 학습 모델을 효율적으로 관리하기 위한 프로세스와 관련된 일련의 활동을 포함합니다. MLOps는 DevOps의 원칙과 방법론을 기계 학습 모델 개발과 운영에 적용하여 모델의 빌드, 배포, 모니터링 및 유지보수를 자동화하고 효율적으로 관리합니다.

 

 DevOps는 소프트웨어 개발과 운영의 협업을 강조하는 개발 방법론으로, 개발자가 개발한 코드를 시스템에 반영하는 프로세스인 CI/CD (Continuous Integration/Continuous Deployment)를 포함합니다. 또한, 시스템의 정상 동작 여부를 모니터링하고 이슈가 발생할 경우 적절한 조치를 취하는 프로세스인 On-call을 수행합니다.

 

 MLOps는 이와 유사한 개념이지만, 서비스 코드 대신 기계 학습 모델이 대상입니다. MLOps는 지속적인 모델 빌딩과 배포를 자동화하고, 모델의 성능을 모니터링하여 필요한 경우 모델을 업데이트하고 배포합니다. 이를 위해 모델 빌딩과 배포 과정을 자동화하여 모델 생명주기 관리를 개선하고, 모델 서빙 환경에서의 성능 저하를 감지하고 대응하기 위한 모니터링과 이슈 해결 프로세스를 수행합니다.

 

 MLOps의 목표는 기계 학습 모델을 효율적으로 운영하여 모델의 신뢰성, 안정성, 확장성을 확보하는 것입니다. 이를 위해 자동화된 프로세스와 도구를 활용하여 모델의 생명주기를 관리하고, 실시간 모니터링을 통해 성능 이슈를 식별하고 대응합니다.

 

1) - 2. MLOps 엔지니어가 알아야하는 기술

 MLOps 엔지니어는 다양한 기술과 지식을 보유해야 합니다. 일부 기술은 데이터 엔지니어와 DevOps 엔지니어가 알아야 하는 기술과 유사하며, 머신러닝과 관련된 경험과 지식도 필요합니다. 다음은 MLOps 엔지니어가 알아야 하는 주요 기술입니다.

  1. 프로그래밍 언어: 파이썬은 주로 사용되며, 스칼라와 자바 등의 언어도 유용합니다. 프로그래밍 언어를 통해 모델 개발 및 자동화된 프로세스 구현에 필요한 작업을 수행합니다.
  2. 데이터 파이프라인과 데이터 웨어하우스: 데이터 엔지니어링과 관련된 기술과 도구를 이해하고 활용할 수 있어야 합니다. 데이터 파이프라인과 데이터 웨어하우스를 구축하고 관리하여 데이터의 효율적인 흐름과 저장을 보장합니다.
  3. CI/CD와 서비스 모니터링: DevOps 엔지니어가 알아야 하는 기술과 유사하게, CI/CD (Continuous Integration/Continuous Deployment) 프로세스를 구현하고, 서비스 모니터링을 위한 도구와 기술을 활용합니다.
  4. 컨테이너 기술: 컨테이너 기술인 Docker와 관리 플랫폼인 Kubernetes (K8s)를 이해하고 활용할 수 있어야 합니다. 컨테이너를 사용하여 모델과 관련된 환경을 캡슐화하고 배포합니다.
  5. 클라우드: 주요 클라우드 서비스인 AWS, GCP, Azure 등의 지식을 보유해야 합니다. 클라우드 환경에서 모델의 배포, 관리, 확장성을 구현하고 모니터링합니다.
  6. 머신러닝 관련 경험/지식: MLOps 엔지니어는 머신러닝 모델 빌딩과 배포에 대한 경험과 지식을 갖추어야 합니다. 머신러닝 모델을 개발하고 서비스에 통합하기 위한 프레임워크와 도구를 사용하는 경험이 유용합니다. 예를 들어, Amazon SageMaker, Kubeflow, MLflow 등의 도구를 활용할 수 있습니다.

MLOps 엔지니어는 이러한 다양한 기술과 지식을 활용하여 머신러닝 모델의 개발, 배포, 모니터링 및 관리를 자동화하고, 안정적이고 확장 가능한 ML 시스템을 유지보수합니다.

 

 

2) 프라이버시 엔지니어

 프라이버시 엔지니어는 전체 시스템에서 개인정보 보호를 위한 가이드라인과 툴을 제공하는 역할을 수행합니다. 개인정보란 개인을 식별할 수 있는 정보를 의미하며, 데이터 시스템에서 개인정보 보호는 매우 중요한 요소입니다.

 

 개인 정보 보호 법안의 징벌 조항은 점점 강화되고 있으며, 정보 주체의 권리를 강화하는 방향으로도 변화하고 있습니다. GDPR (General Data Protection Regulation)는 유럽 연합에서 시행되는 개인정보 보호 법규로, 개인정보 처리에 대한 규정을 포함하고 있습니다. HIPAA (건강보험 이전 및 책임에 관한 법률)는 미국에서 의료 관련 개인정보 보호를 위해 시행되는 법률입니다. 또한, 캘리포니아 소비자 개인정보 보호 법안인 CCPR (California Consumer Privacy Act)도 미국 캘리포니아 지역에서 개인정보 보호를 강화하는 법안입니다.

 

 프라이버시 엔지니어는 이러한 개인정보 보호 법안과 규정을 준수하며, 시스템 내에서 개인정보 보호를 위한 가이드라인과 툴을 제공하여 개인정보의 안전성을 확보합니다. 이는 데이터 시스템에서 더욱 중요한 역할을 수행하고 있습니다

 

 

3) 데이터 디스커버리 (Data Discovery)

 데이터 디스커버리(Data Discovery)는 데이터 팀이 커지면서 필요한 서비스로, 별도의 전문 직군은 아니지만 데이터 관련 팀에서 중요한 역할을 수행합니다.

 

 데이터가 증가하면 테이블과 대시보드의 수도 증가하게 되는데, 이로 인해 데이터 분석 시 어느 테이블이나 대시보드를 참조해야 하는지 혼란이 생길 수 있습니다. 이러한 혼란은 때로는 새로운 테이블이나 대시보드를 생성하여 문제를 해결하려는 경향을 가지게 합니다. 하지만 이는 정보 과잉 문제를 야기할 수 있는 악순환을 초래할 수 있습니다. 따라서 주기적인 테이블과 대시보드의 정리와 클린업이 필수적입니다.

 

 데이터 디스커버리는 이러한 문제를 해결하기 위해 테이블과 대시보드를 관련하여 검색할 수 있는 서비스를 제공합니다. 몇 가지 예시로는 리프트에서 개발한 아문센(Amundsen), 링크드인에서 개발한 데이터허브(DataHub), 그리고 셀렉트스타(SelectStar) 등이 있습니다. 이러한 도구들은 데이터 팀이 데이터를 효율적으로 찾고 활용할 수 있도록 도와줍니다.

 

 

반응형