김태오

Benchmarking types - OLTP & OLAP 본문

Database

Benchmarking types - OLTP & OLAP

ystc1247 2023. 10. 26. 05:43

데이터베이스의 성능, 신뢰도, 확장성 테스트를 할 때 벤치마크 타입을 선택해야 한다. 수많은 타입이 있는데, 크게 두 가지로 분류하여 다뤄본다. 

 

https://ystc1247.tistory.com/entry/Database-%EC%84%A0%ED%83%9D-hammerDB-%EC%82%AC%EC%9A%A9

 

Database 선택 & hammerDB 사용

데이터베이스 시스템 선택은 장기적인 결과를 초래한다. 선택 이후 운영 과정에서 데이터베이스를 교체할 경우 마이그레이션이 쉽지 않기에 개발 초기에 문제를 예상하고 감지할 수 있어야 한

ystc1247.tistory.com

여기에서는 hammerDB를 사용한 TPC-C 를 사용하여 테스트하였다.

 

먼저 Transactional Benchmark (OLTP)가 있다.

Online Transaction Processing 의 약자로, 많은 데이터베이스 아키텍쳐에서 쓰이는 transaction oriented - 자주 상호작용하는 수많은 서비스를 위한 신속하고 정확한 데이터 처리를 가능케 한다.

 

Transactional Benchmark 테스트에서는 다음과 같은 요소들을 확인한다.

 

우선 Throughput 관련 지표들이다.

- Transactions Per Second (TPS)

- Queries Per Second (QPS)

 

Latency 관련 

- Response Time

- Read/Write Latency

 

Concurrency 관련

- Lock Time

- Blocking

 

Resource Utilization

- CPU Usage

- Memory Usage

- Disk I/O

 

이후 Error Rates, Scalability, Availability 등이 있다.

 

OLTP Benchmark에는 TPC-C, Sysbench 등이 있다. 특히 TPC-C 는 시스템의 성능을 확인하는 가장 대표적이고 무난한 industry-standard 벤치마크이다.

 

다음으로 Analytical Benchmark (OLAP)가 있다.

OLTP가 포괄적이고 많은 use case 에서 사용한다면 OLAP는 data analyst, data engineer 들이 data mining, analytics, business intelligence에 사용한다. 가령 금융분석, 기상예보, 마케팅 등에 사용할 수 있다.

 

OLTP는 많은 양의 작은 트랜잭션을 처리하고, OLAP는 complex query를 처리한다.

 

OLTP 는 보통 INSERT, UPDATE, DELETE operation을 다수 처리하며, OLAP에서는 data aggregation을 위한 SELECT operation들을 처리한다.

 

OLTP에서 집중적으로 보는 지표는 다음과 같다.

 

Query Performance

- Query Execution Time

- Query Throughput

 

Data Load & Transformation

- Load Time

- ETL Time (Extract, Transform, Load operation)에 걸리는 시간

 

OLAP Benchmark에는 TPC-H, TPC-DS, SSB 등이 있다.