14.1 InnoDB 소개
InnoDB
는 높은 신뢰성과 높은 성능의 균형을 범용 스토리지 엔진입니다. MySQL 5.5의 시점에서는 이것이 기본 MySQL 스토리지 엔진입니다. MySQL 5.6에서는 ENGINE=
절을 지정하지 않고 CREATE TABLE
문을 발행하면 InnoDB
테이블이 만들어집니다.
InnoDB의 주요 장점
InnoDB
테이블의 주요 장점은 다음과 같습니다.
그 DML 작업은 트랜잭션 에 사용자 데이터를 보호하기 위해 최선을 다하고 , 롤백 및 크래시 복구 기능이있는 ACID 모델에 따릅니다.
행 수준 잠금 및 Oracle 스타일의 일관성 독해 를 사용하면 여러 사용자의 동시성 및 성능이 향상됩니다.
InnoDB
테이블에서는 기본 키 에 따라 쿼리가 최적화되도록 디스크의 데이터가 정렬됩니다.데이터의 무결성 을 유지하기 위해
InnoDB
는FOREIGN KEY
제약도 지원되고 있습니다. 삽입, 업데이트 및 삭제 등은 다양한 테이블간에 불일치가 발생하지 않는지를 확인하기 위해 이러한 작업이 모두 선택됩니다.같은 문 내에서도
InnoDB
테이블과 다른 MySQL 스토리지 엔진의 테이블을 혼합 할 수 있습니다. 예를 들어, 결합 작업을 사용하면 단일 쿼리에서InnoDB
테이블과MEMORY
테이블의 데이터를 결합 할 수 있습니다.InnoDB
는 대용량 데이터 볼륨을 처리 할 때 높은 CPU의 효율성과 최대의 성능을 발휘하도록 설계되어 있습니다.
표 14.1 InnoDB 스토리지 엔진의 기능
스토리지 제한 | 64TB | 트랜잭션 | 예 | Locking granularity | 행 |
MVCC | 예 | 지리 공간 데이터 형식 지원 | 예 | 지리 공간 인덱스의 지원 | 예 [a] |
B 트리 인덱스 | 예 | T 트리 인덱스 | 아니오 | 해시 인덱스 | 아니오 [b] |
전체 검색 인덱싱 | 예 [c] | 클러스터 된 인덱스 | 예 | 데이터 캐시 | 예 |
인덱스 캐시 | 예 | 압축 데이터 | 예 [d] | 암호화 데이터 [e] | 예 |
클러스터 데이터베이스 지원 | 아니오 | 복제 지원 [f] | 예 | 외래 키 지원 | 예 |
백업 / 시점 복구 [g] | 예 | 쿼리 캐시 지원 | 예 | 데이터 사전을위한 업데이트 통계 | 예 |
[a] InnoDB의 지리 공간 인덱스 지원은 MySQL 5.7.5 이상에서 사용할 수 있습니다. [b] InnoDB는 적응 해시 인덱스 기능에 대해 내부적으로 해시 인덱스를 이용합니다. [c] InnoDB의 FULLTEXT 인덱스 지원은 MySQL 5.6.4 이상에서 사용할 수 있습니다. [d] 압축 된 InnoDB 테이블은 InnoDB Barracuda 파일 형식을 필요로합니다. [e] 스토리지 엔진 내부가 아닌 서버에서 (암호화 함수를 사용하여) 구현되어 있습니다. [f] 스토리지 엔진 내부가 아닌 서버에서 구현되어 있습니다. [g] 스토리지 엔진 내부가 아닌 서버에서 구현되어 있습니다. |
InnoDB
스토리지 엔진은 데이터와 인덱스를 메인 메모리에 캐시하기 위해 자신의 버퍼 풀 을 유지하고 있습니다. 기본적으로 innodb_file_per_table
설정이 활성화되어 있기 때문에 새로운 각 InnoDB
테이블과 연관된 인덱스가 별도의 파일에 저장됩니다. innodb_file_per_table
옵션을 해제하면 InnoDB
는 테이블과 인덱스가 모두 하나의 시스템 테이블 스페이스 에 저장됩니다. 시스템 테이블 스페이스는 여러 파일 (또는 원시 디스크 파티션)로 구성되어있는 경우가 있습니다. InnoDB
테이블은 파일 크기가 2G 바이트로 제한되는 운영 체제에서도 대량의 데이터를 처리 할 수 있습니다.
InnoDB
의 기능 및 MySQL에서 제공되는 다른 스토리지 엔진을 비교하는 방법은 15 장 "대체 스토리지 엔진" 의 "스토리지 엔진의 기능"표를 참조하십시오.
InnoDB의 확장과 새로운 기능
MySQL 5.6에서 InnoDB
의 확장 기능 및 새로운 기능에 대해서는 다음을 참조하십시오.
InnoDB
의 확장 기능은 1.4 절 "MySQL 5.6의 새로운 기능" 에 나열되어 있습니다. 여기에서는 MySQL 5.6에서 추가 된 기능의 개요가 나와 있습니다.릴리스 노트 . 여기에서는 각 버전에서 변경 사항에 대한 정보를 제공하고 있습니다.
추가 리소스
InnoDB
관련 용어 및 정의는 MySQL 용어집 을 참조하십시오.InnoDB
스토리지 엔진 전용 포럼은 MySQL Forums :: InnoDB 에서 액세스 할 수 있습니다.InnoDB
는 MySQL과 같은 GNU GPL 라이센스 버전 2 (1991 년 6 월)에서 발행되고 있습니다. MySQL 라이센스의 자세한 내용은 http://www.mysql.com/company/legal/licensing/ 를 참조하십시오.