MySQL에서 InnoDB와 MyISAM의 차이는 무엇인가요?
_____A1.
- InnoDB: MySQL 기본 스토리지 엔진 중 하나로 트랜잭션 지원, 외래 키 제약, 고성능 동시성 제어(행 단위 락) 및 크래시 복구 기능을 제공.
- MyISAM: 과거 MySQL 기본 엔진. 가볍고 단순하며 읽기 중심 작업에 빠르나 트랜잭션·외래 키·크래시 복구 기능이 없음.
Q2. 트랜잭션 지원은 어떻게 다른가요?
A2.
- InnoDB: ACID(Atomicity, Consistency, Isolation, Durability)를 보장. COMMIT/Rollback 지원.
- MyISAM: 트랜잭션 미지원. INSERT나 UPDATE 수행 후 서버 다운 시 복구 불가.
Q3. 잠금(Locking) 방식의 차이는?
A3.
- InnoDB: 행(Row) 단위 잠금. 다중 사용자가 동시 읽기/쓰기 시에도 교착(lock contention) 최소화.
- MyISAM: 테이블(Table) 단위 잠금. 쓰기 작업 시 전체 테이블 락, 동시 쓰기 성능 저하.
Q4. 외래 키(Foreign Key) 지원 여부는?
A4.
- InnoDB: 외래 키 제약(ON DELETE/UPDATE CASCADE, RESTRICT 등) 완벽 지원. 참조 무결성 관리.
- MyISAM: 외래 키 문법은 허용하나 실제 제약은 적용되지 않음.
Q5. 크래시 복구 및 내구성(Durability)은 어떤가요?
A5.
- InnoDB: 로그 파일(redo/undo)을 이용한 자동 복구 기능. 서버 비정상 종료 시 데이터 무결성 보장.
- MyISAM: 복구 기능 미흡. .MYD/.MYI 파일 손상 시 수동 복구 필요(복구 유틸리티 사용).
Q6. 성능 차이는 어떻게 되나요?
A6.
- 읽기 중심(SELECT 위주): MyISAM이 오버헤드 적어 약간 더 빠름.
- 쓰기·동시성·트랜잭션: InnoDB가 row-lock+버퍼풀로 전반적 성능 우세.
- 복합 워크로드(읽기+쓰기 혼합): InnoDB 추천.
Q7. 인덱스와 풀텍스트 검색 지원은?
A7.
- MyISAM: 오랫동안 FULLTEXT 인덱스 지원(문자열 검색 최적).
- InnoDB: MySQL 5.6부터 FULLTEXT 지원 시작. 초기 버전 대비 성능 및 기능 격차 있음.
Q8. 데이터 파일 및 테이블 크기 제한은?
A8.
- MyISAM: 운영체제 파일 크기 제한(일반적으로 256TB). 테이블별 파일(.MYD/.MYI).
Q9. 메모리 사용 방식 차이는?
A9.
- InnoDB: 버퍼 풀(Buffer Pool) 사용. 데이터·인덱스 캐싱으로 I/O 최적화.
- MyISAM: key_buffer_size 에서 인덱스만 캐싱, 데이터 파일은 OS 디스크 캐시에 의존.
Q10. 복제·스케일링 환경에서의 차이점은?
A10.
- InnoDB: row-based replication 시 변경된 행만 전송, 마스터 장애 시 복제 지연·락 문제 감소.
- MyISAM: statement-based replication 권장(테이블 락과 함께), 대량 DML 시 복제 지연 가능성 큼.
Q11. 백업 및 복구 시 고려사항은?
A11.
- InnoDB: mysqldump —single-transaction 옵션 이용해 일관된 백업 가능. 핫 백업 도구(xtrabackup) 이용.
- MyISAM: 테이블 락 필요. 백업 중 쓰기 중지 또는 파일 복사 방식으로만 일관성 확보.
Q12. 언제 InnoDB를, 언제 MyISAM을 선택해야 하나요?
A12.
- InnoDB 추천 상황: 트랜잭션·동시성·참조 무결성·크래시 복구가 필요한 OLTP 워크로드.
- MyISAM 추천 상황: 읽기 전용·분석·통계용 테이블, 복잡한 트랜잭션 필요 없고 간단·빠른 SELECT 위주 환경.
Q13. 주요 장단점 정리
A13.
- InnoDB 장점
· 트랜잭션 지원 및 ACID 보장
· 행 단위 잠금 → 동시성 우수
· 외래 키 제약, 자동 크래시 복구
- InnoDB 단점
· 테이블 생성 시 메타데이터·로그 파일 오버헤드
· 순수 읽기 작업 시 MyISAM 대비 약간 느릴 수 있음
- MyISAM 장점
· 단순·가벼움, SELECT 성능 우수
· 풀텍스트 검색에 역사적 강점
- MyISAM 단점
· 트랜잭션·외래 키·자동 복구 미지원
· 테이블 단위 잠금으로 동시성 취약
작성자:
박민지 [비회원]
| 작성일자: 1년 전
2024-09-20 08:05:26
조회수: 200 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 200 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.