데이터 엔지니어링 기초

Jaewon Lim·2024년 12월 18일

데이터 분석 파이프라인 구축

  • 기업이 제일 관심있고 알아야하는 영역은 고객의 마음을 읽는 일

분석에 사용된 클라우드 기반 서비스
1. Google Analysis : 고객 행동 데이터 분석 플랫폼
2. Google Big Query : 하나의 플랫폼으로 데이터 저장, 처리, 분석 All-in-one
3. Looker Studio : Google Big Query 와 연동하여 데이터 시각화(협업 및 보고서 작성)
4. Airflow : 내외부 데이터 통합 및 데이터 파이프라인 자동화

  • 데이터를 수집,저장,처리하고 전달 하는 시스템(데이터 파이프라인)을 설계하고 최적화
  • 데이터를 효율적으로 관리하고 분석 및 비즈니스 의사결정에 사용할 수 있도록 준비

데이터 파이프라인 설계

  • 데이터를 원천(source)에서 가져와(Extract), 필요에 따라 변환(Transform)한 뒤 저장소(Storage)에 적재(Load)하거나 분석 도구로 전달하는 과정
  • ex) 웹 사이트 로그 데이터를 실시간으로 분석 가능한 형태로 클라우드 데이터베이스에 저장

데이터 인프라 관리

  • 데이터 웨어하우스(BigQuery, Snowflake)나 데이터레이크(AWS S3, Hadoop) 설정

ETL vs ELT vs Reverse ETL

ETL

  • 조직이 다양한 소스에서 데이터를 추출하여 단일 데이터베이스로 가져오는 데 도움이 되는 데이터 통합 프로세스로 데이터를 추출(E), 변환(T), 적재(L) 순으로 데이터를 처리하는 프로세스이며, 관계형 SQL 기반 데이터 구조만 허용

1. 장점

  • 데이터를 구조화/변환한 후 ETL을 사용하면 보다 빠르고 효율적이며 안정적인 데이터 분석이 가능하다
  • 관계형 SQL 기반 데이터로 변환하여 GDPR, HIPAA 및 CCPA 와 같은 데이터 개인 정보 보호 및 보호 규정을 준수할 수 잇다.
  • 정교한 데이터 변환을 수행할 수 있다.
  • 20년 이상 사용된 프로세스

2. 단점

  • 데이터를 변환하여 과정의 시간이 다소 소요되어 데이터 수집 프로세스를 더 느리게 만든다.
  • ETL 프로세스를 설정하는 초기 비용은 프로젝트에 필요한 프로세스와 변환을 정의해야 할 수 있으므로 높을 수 있다.
  • ETL 프로세스를 지속적으로 유지 관리하고, 다른 데이터 유형을 요구할 경우 변경하는 입력 소스를 최신 상태로 유지해야하기 때문에 유지보수가 필요하다.

ELT

  • 데이터를 추출(E), 로드(L), 변환(T)을 하는 프로세스를 의미하며, 데이터 로드 후 변환하기 때문에 별도의 스테이징 서버가 필요하지 않다.

1. 장점

  • 클라우드 기반으로 스키마 변경과 같은 작업을 자동화하므로 유지 관리가 최소화된다.
  • 정형,비정형,반정형 데이터 유형의 모든 데이터 타입을 활용할 수 있다.
  • 클라우드에서 스토리지를 빠르게 확장할 수 있어 대규모의 데이터를 수집 관리할 수 있다.
  • 데이터를 적제 후 변환하기 때문에 데이터 로드 시간이 짧다.

2. 단점

  • 데이터 보안은 스토리지에 대량의 우너시 데이터를 로드하기 때문에 개인정보보호규정 및 규정준수 규칙에 문제가 될 수 있다.
  • 모든 데이터를 저장하고 다양한 사용자와 애플리케이션이 액세스할 수 있도록 하면 보안 위험이 따른다.

ETL vs ELT

  • 한 데이터 환경에서 데이터를 가져와 다른 데이터 환경에 둘 때, ETL은 먼저 소스에서 데이터를 추출하고, 분석가가 보고서나 대시보드에서 사용할 수있는 데이터 모델로 변환 후, 마지막으로 DW에 저장하는 데이터 파이프라인이다. ELT는 두번째 단계에서 타깃 DW로 바로 전송한 뒤 타깃 DW에서 데이터를 정렬 및 표준화한다.
  • ELT에선 사용 목적 달라져도 원본 재로드 없이 효율성 향상. ELT의 장점 중 하나는 데이터가 어떻게 사용될지 결정된 후 데이터를 변환함으로써 작업 효율을 향상시키는 것이다. 일반적으로 ETL 파이프라인을 구축할 때 데이터 엔지니어와 분석가는 가장 먼저 컬럼들 간 관계, 데이터 포맷 등을 규정하는 스키마부터 정의한다. 이후 데이터 파이프라인을 구축하고, 해당 데이터 파이프라인을 관리하며 유지보수한다. ETL 프로세스에서 데이터를 처리/변환하고 로드한 후 읽을 때 처음에 정의한 스키마로 돌아간다.
ETLELT
프로세스추출, 변환, 적재추출, 적재, 변환
자료구조전처리 된 데이터 / 데이터 웨어하우스 지원원천 데이터 (Raw Data) / 데이터 레이크 지원
데이터 활용목적현재 사용 중미결정 상태
접근성변경하기 쉽지 않고 비용도 많이 소요됨.접근성 높고 신속한 업데이트
사용자비즈니스 현업 전문가데이터 과학자
제공시기20년 이상 사용된 잘 개발된 프로세스이며 ETL 전문가를 쉽게 사용할 수 있습니다.새로운 기술로 ETL 파이프라인에 비해 전문가를 찾기가 어렵습니다.
시스템의 데이터 가용성데이터 웨어하우스 및 ETL 프로세스를 생성할 때 필요하다고 결정한 데이터만 변환하고 로드합니다.모든 데이터를 즉시 로드할 수 있으며 사용자는 나중에 변환 및 분석할 데이터를 결정할 수 있습니다.
데이터 지원관계형 SQL 기반 구조정형, 비정형 등 모든 데이터 유형을 수집
규정 준수민감한 정보를 데이터 웨어하우스에 넣기 전에 수정하고 제거하기 때문에 GDPR, HIPAA 및 CCPA 규정 준수 표준을 더 쉽게 충족할 수 있습니다. 또한 해킹 및 부주의한 노출로부터 데이터를 보호합니다.민감한 정보를 수정/제거하기 전에 데이터를 업로드하므로, GDPR, HIPAA 및 CCPA 표준을 위반할 수 있습니다.
데이터 크기소량의 데이터로 정교한 데이터 변환에 사용대용량 데이터에 사용
정보 로드 대기 시간적재 후 데이터 변환에 다소 시간이 걸리며, ELT보다 느립니다. 그러나 데이터가 로드되면 정보 분석이 ELT보다 빠릅니다.변환을 기다릴 필요가 없고 데이터가 대상 데이터 시스템에 한 번만 로드되기 때문에 데이터를 빠르게 처리 할 수 있습니다. 그러나 정보 분석은 ETL보다 느립니다.
유지보수프로세스의 지속적인 유지 관리가 필요하다.클라우드 기반이며 자동화된 솔루션을 통합하므로 유지 관리가 거의 필요가 없다.

Reverse ETL

  • 소스시스템(DL,DW)에서 데이터를 추출하고 변환한 다음 대상 시스템(SaaS 플랫폼, 마케팅 도구, CRM) 등 비즈니스 애플리케이션으로 데이터를 복제해 되돌려 보내는 것이다.
  • 기업 내 보안과 개인정보 보호 규칙이 정한 범위 내에서 타 부서의 데이터에 접근할 수 있다. 영업대표는 고객 서비스 부서의 데이터에 접근해 VIP 고객의 클레임을 확인하고, 특정 지녁 고객들의 불만이나 문의 사항을 취합해 해당 지역에 특화된 영업 전술을 수립할 수 있다.

1. 장점

  • 향상된 데이터 통합, 향상된 데이터 정리, 향상된 효율성, 더 나은 의사 결정
  • 빠른 데이터 기반 의사 결정 : 회사에서 마케팅, 영업, 재무, 지원 또는 제품과 같은 부서 또는 비즈니스 팀이 주로 관련 비즈니스 도구를 운영하는 데 관심이 있다. Reverse ETL은 고품질의 형식화된 비즈니스 데이터에 대한 실시간 액세스를 제공하여 빠른 결정을 내릴 수 있도록한다. 데이터 웨어하우스에 액세스하기 위해 기다릴 필요가 없음.
  • 데이터 통합 : Reverse ETL을 사용하면 비즈니스 팀이 여러 소스의 데이터를 통합하여 데이터를 폭 넓게 볼 수 있다. 예를 들어 고객 데이터는 Looker에서 사용할 수 있지만 영업팀은 Salesforce CRM에서 이 데이터를 필요로 한다. 이를 통해 더 나은 고객 보고를 위해 데이터를 Salesforce로 가져올 수 있다.
  • 향상된 운영 효율성 : 데이터 통합 파이프라인과 관련된 많은 비즈니스 작업을 자동화하고 데이터 사일로를 방지하여 시간을 절약하고 오류 위험을 줄인다.

2. 데이터 통합 파이프라인 향상

  • 일반적으로 데이터 기반 비즈니스는 서로 다른 소스에서 데이터를 추출하고 단일 스토리지에 통합하고 분석을 위해 변환하여 기존의 단방향 데이터를 통합 수행. 기업에 비즈니스 데이터에 대한 더 넓은 관점을 제공한다. 데이터를 비즈니스 도구에 사용할 수 있도록 하여 데이터를 보다 효과적으로 관리하고 분석하는 데 도움이 된다. 또한 고객을 대면하는 각 비즈니스 팀의 의사 결정과 향상된 비즈니스 성과이다.

DW vs DL vs DM

  • 데이터를 저장하고 활용하는 시스템이지만 목적과 주고에 차이가 있다.

DW(Data Warehouse)

  • 정제된 데이터로 분석 및 리포팅
  • 정형 데이터(SQL 기반)
  • 사전 처리 후 저장
  • BigQuery, Snowflak, Redshift

BigQuery

  • Google Cloud에서 제공하는 완전 관리형 서버리스 데이터 웨어하우스
    • 사용자는 인프라를 관리할 필요없이 데이터를 로드하고 쿼리만 실행
    • 자동으로 확장되므로 데이터의 크기가 증가해도 걱정할 필요 없음
    • 과금 처리 방식 두가지 : 저장비용, 쿼리비용(효율적으로 하는게 중요)
  • 데이터를 저장, 분석, 쿼리할 수 있도록 설계된 서비스로 특히 대규모 데이터를 처리하는 데 유용
  • 서버리스가 아닌 그냥 데이터 클라우드 서비스(완전관리형 아닌) : 서버를 임대해옴
    나쁠수도 잇음. 요금폭탄을 맞을 수 있음

DM(Data Mart)

  • 부서별 맞춤 데이터 제공
  • 정형 데이터
  • 사전 처리 후 부서 맞춤 제공
  • Tableau, Power BI

DL(Data Lake)

  • 원시 데이터 저장 및 유연한 활용
  • 정형, 비정형, 반정형 데이터
  • 원시 데이터 저장 후 필요시 변환
  • Amazon S3, GCS

데이터 사일로란?

  • 조직 내 다른 시스템으로부터 분리된 데이터 저장소
  • 한 팀에서 소유하고 조직의 나머지 부분에서는 엑세스할 수 없는 데이터 저장소

1. 문제

  • 데이터는 종류가 다른 시스템에 보관되며 흔히 다른 데이터 집합과 호환되지 않는다. 이 때문에 조직의 팀들이 다른 데이터에 엑세스하고 협업하기가 어려워져 간소화된 제품 라이프 사이클 프로세스라는 가능성에 제한이 생긴다.

  • 전사적 협업에는 투명성과 연결성이 필요하다. 데이터 사일로는 정보를 격리시킬 뿐 아니라 혁신 및 팀워크에 커다란 마찰을 일으킨다. 각 부서에서 자체 업무에 미칠 수 잇는 영향을 확인하는 사이에 크든 작든 의사 결정이 지체된다.

  • 중복 데이터 플랫폼 및 프로세스 : 제품 개발 프로세스에 관여하는 팀들은 동일한 데이터를 공유한다. 하지만 데이터 집합이 액세스할 수 없고 호환되지 않는 상태라면 팀들은 자체 시스템에 데이터를 중복 저장하기 시작한다. 협업 저해, 팀 간 일관적 x, 정확하지 않은 데이터 보유

  • 최종 사용자 간의 협업 저해 : 설계 엔지니어와 제조 엔지니어가 업무 프로세스에 각기 다른 두 가지 데이터 관리 시스템을 활용한다면 데이터를 공유하기 시작해야 할 때 협업이 장벽에 부닥칠 수밖에 없다. 설계 엔지니어가 변경 사항을 적용할 경우 이러한 변경 사항이 다운스트림으로 소통되지 않아 제품 품질 저하, 시장 진입 시간 증가 등 다영한 문제 발생.

2. 발생 원인

  • 레거시(이전) IT 인프라 : 연결성이 떨어지며 새로운 기술과 통합되지 않는 구형 시스템. 노후된 기술이 연결 단절 때문에 팀 간에 격리 및 데이터 사일로 발생.
  • IT 전략 및 기술 배포 : IT 전략 및 기술 배포는 조직의 효율성을 향상하는 역할을 하지만 데이터 사일로를 유발하는 큰 원인이 될 수 있음

3. 해결 방법

  • 데이터 관리 시스템 통합 : 사용 중인 다양한 데이터 관리 시스템 통합. 사용자들의 의견을 고려하면 조직원들이 조직에 긍정적인 태도를 보이고 또 조직 전체에 이득이 되는 디지털 스레트 구축할 기회
  • 거버넌스 모델 설정 : 프레임워크에서는 조직의 데이터를 수집하고, 저장하고, 활용하는 방법 설명. 규칙 및 프로세스는 개인 정보 보호 및 규제 준수를 보장하여 보안 위험 또한 최소화 한다.
  • 통합 활용 : 다른 제품 개발 및 비즈니스 시스템에 연결하여 전체 에코 시스템이 동일한 최신 제품 정보를 기반으로 작업하도록 하는 것이 중요. 데이터를 수작업으로 입력할 필요가 없어 중복 문제나 잦은 실수의 부담에서 벗어남.

0개의 댓글