데이터분석/PostgreSQL

데이터의 종류

환성 2023. 7. 3. 22:24
728x90

데이터의 종류

  • 업무에 필요한 데이터 : 업무 데이터
  • 업무에 직접적 필요 X, 분석을 위해 추출해야 하는 데이터 : 로그 데이터

 

 

무 데이터

  • 서비스와 시스템을 운용하기 위한 목적으로 구축된 데이터베이스에 존재하는 데이터
  • 대부분 갱신형 데이터(가격 변경 등 이벤트 발생 시 삽입 X → 기존의 데이터를 갱신)
  • 트랜잭션 데이터, 마스터 데이터로 분류
  • 트랜잭션 데이터
    • 구매 데이터, 리뷰 데이터와 같은 서비스와 시스템을 통해 사용자의 행동을 기록한 데이터
    • 날짜, 시각, 마스터 데이터의 회원 ID, 상품 ID 포함되는 경우가 많음
    • 이걸 기반으로 리포트 만드는 경우가 많음 → 바로 추출 X, 마스터 데이터 필요

 

  • 마스터 데이터
    • 카테고리 마스터, 상품 마스터처럼 서비스와 시스템이 정의하고 있는 데이터
    • 트랜잭션 데이터에는 회원 ID, 상품 코드 등이 저장되어있어서, 트랜잭션 데이터만으로 잘 팔리는 상품의 명칭, 카테고리를 알 수 없음
    • 회원 관련된 정보
    • 트랜잭션 데이터의 상품 ID와 마스터 데이터 결합해서 상품 이름, 상품 카테고리 등 명확하게 만들어야 리포트 업무 폭을 넒힘

 

  • 특징
    • 데이터 정밀도가 높음(트랜잭션 롤백 사용), 데이터 정합성 보증
    • 갱신형 데이터(데이터 추출하는 시점에 따라 추출되는 데이터가 변경됨)
    • 다뤄야 하는 테이블 수가 많음
      • 대부분 서비스는 RDB 이용
      • 데이터 확장성 배제, 데이터 정합성을 유지하기 위해 사용(정규화)
      • 업무 데이터를 다룰 떄 ER 다이어그램 통해 설계 문서 파악후 여러 테이블과 결합

 

 

업무 데이터 축적 방법

  • 분석 전용 환경에서 전송하려면 데이터 로드를 해주는 시스템 사용
  • 축적 방법
    • 모든 데이터 변경하기 
      • 날짜가 아닌 이상, 데이터 전체를 한꺼번에 바꾸어 최신 상태로 만듬(우편번호 마스터, 상품 카테고리 마스터)
      • 날짜, 빈번하게 변경되는 테이블이면 항상 최신 상태로 저장되어서 과거를 알 수 없음
    • 모든 레코드의 스냅샷을 날짜별로 저장하기
      • 신뢰성을 어느 정도 보장하기 위해서이다.
    • 어제와의 변경 사항만 누적하기
      • 데이터 전송량과 처리 시간을 줄이기 위해서이다.

 

업무 데이터 다루기

  • 매출액 사용자 수처럼 정확한 값 요구 시에 활용하기
  • 서비스의 방문 횟수, 페이지 뷰, 사용자 유도 등의 데이터 분석에는 사용 X
    • Ex.) 구매 데이터 저장 하는 경우 → 어떤 장치에서 구매 상관 X
    • 사용자 에이전트는 저장 X(사용자가 어떠한 OS, 장치, SW로 서비스 사용했는지)
    • 이러한 것들을 분석하려면 로그 데이터를 사용
  • 데이터 변경이 발생할 수 있으므로 추출 시점에 따라 결과가 변화할 수 있음
    • 리포트 제출 시에 추출 시점의 정보를 기반으로 작성된 리포트라고 명시

 

 

로그 데이터

  • 통계, 분석을 주 용도로 설계된 데이터
  • 특정 태그를 포함해서 전송된 데이터
  • 특정 행동을 서버 측에 출력한 데이터
  • 누적형 데이터(출력 시점의 정보를 축적해두는 것)
  • 로그 출력 이후에 가격이 변경되거나 사용자 정보가 변경되더라고 기존 데이터 수정 X
  • 특징
    • 시간, 사용자 엔드 포인트, IP, URL, 레퍼러, Cookie 등의 정보 저장하기
    • 로그 데이터는 추출 방법에 따라 데이터의 정밀도가 달라짐
      • 잘못된 판단을 내릴 수 있기 때문
    • 계속 기록을 추가하는 것뿐이므로 과거의 데이터가 변경되지는 않음
      • 출력 시점의 정보를 기록할 수 있기 때문

 

업무 데이터 축적 방법

  • 태그, SDK(소프트웨어 개발 키트)를 통해 사용자 장치에서 데이터를 전송하고 출력하기(비컨 형태)
    • 구글 애널리틱스처럼 HTML에 특정 태그를 집어넣고 데이터 전송
  • 서버에서 데이터를 추출하고 출력하기(서버 형태)
    • 클라이언트 쪽에서 별도 처리를 하지 않고 서버에서 로그 출력하는 방법
    • 크롤러의 접근도 출력(크롤러 접근 막는 것은 불가능)

 

로그 데이터 다루기

  • 사이트 방문 횟수, 페이지뷰, 사용자 유도 상황을 집계하고 분석할 때 주로 사용
    • 접근 분석 도구를 함게 활용해 지표를 구할 때 사용
  • 최신 상태를 고려한 분석에는 적합 X
    • 로그 출력 이후 데이터의 변경 내용을 모두 고려할 때 별도의 데이터 가공 필요(Ex.) 사용자 주소 변경)
  • 계속 기록을 누적하는 형태이므로 추출 결과가 변할 가능성은 적음
  • 데이터의 정확도는 업무 데이터에 비해 낮음
    • 사용자가 누락, 크롤러의 로그가 함께 포함되어 집계 가능성

 

두 데이터를 사용해서 생성되는 가치

  • 함께 활용 시에 웹 사이트에서의 행동이 오프라인의 행동에 어떠한 영향을 미치는지 조사가 가능하다.
  • Ex.) 특정 미디어 또는 광고로 유입된 사용자가 오프라인에서 계약할 가능성이 높다면, 해당 미디어 광고를 더 활용
  • 목표 관리, 설계, 서비스/조직의 성장에 기여하기(목표관리)
  • 사용자 행동을 기반으로 경향 발견, 매출과 서비스 개선에 기여하기(서비스 개선)
  • 과거의 경향을 기반으로 미래의 행동 예측하기(미래 예측)