데이터베이스 엔진(Database Engine), 스토리지 엔진(Storage Engine)
- DBMS가 CRUD할 때 사용하는 기본 소프트웨어 컴포넌트이다.
- 데이터베이스 엔진을 조작할 때 DBMS 고유의 사용자 인터페이스를 이용하는 방법과 포트 번호를 통해하는 방법이 있다.
- 대부분의 데이터베이스 관리시스템은 DBMS 의 사용자 인터페이스를 통하지 않고,
사용자가 내장된 엔진과 상호작용을 할 수 있는 API를 포함하고 있다.
DBMS: 데이터베이스 관리 시스템
CRUD: 데이터베이스에 대해 데이터를 삽입, 추출, 업데이트 및 삭제
InnoDB
Springboot 공부 중 사용했던 MySQL, MariaDB의 InnoDB.
- 트랜잭션 지원 : 데이터 무결성 보장
- 동시성 수준이 높다 : Row-level 의 LOCK 기능
- CRUD 속도가 빠르다.
- 버퍼 풀 안에 캐시 저장소가 있어 변경 데이터를 모아뒀다 일괄적으로 디스크 영역에 접근한다.
- 디스크 영역 IO가 줄면서 속도가 빨라지는 것이다.
- 내부 모델이 복합해 읽는 작업은 MYISAN이 더 빠르다
- 자동 복구 기능
- MVCC(Multi versioning concurrency control) 제공
- 동시성, 일관성 보장
InnoDB, MYISAM 특징
MySQL5InnoDBDialect 를 사용했는데 현재 Deprecated되어서 DB버전은 맞추거나 추가적인 조치를 해야한다.
- 이에 대해선 공부했던 책의 저자이신 jojoldu 님이 깃허브 이슈에 코멘트를 남겨주셨다.
깃허브 이슈 링크
참고 : 위키백과