주요 스토리지 엔진
MyISAM
- 예전에는 기본 스토리지 엔진이었다. (현재는 InnoDB가 기본 스토리지 엔진이다)
- 트랜잭션을 지원하지 않고, Table level locking을 사용한다.
- 일반적으로 Oracle DB의 시퀀스(sequence)를 대체하기 위한 테이블을 만들 때 사용한다.
InnoDB
- 트랜잭션을 지원한다.
- Oracle DBMS에 익숙한 사용자가 가장 편하게 사용할 수 있는 스토리지 엔진이다.
- MVCC(multi version concurrency control)를 지원하여 lock을 사용하지 않고 일관된 읽기 작업을 통해 고도의 동시성을 높일 수 있다.
- Foreign key을 지원하고 Row level locking을 한다.
- Primary Key를 기준으로 Clustering되어서 저장된다. 즉, PK를 기준으로 순서대로 디스크에 저장되는 구조로 PK에 의한 Range Scan이 빠르다.
- MySQL에서는 InnoDB 스토리지 엔진을 사용하지만, MariaDB에서는 Percona사의 XtraDB 스토리지 엔진을 Built-in 하여 InnoDB로 명명한다. (큰 차이는 없다)
FederatedX
- DB Link를 지원하지 않는 MariaDB에서 remote DB에 있는 테이블을 참조할 수 있도록 지원한다.
- Remote DB에 있는 테이블을 Local DB에 있는 테이블처럼 사용할 수 있도록 해 준다.
- 실체가 없는 테이블로, 브릿지 역할을 한다.