15.11.2 공통 데이터베이스 서버 계층
MySQL 플러 거블 스토리지 엔진은 데이터베이스에서 실제 데이터 I / O 작업을 수행하거나 특정 애플리케이션 요구 사항을 대상으로하는 기능 세트를 활성화하고 적용하는 역할을 MySQL 데이터베이스 서버의 구성 요소입니다. 특정 스토리지 엔진을 사용하는 주요 장점은 특정 응용 프로그램에 필요한 기능 만 제공되기 때문에 데이터베이스의 오버 헤드가 줄어들고 데이터베이스 성능을 효율적으로 만들어 향상됩니다. 이것은 MySQL이 이처럼 높은 성능이며 이전부터 알려져 온 이유 중 하나이며, 업계 표준 벤치 마크에서 독점적 인 지위를 차지하는 강력한 데이터베이스에 필적 또는 대항 할 수있는 요인이되고 있습니다.
기술적으로 보면, 스토리지 엔진을 지원하는 독자적인 인프라 요소는 무엇입니까? 기능을 차별화하는 주요 요소는 다음과 같습니다.
병렬성 : 일부 응용 프로그램은 다른 응용 프로그램보다 더 세분화 된 잠금 요구 사항 (낮은 수준 잠금 등)을 가지고 있습니다. 적절한 잠금 방식을 선택하면 오버 헤드가 감소되므로 전체 성능이 향상됩니다. 또한이 분야는 멀티 버전의 병렬 제어 나 '스냅 샷'로드와 같은 기능도 지원합니다.
트랜잭션 지원 : 모든 응용 프로그램이 트랜잭션을 필요로하지 않지만 필요한 경우 ACID 준수 등의 아주 명확한 요구 사항이 있습니다.
참조 무결성 : 서버는 DDL 정의 외부 키에 관계형 데이터베이스의 참조 무결성을 적용해야합니다.
물리적 스토리지 : 여기에는 테이블과 인덱스의 전체 페이지 크기와 데이터의 물리적 디스크에 저장하는 데 사용되는 형식의 모든 관계합니다.
인덱스 지원 : 응용 프로그램 시나리오에 따라 다른 인덱스 방식에서 혜택을 얻을 경향이 있습니다. 일반적으로 각 스토리지 엔진에 자신의 인덱스 방식이 있지만, 거의 모든 엔진에 일반적인 방식 (B 트리 인덱스 등)도 있습니다.
메모리 캐시 : 응용 프로그램은있는 메모리 캐시 방식이 다른 곳보다 응답이 좋은 것이 어떤 메모리 캐시는 모든 스토리지 엔진에 공통이다 그러나 (사용자 연결 또는 MySQL의 빠른 쿼리 캐시에 사용되는 것 등) 특정 스토리지 엔진이 작동하는 경우에만 독자적으로 정의되는 것도 있습니다.
성능 에이드 : 여기에는 병렬 작업을위한 멀티 I / O 스레드, 병렬 처리, 데이터베이스 검사 점 대량 삽입 처리 등이 포함됩니다.
다른 대상 기능 : 여기에는 지리 조작, 데이터 조작 시큐리티면의 제한 사항 및 기타 유사한 기능에 대한 지원이 포함되어 있습니다.
플러 거블 스토리지 엔진의 각 인프라 구성 요소 세트는 특정 애플리케이션의 이점을 제공 할 수 있도록 설계되어 있습니다. 반대로, 구성 요소 기능 세트를 회피하는 것은 불필요한 오버 헤드를 줄이는 데 도움이됩니다. 특정 애플리케이션의 요구 사항 세트를 이해하고 적절한 MySQL 스토리지 엔진을 선택하는 것은 물론 전체 시스템 효율과 성능에 큰 영향을 미칠 수 있습니다.