본문으로 건너뛰기

[빅데이터를 지탱하는 기술] 빅데이터 입문기 #3

  • 크로스집계란?
  • 열 지향 스토리지!
  • 시각화 도구들의 특징
  • 데이터 마트의 설계

2-1 크로스 집계의 기본

테이블의 행과 열에 어떤 항목을 넣는지에 따라 크로스 테이블과 트랜잭션 테이블로 나뉜다.

크로스 테이블
행과 열이 교차하는 부분에 숫자 데이터가 들어감
데이터베이스에선 다루기 어려운 데이터

트랜잭션 테이블
행 방향으로만 증가
열 방향으로는 데이터가 증가되지 않음

크로스 집계란
트랜잭션 테이블에서 크로스 테이블로 변환하는 과정을 말한다.
엑셀로도 피벗 테이블을 통해 이용이 가능하다.

록업 테이블 - 테이블을 결합하여 속성을 늘리기

트랜잭션 테이블에 새로운 항목을 추가하지 않고, 다른 테이블과 결합하고 싶은 경우 사용함
여러가지 방법을 통해 집계할 수 있다.

  • BI 도구를 사용한 크로스 집계
  • Pandas를 통한 크로스 집계
  • SQL에 의한 테이블의 집계

SQL에 의한 테이블의 집계 - 대량 데이터의 크로스 집계 사전준비

크로스 집계

데이터를 먼저 SQL로 집계하고, 시각화 도구로 크로스 집계 하는 두 단계의 절차를 이용한다.

데이터 집계 ⇒ 데이터 마트 ⇒ 시각화

시스템 구성은 데이터 마트의 크기에 따라 결정된다.
데이터 마트의 크기는 트레이드 오프 관계이다.
필요에 따라 어느 정도의 정보를 남길 것인가를 결정해야 함

2-2 열 지향 스토리지에 의한 고속화

데이터 양이 증가함에 따라 빠르게 화면까지 보여주기 위해선 데이터 처리의 지연을 최소화 해야함

  • 모든 데이터를 메모리에 올리는 것
    • 매우 빠름
    • 크기에 제한적
  • RDB를 사용
    • 애초에 지연이 적음
    • 클라이언트 동시 접근 가능
    • 단, 메모리가 초과되면 성능이 급격히 나빠짐

MPP 기술 (Massive Parallel Processing, 압축과 분산을 통해 지연 줄이기)

  • 데이터를 가능한 작게 압축
  • 여러 디스크에 분산
  • 멀티 코어를 활용하여 디스크 I/O를 처리
    → 데이터의 로드에 따른 지연을 줄임

열 지향 데이터베이스 접근 - 칼럼을 압축하여 디스크 I/O 줄이기

열 지향 데이터베이스 (컬럼 지향 데이터베이스)
대부분은 디스크 상에 있기 때문에 쿼리에 필요한 최소한의 데이터만을 가져와 지연을 줄인다.
칼럼 단위로 데이터 압축

행 지향 데이터베이스

  • 테이블의 각 행을 하나의 덩어리로 디스크에 저장
  • 데이터를 빠르게 추가
  • 대량의 트랜잭션을 지연 없이 처리
  • 일반적으론 행 지향 데이터베이스가 사용됨
    예: MySQL, Oracle DB 등
  • 검색 성능을 위해 인덱스를 생성

열 지향 데이터베이스

  • 데이터를 미리 컬럼 단위로 정리 → 필요한 칼럼만 로드하여 디스크 I/O를 줄임
  • 데이터의 압축 효율이 좋음

데이터 처리 성능의 기준

일반적으로 두 가지 요소에 의해 평가됨

  • 처리량: 일정 시간에 얼마나 많은 양의 데이터를 처리할 수 있는가?
  • 지연시간: 데이터 처리가 끝날 때까지의 대기 시간

처리량 vs 지연시간

이 둘은 일반적으론 반비례 관계이다.

MPP 데이터베이스의 접근 방식 - 병렬화에 의해 멀티 코어 활용하기

MPP 아키텍처에 의한 데이터 처리를 병렬화하여 쿼리 지연을 줄일 수 있다.

애드 혹 분석과 시각화 도구

대시보드 도구 - 정기적으로 집계 결과를 시각화

Redash

  • SQL 쿼리의 실행 결과를 그대로 시각화
  • 파이썬 기반 대시보드 도구
  • 하나의 쿼리가 하나 또는 여러 그래프에 대응
  • 등록한 쿼리는 정기적으로 실행되어 Redash의 DB에 저장
  • 특징
    • 구조가 쉬움
    • SQL 쿼리 작성 및 공유 용이
    • 대량 데이터 처리에는 부적합

SuperSet

  • 대화형 대시보드
  • 파이썬 기반 웹 애플리케이션
  • 마우스 조작으로 그래프 생성
  • 내장 저장소 없음 → 외부 저장소 필요 (Druid, RDB, MPP 등)

Kibana

  • JavaScript 기반 시각화 도구
  • 실시간 대시보드용
  • Elasticsearch 프론트엔드
  • 키워드 검색에 강력함

BI 도구 - 대화적인 대시보드

BI 도구 시각화

  • 이미 있는 데이터를 가져오고, 데이터 분석이 쉽도록 가공하는 역할

2-4 데이터 마트의 기본 구조

시각화에 적합한 데이터 마트 만들기 - OLAP

  • OLAP (Online Analytical Processing)
  • 다차원 모델과 OLAP 큐브
  • 데이터 집계 효율화를 위한 접근 방식