mySQL 5.6
- data dictionary,
정합성을 위한 doublewrite buffer,
dml 성능을 위한 change buffer,
mvcc를 위한 undo log,
innodb_file_per_table이 off면 시스템테이블스페이스에 table이 저장되는 구조
- ibdata 파일이 커지기 굉장히 쉬운 환경
- 특히 undo log가 커졌을때 DB상에서 트랜잭션이 종료되어도 OS의 파일 사이즈는 자동으로 반환되지 않기 때문에
장애 위험성이 있음
MySQL 5.7
Mysql 5.5 => 5.6으로 올라오면서 undo logs를 System tablespace 에서 별도로 둘 수 있게 됨
커진 undo log truncate 기능
- innodb_max_undo_log_size보다 커지면 truncate 수행
- innodb_undo_tablespaces > 1 이상 설정하여 system tablespace에 undo 없도록 설정 필요
- 001번 언두테이블스페이스가 너무 커지게 되면, 002번을 사용하도록 변경하고 001번을 드랍하는 식으로 불필요하게 점유하는 디스크를 반환할 수 있음.
- general tablespace의 활용 => 특정 테이블을 고속의 스토리지에 배치
커넥션 핸들러와 SQL 파셔, 옵티마이저, 그리고 MYISAM, InnoDB의 버퍼풀 기능이 포함되어있다.
MySQL은 표준 SQL 문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS와 호환되어 실행할 수 있다.
MySQL에서 처리한 데이터를 실제 스토리지에 저장하거나 스토리지로부터 데이터를 읽어오는 부분을 전담한다. 스토리지 엔진은 종류가 다앙하여 여러 개의 스토리지 엔진을 사용할 수 있다.
'DataBase' 카테고리의 다른 글
[AWS] aws rds mysqlbinlog 까보기, 확인 방법 (0) | 2024.04.25 |
---|---|
[AWS] DB에서 파라미터를 통한 RDS 인스턴스명 찾기 (0) | 2024.04.25 |
[Oracle] tablespace를 user로 해놓으면 안됨. 반드시 tablespace 지정해야한다! 오라클 TABLESPACE 변경하는 법, 오라클 인덱스 테이블스키마 변경법 (0) | 2023.02.02 |
[Oracle]ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 (0) | 2022.08.17 |
[Oracle] ORA-00979: GROUP BY 표현식이 아닙니다 (0) | 2022.08.17 |