
데이터를 시각화하는 환경을 배우고, 대량의 데이터를 효율적으로 분석하고 탐색하는 방법에 대해 알아보자.
1. 크로스 집계의 기본
1-1. 테이블의 종류
- 트랜잭션 테이블 - 행(row)을 증가하며 데이터를 저장하는 테이블 (일반 RDB 구조와 동일)
- 크로스 테이블 - 특정 조건을 기준으로 데이터를 집계한 테이블
- 룩업 테이블 - key, value 구조로 저장되며, key 값을 다른 테이블에서 참조하는 테이블 (엑셀의 vlookup 기능과 동일)
- 트랜잭션 테이블의 데이터를 집계 하여 크로스 테이블을 만드는 것을 크로스 집계라고 한다.
1-2. 데이터 시스템 구조

데이터 시스템은 Data Lake에서 1차적으로 집계한 데이터를 Data Mart에 보관하게 된다. 이후, Data Mart에서 필요한 데이터만 추출하여 시각화를 진행하게 된다.
Data Mart의 규모(크기)가 크고 작음에 따라 전체 시스템과 시각화에서 가질 수 있는 장단점 이 다르기 때문에, 우리는 아래의 두 가지 경우를 고려하여 Data Mart의 크기를 결정해야 한다.

2.데이터 집계 효율을 높이는 데이터베이스
대량의 데이터를 집계하는 과정에서 대기 시간이 길어지게 되면 후순위의 작업이 지연되게 된다. 이러한 문제를 방지하기 위해 데이터 집계 효율을 높이는 데이터베이스 구조가 필요해지게 된다.
2-1. 열 지향 데이터베이스

- 분석에 필요한 컬럼만 집계할 수 있도록 열(column) 단위로 데이터를 저장하는 데이터베이스 구조
- 필요한 열(column)만을 로드하기 때문에 디스크 I/O를 줄일 수 있다.
- 열(column)에서는 유사 데이터가 존재하기 때문에 데이터를 매우 작게 압축할 수 있다.
2-2. 행 지향 데이터베이스

- 행(row) 단위로 데이터를 디스크에 저장하는 데이터베이스 구조
- 새로운 레코드를 추가하면 끝부분에 이어서 추가되므로 빠른 데이터 쓰기가 가능하다.
- 행 지향 데이터베이스에서는 데이터 검색을 고속화하기 위해 인덱스(index)를 사용해야 한다.
2-3. MPP(massive parallel processing) 데이터베이스
- 데이터를 압축하여 여러 디스크에 분산 저장하며, 분산된 데이터를 병렬 처리하는 구조
- 하나의 쿼리를 다수의 작은 프로세스로 분해하고 병렬 처리해주는 것이 특징이다.
- 데이터 집계에 최적화되기 때문에 Data Warehouse, 분석용 데이터베이스에 사용된다.
→ 결국, 데이터 처리 지연을 줄이기 위해서는 레코드 수와 목적에 맞는 데이터베이스를 사용하는 것이 필요하다. 일반적으로 수 천만 이하의 레코드의 경우 RDB(행 지향 스토리지)를 통해 데이터 검색을 빠르게 하며, 수 억 이상의 레코드인 경우 MPP(열 지향 스토리지)를 통해 데이터 처리를 병렬화 하게 된다.
2-4. 데이터 처리 성능의 판단
데이터 처리 성능을 판단하는 기준에는 처리량과 지연 시간의 정도가 존재한다. 데이터 시스템에 따라서 처리량이 우선순위일 수도 있으며, 때로는 지연 시간이 우선이 될 수도 있다.
- 처리량과 지연 시간의 개념
- 처리량(throughput) : 일정 시간에 처리할 수 있는 데이터의 양
- 지연 시간 : 데이터의 처리가 끝날 때까지의 처리 시간
- 시스템에 따른 우선순위
- 대량의 데이터를 처리해야 하는 시스템(Data Warehouse, Data Lake) : 처리량을 우선순위로 한 설계
- 필요한 데이터를 빠르게 얻어야 하는 시스템(Data Mart) : 지연 시간 단축을 우선순위로 한 설계
📘참고 서적: [빅데이터를 지탱하는 기술]
니시다 케이스케 지음 / 정인식 옮김
'[기술서적]' 카테고리의 다른 글
| [빅데이터를 지탱하는 기술] Chapter4.빅데이터의 축적 - (1) (0) | 2023.06.01 |
|---|---|
| [빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (2) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (1) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter2.빅데이터의 탐색 - (2) (0) | 2023.06.01 |
| [빅데이터를 지탱하는 기술] Chapter1.빅데이터의 기초 지식 (0) | 2023.06.01 |