MySQL 은 타 DBMS 와 다르게, 하나의 Instance 에 다수개의 Engine 을 등록할 수 있습니다.
또한 엔진은 Plug In 방식으로, 아래 명령어로 현재 Plug In 된 엔진을 확인할 수 있습니다.
mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ 9 rows in set (0.00 sec)
이 중에서 주로, InnoDB, MyISAM, Archive 엔진이 사용됩니다.
InnoDB
MySQL 에서 기본으로 설정되는 엔진입니다.
일반적인 DBMS 기능을 지원합니다.
MyISAM
트랜잭션을 지원하지 않고, Table 단위의 Locking 입니다.
따라서, 다수개의 세션이 동시에 작업하는 경우 성능이 저하될 수 있습니다.
ARCHIVE
로그 수집에 적합한 엔진입니다.
데이터가 메모리상에서 압축된 후, 압축된 상태로 디스크에 저장됩니다.
한번 INSERT 된 데이터는 UPDATE 나 DELETE 를 할 수 없으며, 인덱스를 지원하지 않습니다.
3가지의 엔진에 대한 지원되는 기능입니다.
| InnoDB | MyISAM | ARCHIVE |
Storage Limits | 64 TB | 256 TB | unlimit |
Transactions | YES | NO | NO |
Locking Granularity | Row Level | Table Level | Table Level |
MVCC | YES | NO | NO |
Geospatial Data Type Support | YES | YES | YES |
Geospatial Indexing Support | YES | YES | NO |
B-Tree Indexes | YES | YES | NO |
T-tree Indexes | NO | NO | NO |
Hash Indexes | NO | NO | NO |
Full-Text Search Indexes | YES | YES | NO |
Clustered Indexes | YES | NO | NO |
Data Caches | YES | NO | NO |
Index Caches | YES | YES | NO |
Compressed Data | YES | YES | YES |
Encrypted Data | YES | YES | YES |
Cluster Database Support | NO | NO | NO |
Replication Support | YES | YES | YES |
Foreign Key Support | YES | NO | NO |
Backup Recovery | YES | YES | YES |
Query Cache Support | YES | YES | YES |
Update Statistics For Data Dictionary | YES | YES | YES |
'Database > MySQL' 카테고리의 다른 글
[MySQL] 데이터베이스(스키마) 목록 및 사용해보기 (0) | 2018.06.06 |
---|---|
[MySQL] my.cnf 에 프로퍼티 설정하기 (0) | 2018.06.06 |
[MySQL] 폴더 및 파일 구조 알아보기 (0) | 2018.06.06 |
[MySQL] Architecture, 아키텍처 알아보기 (0) | 2018.06.05 |
[MySQL] Linux 일반 사용자계정에 MySQL 설치하기 (0) | 2018.05.26 |