[빅데이터를 지탱하는 기술] 빅데이터 입문기 #3
- 크로스집계란?
- 열 지향 스토리지!
- 시각화 도구들의 특징
- 데이터 마트의 설계
2-1 크로스 집계의 기본
테이블의 행과 열에 어떤 항목을 넣는지에 따라 크로스 테이블과 트랜잭션 테이블로 나뉜다.
크로스 테이블
행과 열이 교차하는 부분에 숫자 데이터가 들어감
데이터베이스에선 다루기 어려운 데이터
트랜잭션 테이블
행 방향으로만 증가
열 방향으로는 데이터가 증가되지 않음
크로스 집계란
트랜잭션 테이블에서 크로스 테이블로 변환하는 과정을 말한다.
엑셀로도 피벗 테이블을 통해 이용이 가능하다.
록업 테이블 - 테이블을 결합하여 속성을 늘리기
트랜잭션 테이블에 새로운 항목을 추가하지 않고, 다른 테이블과 결합하고 싶은 경우 사용함
여러가지 방법을 통해 집계할 수 있다.
- BI 도구를 사용한 크로스 집계
- Pandas를 통한 크로스 집계
- SQL에 의한 테이블의 집계
SQL에 의한 테이블의 집계 - 대량 데이터의 크로스 집계 사전준비
데이터를 먼저 SQL로 집계하고, 시각화 도구로 크로스 집계 하는 두단계의 절차를 이용한다.
데이터 집계 ⇒ 데이터 마트 ⇒ 시각화
시스템 구성은 데이터 마트의 크기에 따라 결정된다.
데이터 마트의 크기는 트레이드 오프 관계이다.
필요에 따라 어느정도의 정보를 남길것인가를 결정해야 함
2-2 열 지향 스토리지에 의한 고속화
데이터양이 증가함에 따라 빠르게 화면까지 보여주기 위해선 데이터 처리의 지연을 최소화 해야함
- 모든 데이터를 메모리에 올리는것
- 매우 빠름
- 크기에 제한적
- RDB를 사용
- 에초에 지연이 적음
- 클라이언트 동시 접근 가능
- 단, 메모리가 초과되면 성능이 급격히 나빠짐
MPP 기술 (Massive Parallel Processing, 압축과 분산을 통해 지연 줄이기)
- 데이터를 가능한 작게 압축
- 여러 디스크에 분산
- 멀티 코어를 활용하여 디스크 I/O를 처리
⇒ 데이터의 로드에 따른 지연을 줄임
열 지향 데이터베이스 접근 - 칼럼을 압축하여 디스크 I/O 줄이기
열 지향 데이터 베이스 (컬럼 지향 데이터베이스)
데잍 대부분은 디스크 상에 있기 때문에 쿼리에 필요한 최소한의 데이터만을 가져와 지연을 줄인다.
칼럼 단위로 데이터 압축
행 지향 데이터베이스
테이블의 각 행을 하나의 덩어리로 디스크에 저장
데이터를 빠르게 추가
대량의 트랜잭션을 지연 없이 처리
일반적으론 행 지향 데이터베이스가 사용
Mysql, Oracle DB 등등...
검색 성능을 위해 인덱스를 생성
열 지향 데이터베이스
데이터를 미리 컬럼 단위로 정리 → 필요한 칼럼만 로드하여 디스크 I/O를 줄임
데이터의 압축 효율이 좋음
데이터 처리 성능의 기준
일반적으로 두가지 요소에 의해 평가됨
- 처리량: 일정 시간에 얼마나 많은 양의 데이터를 처리할 수 있는가?
- 지연시간: 데이터 처리가 끝날 때까지의 대기 시간
이 둘은 일반적으론 반비례 관계이다.
MPP 데이터베이스의 접근 방식 - 병렬화에 의해 멀티 코어 활용하기
MPP 아키텍처에 의한 데이터 처리를 병렬화하여 쿼리 지연을 줄일 수 있다.
애드 혹 분석과 시각화 도구
대시보드 도구 - 정기적으로 집계 결과를 시각화
대시보드 도구
새로운 그래프를 쉽게 추가할 수 있음
BI 도구
대화형 데이터 탐색이 중요
Redash
SQL 에 의한 쿼리의 실행 결과를 그대로 시각화
다수의 데이터 소스에 대응하는 파이썬으로 만든 대시보드 도구
- 데이터 소스를 등록
- 쿼리를 실행하여 표와 그래프를 생성
- 그래프를 대시보드에 추가
하나의 쿼리가 하나 또는 여러 그래프에 대응
등록한 쿼리는 정기적으로 실행되어 Redash의 DB에 저장
특징
- 구조가 쉬움
- SQL 쿼리를 작성해서 그래프로 만들거나 공유하기 좋음
- BI 도구라 대량의 데이터 처리는 무리
SuperSet
대화형 대시보드
파이썬 기반 웹 애플리케이션
화면상에서 마우스 조작으로 그래프를 생성
내장 스토리지 시스템이 없음 → 외부 저장소를 사용하여 시각화
ex) Druid, RDB, MPP 등 사용 가능
Kibana
Javasceipt기반 대화식 시각화 도구
실시간 대시보드 목적으로 사용
검색 엔진인 Elasticearch의 프런트엔드로 개발 (Elasticsearch 필수)
키워드로 검색하는경우 강력함
BI 도구 - 대화적인 대시보드
이미 있는 데이터를 가져오고, 데이터 분석이 쉽도록 가공하는 역할을 함
2-4 데이터 마트의 기본 구조
시각화에 적합한 데이터 마트 만들기 -OLAP
OLAP - Online Analytical Processing
다차원 모델과 OLAP 큐브
OLAP은 데이터 집계 효율화 하는 접근방법중 하나이다.