ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [직무탐색] Upstream, Downstream 이해 관계자
    <견고한 데이터 엔지니어링> 2023. 7. 20. 13:56
    728x90

    (<견고한 데이터 엔지니어링> 서적을 참고했습니다.)

    * External Engineer

    : 소셜 미디어 앱, IoT 장치, 전자 상거래 플랫폼과 같은 외부 애플리케이션의 사용자와 연계하며, 이러한 애플리케이션에서 발생하는 트랜잭션 및 이벤트 데이터를 수집/저장/처리하는 시스템을 설계, 구축, 관리한다. 이러한 데이터 엔지니어가 구축한 시스템에는 애플리케이션에서 데이터 파이프라인으로, 그리고 다시 애플리케이션으로 향하는 피드백 루프가 있다. 

    [External Engineer가 가져야할 문제의식]

    1. 외부 대면 쿼리 엔진은 내부 대면 시스템보다 훨씬 더 큰 동시성 부하를 처리하는 경우가 많아. 사용자가 실행할 수 있는 쿼리에 엄격한 제한을 두어 단일 사용자가 인프라에 미치는 영향을 제한해야 한다

    2. 보안은 외부 쿼리에서 훨씬 더 복잡하고 민감한 문제.

    Ex) 많은 고객의 데이터가 단일 테이블에 저장하는 멀티테넌트의 경우

     

    *Internal Engineer

    : 비즈니스 및 내부 이해관계자의 요구 사항에 중요한 활동에 집중한다.

    -> BI 대시보드, 보고서, 비즈니스 프로세스, 데이터 과학, ML 모델용 데이터 파이프라인과 데이터 웨어하우스의 생성 및 유지 보수 등이 포함

    - Data producer :  소프트웨어 엔지니어, 데이터 아키텍트, 데브옵스 엔지니어/ 사이트 신뢰성 엔지니어

    - Data consumer : 데이터 분석가, 데이터 과학자, ML 엔지니어

    데이터 엔지니어는 데이터 생산자와 데이터 소비자 사이에서 허브 역할을 담당

     

    업스트림 이해관계자

    설계 중인 데이터 아키텍처와, 데이터를 생성하는 원천 시스템을 이해해야.

    1. 데이터 아키텍트 

    데이터 엔지니어와 매우 비슷한 추상화 수준에서 역할 수행. 조직 내 데이터 관리를 위한 청사진을 설계하고, 프로세스와 전체 데이터 아키텍처 및 시스템을 매핑한다. 또한 조직의 기술적 측면과 비기술적 측면을 연결하는 가교 역할을 수행하며, 비기술적인 비즈니스 관계자에게 엔지니어링 과제를 성공적으로 전달하는 동안 엔지니어를 안내하고 지원할 수 있다. 사일로(silo, 조직 내 부서 간 장벽/ 부서 이기주의). 및 사업부 전체에 걸쳐 데이터를 관리하는 정책을 구현하고, 데이터 관리 및 데이터 거버넌스와 같은 글로벌 전략을 조율하며, 중요한 이니셔티브를 안내한다.(Cloud migration / 신규 클라우드 설계)

    2. 소프트웨어 엔지니어

    비즈니스를 운영하는 소프트웨어와 시스템을 구축한다. 데이터 엔지니어가 소비하고 처리하는 내부 데이터의 생성 업무에 큰 책임이 있다. 소프트웨어 엔지니어가 구축한 시스템은 보통 애플리케이션 이벤트 데이터와 로그를 생성하는데, 그 자체로 중요한 자산이다(이런 내부 데이터는 SaaS 플랫폼 또는 파트너 비즈니스에서 가져온 외부 데이터와 대조). 잘 운영되는 기술 조직에서는 소프트웨어 엔지니어와 데이터 엔지니어가 분석 및 ML 애플리케이션에서 사용할 애플리케이션 데이터를 설계하고자 신규 프로젝트의 시작 단계부터 협업을 진행한다.

    *데이터 소프트웨어 엔지니어가 작업을 수행하는 데 필요한 사항에 대한 업스트림 기대치를 설정 : 데이터 엔지니어는 소프트웨어 엔지니어와 협력하여 데이터를 생성하는 애플리케이션과 생성된 데이터의 양, 빈도, 형식, 데이터 보안 및 규정 준수와 같은 데이터 엔지니어링 수명 주기에 영향을 미치는 기타 모든 사항을 파악해야 한다. 

    3. 데브옵스 엔지니어와 사이트 신뢰성 엔지니어

    이들은 종종 운영 모니터링을 통해 데이터를 생성한다. 대시보드를 통해 데이터 시스템 운영 조정 시 데이터 엔지니어와 직접 소통하는 다운스트림이 될 수도 있다.

     

    다운스트림 이해관계자

    1. 데이터 과학자

    예측과 추천을 위한 미래 지향적인 모델을 구축한다. 그런 다음 이 모델을 라이브 데이터로 평가해 다양한 방식으로 가치를 제공한다. 예로 모델 스코어링은 실시간 조건에 대응해 자동화된 작업을 결정하고, 현재 세션의 검색 기록에 기반해 고객에게 제품을 추천하거나 트레이더가 사용하는 실시간 경제 예측을 할 수 있다. 데이터 과학자는 데이터 수집, 정제, 준비 과정에서 업무 시간의 70~80%를 소비한다. 이들에게 널리 사용되는 수많은 데이터 과학 프레임워크는 적절히 확장되지 않으면 병목 현상이 일어날 수 있다. 단일 워크스테이션에서 작업하는 데이터 과학자는 데이터 다운샘플링을 강요당해 데이터 준비가 복잡해지고, 만들어낸 모델의 품질이 저하될 가능성이 있다. 또 로컬에서 개발된 코드와 환경은 실제 운영 환경에서 배포하기 어렵고, 자동화 부족 시 데이터 과학 워크플로에 크게 방해가 된다. 데이터 엔지니어는 이 작업(데이터 수집 및 정제/준비)을 가능한 자동화해야 한다.

    2. 데이터 분석가

    데이터 분석가는 비즈니스 성과와 동향을 파악하고자 한다. 데이터 과학자가 미래지향적이라면 데이터 분석가는 보통 과거 또는 현재에 초점을 맞춘다. 데이터 분석가는 일반적으로 데이터 웨어하우스 또는 데이터 레이크에서 SQL 쿼리를 실행한다. 또한 계산 및 분석을 위해 스프레드시트를 활용하며 마이크로소프트 파워 BI, 루커, 태플로 등 다양한 BI 도구를 사용할 수 도 있다. 이들은 자주 사용하는 데이터의 도메인 전문가로서 데이터 정의, 특징 및 품질 문제에 정통하다. 데이터 분석가의 일반적인 다운스트림 고객은 비즈니스 사용자, 경영진 및 임원이다.

    3. 머신러닝 엔지니어와 인공지능 연구원

    머신러닝 엔지니어는 고급 ML 기술을 개발하고 모델을 훈련하며, 확장된 운영 환경에서 ML 프로세스를 실행하는 인프라를 설계하고 유지 및 관리한다. 종종 ML과 파이토치, 텐서플로와 같은 딥러닝 기술 및 프레임워크에 대한 고급 실무 지식을 갖추고 있다. 운영 환경에서의 모델 훈련과 모델 배포를 위해 이러한 프레임워크를 실행하는 데 필요한 하드웨어와 서비스 및 시스템을 이해한다. ML 워크플로는 보통 ML 엔지니어가 온디맨드 방식으로 인프라 자원을 스핀업하고 확장하거나 관리형 서비스에 의존할 수 있는 클라우드 환경에서 실행된다.

     

     

    728x90
Designed by Tistory.