2/DBMS
Aria Engine / 아리아 엔진
berry-hi
2020. 4. 16. 16:26
Aria Engine
Aria Engine(아리아 엔진)이란?
- MySQL 시절에 사용하던 MyISAM에서 조금의 기능이 추가된 엔진
- MyISAM에서 크게 2가지의 기능 추가됨
- Transactional = 1 옵션을 통해 부분적 트랜잭션 기능 사용 가능
- 페이징 캐싱 기능을 통해 인덱스뿐만 아니라 데이터도 캐싱 가능
- 그럼 디스크 접근 횟수가 줄어들어 조회 성능이 향상됨
What is the goal of Aria for the next version?
- 아리아 엔진의 목표는 무엇일까?
- 최종 목표는 Transaction 대응과 MySQL 표준 스토리지 엔진이 되는 것!
- ACID compliant
- Commit/Rollback
- Concurrent updates/deletes
- Row locking
- Group commit
- Faster lookup in index pages (Page directory)
=> 읭? InnoDB 에서는 다 지원하는 것들이네?
Detailed Differences between Aria and MyISAM
- MyISAM과 Aria의 상세한 차이
- Aria use BIG(1G by default) log files.
=> 로그 파일 크기가 크다.
=> 크기 자제가 큰 것은 단점 같은데 그만큼 로그 파일에 기록되는 것들이 자세하다고 생각하면 장점이다. - Aria has a log control file(
aria_log_control
) and log files(aria\_log.%
). The log files can be automatically purged when not needed or purged on demand (after backup).
=> 로그 컨트롤 파일과 로그 파일을 사용한다. 이 파일들은 자동적으로 적용되고 삭제된다. - Aria uses 8K pages by default (MyISAM uses 1K). This makes Aria a bit faster when using keys of fixed size, but slower when using variable-length packed keys (until we add a directory to index pages.)
=> 페이지 크기가 8K로 MyISAM의 페이지 크기인 1K보다 크다. 페이지 크기가 크면 캐싱 페이지 크기가 큰 것이므로 디스크 입/출력이 줄어 조금 더 빠른 조회 및 조작이 가능하다. 그러나 key 사이즈가 동적이면 느리다.
Backup and Recovery
- 3종류의 파일만 있어도 테이블 백업 및 복구가 가능하다.
- frm, MYI, MAD
- MyISAM 기반 엔진이기 때문에 myisamchk를 통해서 복구 가능.
- 그러나 Lock 걸기, 풀기 등 추가 작업이 필요하다.
- my.cnf에
aria_recover
옵션 사용 가능 - MariaDB 서비스 시작시,
--aria-recover
옵션 사용 가능
-aria_recover 옵션 단계