SQL 기반 DOOM 게임으로 데이터베이스 성능을 측정하다!
DOOMQL을 활용하여 SQL 내에서 멀티플레이어 DOOM 게임을 구현하고, 이를 기반으로 데이터 스택의 성능을 측정하는 DOOMbench를 개발함.
Postgres, DuckDB, pg_clickhouse 등 다양한 데이터베이스 아키텍처를 DOOMbench 환경에서 테스트하여 OLTP(Online Transaction Processing) 및 OLAP(Online Analytical Processing) 성능을 비교 분석함.
HTAP 데이터베이스의 중요성을 강조하며, 데이터 복제 지연(Replication Lag) 없이 실시간 분석 및 트랜잭션 처리가 가능한 아키텍처의 장점을 설명함.
DOOMbench는 오픈 소스로 공개되어 있으며, 다양한 데이터베이스 시스템을 추가하여 성능을 비교할 수 있도록 지원하며, HTAP 데이터베이스의 미래를 제시함.
DOOMbench의 핵심: OLTP와 OLAP의 균형
DOOMbench는 OLTP(Online Transaction Processing)와 OLAP(Online Analytical Processing) 워크로드를 동시에 처리하는 데이터 스택의 성능을 측정한다. 특히, 게임 내 플레이어 입력 처리(OLTP)와 렌더링(OLAP)을 결합하여, 데이터베이스가 얼마나 빠르게 게임 상태를 업데이트하고 화면을 렌더링할 수 있는지를 평가한다. 이는 데이터 격리 아키텍처(Data Isolation Architecture)의 성능과 트레이드오프를 시각적으로 보여주는 지표로 활용된다.
Postgres, DuckDB, pg_clickhouse의 성능 비교
Postgres는 트랜잭션 처리에는 강하지만, 렌더링 속도가 느려 게임 플레이에 적합하지 않다는 평가를 받았다. 반면, DuckDB는 ETL 파이프라인을 통해 OLAP 성능을 향상시켰지만, 데이터 복제 지연(Replication Lag)으로 인해 실시간성이 떨어진다. pg_clickhouse는 Postgres 내에서 ClickHouse를 활용하여 성능을 개선하려 했지만, 쿼리 실행 엔진의 병목 현상으로 인해 한계를 보였다. 이러한 비교를 통해, 데이터 미저장 정책(Zero-Retention Policy)을 유지하면서도 OLTP와 OLAP를 모두 만족시키는 HTAP 데이터베이스의 필요성을 강조한다.
HTAP 데이터베이스의 등장 배경과 기술적 특징
HTAP(Hybrid Transactional/Analytical Processing) 데이터베이스는 OLTP와 OLAP 워크로드를 동시에 처리하기 위해 설계되었다. 기존 데이터베이스는 하드웨어 제약으로 인해 OLTP와 OLAP를 분리하여 설계되었지만, 현대 하드웨어의 발전으로 인해 이러한 제약이 사라졌다. CedarDB는 이러한 변화에 맞춰 설계되었으며, 빠른 스토리지(Fast Storage), 풍부한 DRAM(Abundant DRAM), 다중 코어(Many Cores) 환경을 기반으로, 데이터 복제 지연 없이 실시간 분석과 트랜잭션 처리를 가능하게 한다.
CedarDB의 DOOMbench 성능 분석
CedarDB는 DOOMbench에서 30 FPS(Frames Per Second)의 렌더링 속도와 30 TPS(Ticks Per Second)의 게임 틱 처리 속도를 기록하며, 44ms의 중앙값 지연 시간(Median Lag)을 달성했다. 이는 기존 데이터베이스 시스템에 비해 월등한 성능으로, 게임 플레이가 가능한 수준이다. 특히, CedarDB는 HTAP 아키텍처를 통해 데이터 복제 지연 없이 실시간으로 게임 상태를 업데이트하고 렌더링할 수 있다는 점을 강조한다. HTAP(Hybrid Transactional/Analytical Processing) 데이터베이스의 가능성을 보여주는 사례이다.