SMALL
PostgreSQL vs MySQL
PostgreSQL | MySQL | |
성능 | 큰 데이터 세트에 대해 높은 성능을 제공합니다. 읽기-쓰기에 좋은 성능을 보인다. MVCC 모델을 사용함으로써 동시성 처리에 좋은 성능을 보인다. | 작은 데이터 세트에서 빠른 성능을 보입니다. 읽기에 좋은 성능을 보인다. 왜냐하면 InnoDB 스토리지 엔진이 최적화가 잘되어 있기 때문이다. |
확장성 | 수직 및 수평 확장이 용이합니다. | 주로 수직 확장에 초점을 맞춥니다. |
비용 | 오픈 소스로 무료입니다. | Oracle 소유로, 상업적 이용시 비용이 발생할 수 있습니다. 그러나 오픈소스 버전도 있습니다. |
지원 | 큰 커뮤니티와 많은 지원이 있습니다. | 엄청난 사용자 커뮤니티와 넓은 범위의 지원을 제공합니다. |
기능 | 매우 고급 기능을 제공하며, 객체-관계형 데이터베이스입니다. | 사용하기 쉬운 기능을 제공하며, 직관적인 관계형 데이터베이스입니다. |
트랜잭션 | 완벽한 ACID 지원을 합니다. | ACID를 지원하지만 설정에 따라 다를 수 있습니다. |
복제 | 다양한 복제 옵션을 제공합니다. | 매스터-슬레이브 복제만을 기본적으로 제공합니다. |
PostgreSQL vs MySQL 비교 저장소
OS 환경 | Window 10 Pro |
RAM | 32GB |
MySQL | 8 |
PostgreSQL | 15 |
Spring | 3.1.2 |
JDK | 17 |
읽기와 쓰기 단계로 나뉘어서 테스트 코드 작성 및 속도 체크 하였습니다.
읽기는 약 2,073,677건의 데이터를 가지고 사용 하였습니다.또한,
기존의 데이터는 null 값이 많은 컬럼들의 데이터들을 삭제하였습니다.
데이터를 1차 가공하여 사용하였습니다.
읽기 총 결과
PostgreSQL | MySQL | |
전체 조회 | 11,688ms ( 약 11초 ) | 15,366ms ( 약 15초 ) |
단건 조회 | 219ms ( 약 0.219초 ) | 2,544ms ( 약 2초 ) |
like 조회 | 236ms ( 약 0.236초 ) | 2,816 ( 약 2초 ) |
index 조회 | 133ms ( 약 0.133초 ) | 134ms ( 약 0.134초 ) |
쓰기 총 결과
PostgreSQL | MySQL | |
1만건 | 1,617ms ( 약 1초 ) | 2,085ms ( 약 2초 ) |
10만건 | 17,861ms ( 약 17초 ) | 24,683ms ( 약 24초 ) |
100만건 | 162,229ms ( 약 2분 42초 ) | 208,652ms ( 약 3분 29초 ) |
반응형
LIST
'DB' 카테고리의 다른 글
쿼리 실행 구조 (MySQL 엔진) (0) | 2023.12.27 |
---|---|
PostgreSQL만의 함수 to_tsvector(), to_tsquery() (0) | 2023.09.07 |
Mysql Load Data 대용량 데이터 삽입 (0) | 2023.08.08 |
MySQL vs PostgreSQL (0) | 2023.08.08 |
기본 SQL 문 정리(3) - select, update, delete (0) | 2023.04.24 |