MySQL 8.4.3 및 9.1.0의 성능 개선: 새로운 변화와 향상된 데이터베이스 효
MySQL 8.4.3 및 9.1.0: 주요 성능 개선 사항 공개
안녕하세요, 데이터베이스 성능에 관한 최신 소식을 전해드리는 블로그에 오신 것을 환영합니다. 오늘은 Percona에서 발표한 MySQL 8.4.3과 9.1.0 버전의 주요 성능 개선 사항에 대해 다루어보겠습니다.
MySQL 성능에 대한 우려
Percona는 항상 데이터베이스 성능을 최우선으로 고려해왔으며, 최근 MySQL 개발 동향에서 성능 저하가 우려되었습니다. 특히 MySQL 8.4.x 및 9.y 버전의 성능 저하는 많은 개발자들에게 주목을 받고 있었습니다. 마르코 투사의 블로그 포스트 'Sakila, Where Are You Going?'에서도 이러한 우려가 언급되었습니다.
그러나 최근 발표된 MySQL 8.4.3 및 9.1.0 버전은 기대 이상으로 뛰어난 성능 개선을 보여주었습니다. 아래 표를 통해 그 변화를 확인해보세요.
작업 부하 유형 | QPS (초당 쿼리 수) 개선 |
---|---|
MySQL 8.4.3 vs MySQL 8.4.2 | 19.4% 개선 |
성능 개선의 주요 요인
이번 성능 개선은 세 가지 주된 변경 사항에 기인합니다.
1. BINLOG 트랜잭션 의존성을 위한 데이터 구조 변경
- 변경 사항: std::map에서 ankerl::unordered_dense::map으로의 변경.
- 개선 효과: INLIST_UPDATE 및 UPDATE_INDEX_LIMIT 작업 부하에서 평균 19.4%의 성능 향상.
2. JOIN 최적화
- 문제: 이전 MySQL 버전에서 JOIN을 사용하는 쿼리에서 성능 저하가 발생.
- 개선 효과: POINTS_COVERED_SI 및 POINTS_NOTCOVERED_SI 작업 부하에서 평균 2.17% 성능 향상.
3. 색인 범위 스캔 개선
- 문제: 색인 범위 스캔에서 누락된 레코드 버퍼로 인해 성능 저하.
- 개선 효과: ORDER_RANGES, RANGE_NOTCOVERED 등에서 평균 2.12% 성능 향상.
전반적인 성능 향상
이번 테스트에서 확인된 종합적인 성능 향상은 다음과 같습니다:
- 쓰기 작업 부하: 9개 테스트 작업에서 평균 7.25% 향상.
- 읽기 작업 부하: 16개 테스트 작업에서 평균 1.39% 향상.
최종 생각
MySQL 8.4.3 및 9.1.0 버전의 성능 개선은 데이터베이스 커뮤니티의 지속적인 노력의 결과입니다. 여전히 이전 버전의 최정상 성능에 도달하기 위한 도전이 남아있지만, 이번 변화는 긍정적인 방향으로의 전환을 증명합니다.
더 많은 정보와 변경 사항에 대한 자세한 내용은 위의 커밋 로그를 참조해주시기 바랍니다. Percona는 MySQL 커뮤니티의 최적 성능 달성을 위해 항상 노력할 것입니다.
여러분의 소중한 의견과 질문을 기다립니다. 계속해서 우리 블로그를 방문하여 최신 소식을 확인해주세요!