Data Enginerring/빅데이터를 지탱하는 기술

[요약 정리] 1-2. 빅데이터 시대의 데이터 분석 기반

dashwood 2022. 6. 9. 23:17

1-2. 빅데이터 시대의 데이터 분석 기반

빅데이터의 기술

분산 시스템을 활용해서 데이터를 가공해 나가는 구조

데이터 파이프라인 - 데이터 수집에서 워크플로 관리까지

  • 차례로 전달해 나가는 데이터로 구성된 시스템

 

데이터 수집 - 벌크 형과 스트리밍 형의 데이터 전송

  • 벌크 형
    • 이미 어딘가에 존재하는 데이터를 정리해 추출하는 방법
    • 데이터베이스와 파일 서버 등에서 정기적으로 데이터를 수집하는 데에 사용
  • 스트리밍 형
    • 차례차례로 생성되는 데이터를 끊임없이 계속해서 보내는 방법
    • 모바일 애플리케이션과 임베디드 장비 등에서 널리 데이터를 수집하는 데 사용

 

스트림 처리와 배치 처리

  • 스트림 처리
    • 장기적인 데이터 분석에는 적합하지 않음
    • 시계열 데이터베이스와 같은 실시간 처리를 지향한 데이터베이스가 자주 사용됨
  • 배치 처리
    • 장기적인 데이터 분석을 위해서는 대량의 데이터를 저장하고 처리하는 데 적합한 분산 시스템이 좋음

 

분산 스토리지

  • 객체 스토리지
    • 한 덩어리로 모인 데이터에 이름을 부여해서 파일로 저장
    • Amazon S3 등
  • NoSQL
    • 애플리케이션에서 많은 데이터를 읽고 쓰려면 NoSQL이 성능면에서 우수
    • 단, 나중에 데이터 용량을 얼마든지 늘릴 수 있는 확장성이 높은 제품을 선택해야 함

 

분산 데이터 처리

  • 분산 스토리지에 저장된 데이터를 처리하는 데는 분산 데이터 처리(distributed data processing) 의 프레임 워크가 필요
  • MapReduce가 사용되어진 것이 바로 이 부분
  • 나중에 분석하기 쉽도록 데이터를 가공해서 그 결과를 외부 데이터베이스에 저장하는 것
  • 분산 스토리지 상의 빅데이터를 SQL로 집계할 때
    • 쿼리엔진
      • Hive
      • 대화형 쿼리엔진
    • ETL 프로세스
      • 외부의 데이터 웨어하우스 제품을 이용하기 위해 분산 스토리지에서 추출한 데이터를 데이터 웨어하우스에 적합한 형식으로 변환
      • 추출(Extract) - 가공(Transform) - 로드(Load)

 

워크플로 관리

  • 전체 데이터 파이프라인의 동작을 관리
  • 매일 정해진 시간에 배치 처리를 스케줄대로 실행하고, 오류가 발생한 경우 관리자에게 통지하는 목적

 

데이터 웨어하우스와 데이터 마트

- 데이터 파이프라인 기본형

  • 데이터 웨어하우스
    • 대량의 데이터를 장기 보존하는 것에 최적화
    • 정리된 데이터를 한 번에 전송하는 것은 뛰어나지만, 소량의 데이터를 자주 읽고 쓰는 데는 적합하지 않음
    • 데이터 웨어하우스의 측면에서 봤을 때, 업무 시스템을 위한 RDB나 로그 등을 저장하는 파일 서버를 데이터 소스라함
    • 데이터 소스에 보존된 로우 데이터(raw data)를 추출하고 필요에 따라 가공한 후 데이터 웨어하우스에 저장하기까지 흐름이 ETL 프로세스
  • 데이터 마트
    • 데이터 웨어하우스는 업무에 있어서 중요한 데이터 처리에 사용되기 때문에 아무때나 함부로 사용해 시스템 과부하를 초래하는 것은 곤란함
    • 데이터 분석에 사용하는 경우 필요한 데이터만을 추출하여 데이터 마트 구축
    • BI 도구와 조합시키는 형태로 데이터를 시각화하는 데에도 사용됨

데이터 웨어하우스를 중심으로 하는 파이프라인에서는 테이블 설계와 ETL 프로세스가 중요

 

데이터 레이크

- 데이터를 그대로 축적

  • 데이터 레이크
    • 모든 데이터를 원래의 형태로 축적해두고 나중에 그것을 필요에 따라 가공하는 구조 필요
    • 임의의 데이터를 저장할 수 있는 분산 스토리지가 데이터 레이크로 이용됨

데이터 레이크와 데이터 마트 - 필요한 데이터는 데이터 마트에 정리

  • 데이터 레이크는 단순한 스토리지임

 

데이터 분석 기반을 단계적으로 발전시키기

- 팀과 역할 분담, 스몰 스타트와 확장

애드혹 분석 및 대시보드 도구

  • 애드혹 분석
    • 일회성 도구
  • 대시보드 도구
    • 수작업으로 데이터 분석뿐만 아니라 정기적으로 그래프와 보고서를 만들고 싶을 때

 

데이터 마트와 워크플로 관리

데이터 마트 구축은 배치 처리로 자동화되는 경우가 많기 때문에 그 실행 관리를 위해 워크플로 관리 도구를 사용

 

데이터를 수집하는 목적

- 검색, 가공, 시각화의 세 가지 예

데이터 검색

  • 대량의 데이터 중 조건에 맞는 것을 찾고 싶은 경우
  • 실시간 데이터 처리나 검색 엔진을 사용하여 키워드를 찾는 기능이 필요

 

데이터의 가공

  • 업무 시스템의 일부로서 데이터 처리 결과를 이용하고 싶은 경우
  • 자동화 필수
  • 워크플로 관리를 도입하여 테스트를 반복적으로 실행해서 시스템 구축

 

데이터 시각화

  • 통계 분석 소프트웨어나 BI 도구 등으로 그래프를 만들고 거기서 앞으로의 상황을 예측해 의사 결정에 도움이 되도록 하는 경우

 

확증적 데이터 분석과 탐색적 데이터 분석

  • 확증적 데이터 분석
    • 가설을 세우고 검증
    • 통계학적 모델링에 의한 분석
  • 탐색적 데이터 분석 
    • 데이터를 보면서 그 의미를 읽어내기
    • 시각화하여 사람의 힘으로
    • BI 도구를 사용한 데이터 디스커버리, 데이터 탐색

 

[출처]

빅데이터를 지탱하는 기술, 니시다 케이스케