Loading...
MySQL 9.5 Reference Manual 9.5의 17.2 InnoDB and the ACID Model의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
ACID model은 비즈니스 데이터와 미션 크리티컬 애플리케이션에서 중요한 신뢰성 측면을 강조하는 데이터베이스 설계 원칙들의 집합입니다. MySQL은 데이터가 손상되지 않고, 소프트웨어 크래시나 하드웨어 오작동과 같은 예외적인 상황에 의해 결과가 왜곡되지 않도록 ACID model을 엄격히 준수하는 InnoDB 스토리지 엔진과 같은 구성 요소를 포함합니다. ACID를 준수하는 기능에 의존하면, 일관성 검사와 크래시 복구 메커니즘을 직접 다시 구현할 필요가 없습니다.
추가적인 소프트웨어 안전장치, 매우 신뢰성 높은 하드웨어, 혹은 소량의 데이터 손실이나 불일치를 허용할 수 있는 애플리케이션이 있는 경우에는, MySQL 설정을 조정하여 일부 ACID 신뢰성을 더 높은 성능이나 처리량과 맞바꾸도록 할 수 있습니다.
다음 절에서는 특히 InnoDB 스토리지 엔진을 중심으로 MySQL 기능이 ACID model의 각 범주와 어떻게 상호 작용하는지 설명합니다:
A: atomicity.
C: consistency.
I:: isolation.
D: durability.
ACID model의 atomicity 측면은 주로 InnoDB transaction과 관련됩니다. 관련 MySQL 기능은 다음과 같습니다:
autocommit 설정.
COMMIT statement.
ROLLBACK statement.
ACID model의 consistency 측면은 주로 크래시로부터 데이터를 보호하기 위한 InnoDB 내부 처리와 관련됩니다. 관련 MySQL 기능은 다음과 같습니다:
InnoDB doublewrite 버퍼.
Section 17.6.4, “Doublewrite Buffer”를 참조하십시오.
InnoDB 크래시 복구.
InnoDB Crash Recovery를 참조하십시오.
ACID model의 isolation 측면은 주로 InnoDB transaction, 특히 각 트랜잭션에 적용되는 isolation level과 관련됩니다. 관련 MySQL 기능은 다음과 같습니다:
autocommit 설정.
트랜잭션 isolation level과 SET TRANSACTION statement.
Section 17.7.2.1, “Transaction Isolation Levels”를 참조하십시오.
InnoDB locking의 로우 레벨 세부 사항. 세부 정보는 INFORMATION_SCHEMA 테이블( Section 17.15.2, “InnoDB INFORMATION_SCHEMA Transaction and Locking Information” 참조)과 Performance Schema data_locks 및 data_lock_waits 테이블에서 확인할 수 있습니다.
ACID model의 durability 측면은 MySQL 소프트웨어 기능이 특정 하드웨어 구성과 상호 작용하는 부분을 포함합니다. CPU, 네트워크, 스토리지 디바이스의 기능에 따라 가능한 경우의 수가 많기 때문에, 이 측면에 대해 구체적인 지침을 제공하는 것은 가장 복잡한 일입니다. (그리고 그 지침은 “새 하드웨어를 구입하라”는 형태일 수도 있습니다.) 관련 MySQL 기능은 다음과 같습니다:
InnoDB doublewrite 버퍼.
Section 17.6.4, “Doublewrite Buffer”를 참조하십시오.
sync_binlog 변수.
디스크 드라이브, SSD, RAID 어레이와 같은 스토리지 디바이스의 쓰기 버퍼.
스토리지 디바이스의 배터리 백업 캐시.
MySQL을 실행하는 운영 체제, 특히 fsync() 시스템 콜에 대한 지원.
MySQL 서버를 실행하고 MySQL 데이터를 저장하는 모든 컴퓨터 서버와 스토리지 디바이스에 공급되는 전력을 보호하는 무정전 전원 장치(UPS).
백업 빈도와 백업 유형, 백업 보존 기간과 같은 백업 전략.
분산 또는 호스팅된 데이터 애플리케이션의 경우, MySQL 서버용 하드웨어가 위치한 데이터 센터의 특정 특성과 데이터 센터 간의 네트워크 연결.
17.1.4 Testing and Benchmarking with InnoDB
17.3 InnoDB Multi-Versioning