Amazon EC2 Linux 인스턴스의 torn write 방지
Amazon EC2 Linux 인스턴스의 torn write 방지 (Torn write prevention on Amazon EC2 Linux instances)
참고
torn write 방지는 Linux 인스턴스에서만 지원돼요.
torn write 방지는 I/O 집약적인 관계형 데이터베이스 워크로드의 성능을 개선하고 데이터 복원력을 저해하지 않으면서 지연 시간을 줄이기 위해 AWS가 설계한 블록 스토리지 기능이에요. MySQL, MariaDB처럼 데이터베이스 엔진으로 InnoDB나 XtraDB를 사용하는 관계형 데이터베이스는 torn write 방지에서 이점을 얻을 수 있어요.
출처: 문서
본문
일반적으로 스토리지 장치의 전원 장애 원자성(power fail atomicity)보다 큰 페이지를 사용하는 관계형 데이터베이스는 torn write로부터 보호하기 위해 데이터 로깅 메커니즘을 사용해요. MariaDB와 MySQL은 데이터 테이블에 쓰기 전에 데이터를 로깅하기 위해 doublewrite buffer 파일을 사용해요. 쓰기 트랜잭션 중 운영체제 충돌이나 전원 손실로 인해 불완전하거나 torn write가 발생한 경우, 데이터베이스는 doublewrite buffer에서 데이터를 복구할 수 있어요. doublewrite buffer에 쓰기와 관련된 추가 I/O 오버헤드는 데이터베이스 성능과 애플리케이션 지연 시간에 영향을 주고, 초당 처리할 수 있는 트랜잭션 수를 줄여요. doublewrite buffer에 대한 자세한 내용은 MariaDB와 MySQL 문서를 참고하세요.
torn write 방지를 사용하면 데이터가 전부 아니면 전무(all-or-nothing) 방식의 쓰기 트랜잭션으로 스토리지에 기록되어 doublewrite buffer를 사용할 필요가 없어져요. 이는 쓰기 트랜잭션 중 운영체제 충돌이나 전원 손실이 발생할 경우 부분적, 즉 torn된 데이터가 스토리지에 기록되는 것을 방지해요. 워크로드의 복원력을 손상시키지 않으면서 초당 처리되는 트랜잭션 수를 최대 30%까지 늘리고, 쓰기 지연 시간은 최대 50%까지 줄일 수 있어요.
요금 (Pricing)
torn write 방지 사용에는 추가 비용이 없어요.
목차 (Contents)
- Supported block sizes
- Requirements
- Check instance support
- Configure workload
참고 이 페이지는 torn write 방지 기능에 대한 개요를 다룹니다. 지원되는 블록 크기, 요구 사항, 인스턴스 지원 확인, 워크로드 구성의 세부 절차는 원문 링크에서 이어집니다.