SingleStoreDB, PostgreSQL, MySQL 간단 조회 성능 비교

Jongsoo Noh·2022년 9월 15일
0

SingleStore

목록 보기
1/20

간단하게 SingleStoreDB, PostgreSQL, MySQL 의 3가지 Database 를 동일한 장비에서 동일한 테이블과 SQL을 이용하여 조회 성능 비교를 해 보았습니다.

장비 사양은 8vCPU, 32GB Memory, 100GB Boot Volume 입니다.

데이터셋은 CC By 4.0 License 를 가지고 있는 Stefan Proell, Eva Zangerle, Wolfgang Gassler 가 만든 Flughafen DB(https://github.com/stefanproell/flughafendb) 를 기초로 한 mysql 의 airportdb(https://dev.mysql.com/doc/airportdb/en/airportdb-introduction.html) 를 사용하였습니다.

모든 데이터베이스는 yum 을 이용해 가장 최신 버전을 설치하고 성능을 위한 별도의 튜닝은 하지 않았고 Query 는 Parsing 및 Cache 오버헤드의 영향을 최소화하기 위해 각각 두 번 연속 수행하고 두번째 결과를 캡쳐했습니다.

SingleStoreDB, PostgreSQL, MySQL 순서로 조회 성능이 측정되었습니다.

단위 : 초SingleStoreDBPostgreSQLMySQL
Query 10.322.69616.03
Query 20.062.75618.36
Query 31.163.11031.38
Query 40.083.181104.17
0. Table Count

1. Query 1

2. Query 2

3. Query 3

4. Query 4

실행계획을 살펴 보면 MySQL 이 PostgreSQL 에 비해 느린 이유를 알 수 있습니다.

  • SingleStore 는 아키텍처상 컬럼스토어 테이블에 대해 Parallel Scan 이 기본적으로 수행됩니다.
  • PostgreSQL 은 로우 기반 테이블에 대한 옵티마이저가 Parallel Scan 을 결정하고 수행됩니다.
  • MySQL 로우 기반 테이블에 대해 Serial Scan 을 수행합니다.

profile
Database Guy

0개의 댓글