공부해봅시당
[자습시간! DataBase] InnoDB와 MyISAM을 알아보자 본문
InnoDB와 MyISAM
InnoDB와 MyISAM은 모두 MySQL의 스토리지 엔진이다.
스토리지 엔진이 중요한 이유는 locking 방식 때문이다.
locking 방식에 따라 스토리지 엔진이 달라질 수 있으므로 데이터베이스를 사용할 때 함께 고려해야 할 중요한 사안이라고 할 수 있다.
아래는 MyISAM과 InnoDB의 특징이다.
MyISAM
- 한번에 대량의 Insert 작업을 할 때 유용함
- 읽기 위주의 간단한 작업에서 빠른 속도를 보임 -> Read Only 기능이 많은 서비스일수록 유용함
- 전문검색이 필요할 경우 유용함
- 트랜잭션이나 복구 등이 필요 없는 경우에 적합함
- Row-level Locking(행 수준의 잠금)이 지원되지 않음
- Row-level Locking(행 수준의 잠금) : 한 테이블 내에서 하나의 행을 읽고 수정할 때, 다른 행들에 대한 액세스는 허용될 수 있는 잠금
- 따라서 블로그 등 비교적 규모가 작업 웹에서 사용하는 것이 적합함
InnoDB
- order by 등 정렬이 있는 경우에 적합함
- 트랜잭션을 지원하므로 트랜잭션 관리가 필요할 때, 즉 복구가 필요한 경우가 생길 수 있을 때 유용함
- 대용량의 데이터를 컨트롤할 때 필요함
- Insert, Update, Delete 등이 빈번하게 발생하는 경우 유용함(Row-level locking 때문)
- 은행 또는 크고 복잡한 웹에 적합함
한마디로 MyISAM은 SELECT가 많은 서비스에, InnoDB는 데이터의 변화가 많은 서비스에 적합하다고 할 수 있다.
참고자료
https://unordinarydays.tistory.com/159
InnoDB란 무엇인가? (MyISAM) 과의 비교
우선 InnoDB란 말은 Mysql에서만 쓰인다. 왜냐하면 InnoDB와 MyISAM은 Mysql에서 쓰이는 스토리지 엔진이기 때문이다. (이 이외에도 다양한 엔진을제공함) 가장 큰 차이점은 locking 방식의 차이이다. Innodb
unordinarydays.tistory.com
https://ko.wikipedia.org/wiki/MyISAM
MyISAM - 위키백과, 우리 모두의 백과사전
MyISAM은 MySQL 관계형 데이터베이스 관리시스템 5.5 버전 이전의 기본 스토리지 엔진이다. 이것은 옛 ISAM 코드를 기반으로 했지만, 더 많은 유용한 확장성 가지고 있었다. MyISAM의 가장 부족한 점은
ko.wikipedia.org
https://letitkang.tistory.com/155
[Mysql] InnoDB란
오늘은 InnoDB에 대해 알아보겠습니다. InnoDB는 MySQL의 데이터베이스 엔진입니다. MySQL의 모든 바이너리에 내장이 되어 있습니다. InnoDB는 트랜잭션을 지원합니다. 그렇기 때문에 트랜잭션
letitkang.tistory.com
https://java119.tistory.com/75
[MySQL || MariaDB] InnoDB 총 정리
InnoDB 개념 Transaction-safe 한 Storage Engine으로 2005년 Oracle이 Innobase를 인수한 후 Oracle의 일부가 되었으며, MySQL 5.5 이후 기본적으로 사용되고 있다. MyISAM 보다 많은 기능을 제공한다. (MVCC 지..
java119.tistory.com
https://cipleme.tistory.com/20
MySQL innoDB는 어떻게 생겼나요? [InnoDB Architecture]
[MySQL INNODB Architecture] 위의 이미지는 모든 구조를 다 기술한 것은 아니며, 중요한 부분을 발췌하여 표현하였습니다. innoDB는 크게 메모리 영역, CPU연산영역, 디스크 스토리지 영역으로 구분할 수
cipleme.tistory.com
https://needjarvis.tistory.com/45
[MySQL] MyISAM 와 InnoDB 비교
현재 하고 있는 프로젝트는 MySQL DB를 사용하고 있고, TA로 투입이 되면서 테이블을 설계 업무도 병행하게 되었다. (물론 다 하는건 아니었지만) 큰 그림을 그리는 작업을 하는 거라, 업무별 테이
needjarvis.tistory.com
https://rebeccajo.tistory.com/14
mysql 엔진 MyISAM과 InnoDB 차이
내 머리도 휘발성 메모리 ㅜㅜ 자꾸 잊어서, 다시 한 번 기억하며 기록해 보자! MyISAM VS InnoDB Mysql의 스토리지 엔진으로 가장 많이 사용하는 MyISAM, InnoDB의 차이를 알아보자. 결론적
rebeccajo.tistory.com
https://velog.io/@gillog/DBInnoDB-VS-MyISAM
[DB]InnoDB VS MyISAM
MySQL의 스토리지 엔진으로 가장 많이 사용하는 엔진으로는 InnoDB와 MyISAM이 있다. InnoDB 엔진은 트랜잭션 처리가 필요하고 대용량의 데이터를 다루는 부분에서 효율적이고, MyISAM 엔진은 트랜잭션
velog.io
https://offbyone.tistory.com/225
MySQL locking - Table-Level Locking, Row-Level Locking, Optimistic Locking
웹 프로그래밍은 기본적으로 다중 사용자 환경입니다. 동일한 자원에 여러 사용자가 동시에 접근하는 상황이 발생할 수 있습니다. 쇼핑몰에서 물건을 구매하는 상황을 생각해 봅시다. 두 명의
offbyone.tistory.com
'STUDY > DATABASE' 카테고리의 다른 글
[DATABASE] SQLD 데이터 독립성에서부터 스키마 3계층까지 (2) | 2024.03.08 |
---|---|
[자습시간! DataBase] 트랜잭션에 대해 알아보자 (0) | 2021.07.28 |
[자습시간! DataBase] JDBC와 DBCP에 대해 알아보자 (0) | 2021.07.12 |
[쉽게 배우자! DataBase] 대표적인 3대 DB를 알아보자 (2) | 2021.07.05 |
[쉽게 배우자! DataBase] DataBase와 DBMS란 무엇일까 (8) | 2021.07.04 |