이번 버전은 MySQL이 Oracle로 인수되고 난 이후 처음 릴리즈된 버전이다라는 것이
나름 Oracle 입장에서는 큰 의미를 주고 있는 듯 하며,
그 때문인지 이런 저런 새로운 기능들과 성능 향상을 WhitePaper에서 이야기하고 있다.
하지만, 대 부분은 InnoDB 가 플러그인 버전으로 변경되는 MySQL 5.1 수준에서
적용된 내용들이 재탕으로 이야기되고 있는 부분이 많고,
기존 버전에 비해 Linux는 370%, Windows는 1500%가 향상되었다고 이야기하고 있는데,
간단히 그래프를 보면, 개인적으로는 성능 향상이라고 하기보다는 동시성 처리가 상당히 개선되었다고
생각된다.
WhitePaper에서 이야기하고 있는 더 상세한 개선점들은 아래와 같다.
주요 개선 사항
- InnoDB가 이제부터는 MySQL의 기본 스토리지 엔진으로 적용됨
InnoDB as the default database storage engine - 윈도우즈 서버에서 성능과 확장성 개선됨
Improved Performance and Scalability on Windows - 모든 플랫폼의 서버에서 멀티 코어 아키텍쳐를 최대한 사용 가능하도록 성능과 확장성 개선
Improved Performance and Scalability to fully utilize the computing power of modern multi-core architectures across all platforms - 가용성 개선됨
Improved Availability - 관리성과 효율성 개선됨
Improved Manageability and Efficiency - 사용성 개선됨
Improved Usability - 진단 도구들의 개선
Improved Instrumentation and Diagnostics
[성능 및 확장성] 개선 사항
- 쓰레드의 동시성 처리 성능 향상
Improved Default Thread Concurrency - 백그라운드 I/O 쓰레드의 컨트롤 기능 도입
Control of Background I/O Threads - InnoDB의 마스터(Replication의 마스터 아님) 쓰레드 의 I/O 비율 조절 기능 도입
Control of Master Thread I/O Rate - 운영체제의 메모리 할당 기능을 사용하도록 조절 가능
Control of Using Operating System Memory Allocators - AdaptiveHashIndex의 관리 기능 도입
Control of Adaptive Hash Indexing - Insert Buffer 기능의 관리 파라미터 도입
Control of Insert Buffering - Faster locking 알고리즘을 이용한 확장성 개선
Improved scalability via Faster Locking algorithm - Group Commit 기능 복구(다시 사용할 수 있도록 개선됨)
Restored Group Commit - 복구 (Recovery) 성능 개선
Improved Recovery Performance - InnoDB의 Buffer pool을 여러개 설정할 수 있도록 개선됨
Multiple Buffer Pool Instances - Rollback 세그먼트를 여러개 설정할 수 있도록 개선됨
Multiple Rollback Segments - Linux의 네이티브 비동기 I/O 적용
Native Asynchronous I/O for Linux - Insert buffer의 기능을 인덱스의 INSERT뿐만 아니라 DELETE까지도 확장 적용
Extended Change Buffering: Now with Delete and Purge Buffering - InnoDB buffer pool의 작업과 Flush 리스트를 관리하는 Mutext를 분리 적용
Improved Log Sys Mutex and Separate Flush List Mutex - Bufer pool의 불필요한 페이지의 purge 작업의 스케쥴링 개선
Improved Purge Scheduling - 트랜잭션 내에서 메타 락(오브젝트 잠금)과 다른 트랜잭션의 DDL 문장간의 락 점유 방식 개선
Improved Metadata Locking Within Transactions
[가용성] 개선 사항
- 반 동기화 복제
Semi-synchronous Replication - 복제시 마스터와 슬레이브 사이의 Heartbeat 메시지 적용
Replication Heartbeat - Relay 로그 자동 복구 기능
Automatic Relay Log Recovery - 특정 Master의 Replication 로그 필터링 기능
Replication Per Server Filtering - 마스터와 슬레이브간의 다른 데이터 타입 허용(동일 String 또는 Numeric 타입들 내에서)
Replication Slave Side Data Type Conversions
[관리 및 효율성] 개선 사항
- 빠른 인덱스 생성 및 삭제
Faster Index Creation - 효율적인 데이터 압축
Efficient Data Compression - LOB (BLOB, TEXT) 데이터 타입이나 길이가 긴 VARCHAR 타입의 관리 효율성 향상
Efficient Storage Options for Large Objects and Variable-Length Columns - INFORMATION_SCHEMA의 잠금 및 트랜잭션 그리고 압축 관련 딕셔너리 추가됨
New INFORMATION_SCHEMA tables
[사용성] 개선 사항
- SIGNAL과 RESIGNAL 명령 추가 (StoredRoutine 관련)
New SQL Syntax for SIGNAL/RESIGNAL - 새로운 테이블이나 인덱스 파티셔닝 기능(Non-Integer 타입으로 List나 Range 파티션 생성 가능)
New Table/Index Partitioning Options
[진단도구] 개선 사항
- INFORMATION_SCHEMA의 잠금 및 트랜잭션 그리고 압축 관련 딕셔너리 추가됨
New PERFORMANCE_SCHEMA
Community edition은 예전과 동일함
댓글 없음:
댓글 쓰기