디스크 읽기 방식 데이터베이스 성능 튜닝은 어떻게 디스크 IO를 줄이느냐가 관건일 때가 상당히 많다. 랜덤 IO, 순차 IO와 같은 디스크 읽기 방식을 먼저 알아보자. 하드 디스크 드라이브(HDD)와 솔리드 스테이트 드라이브(SSD) SSD는 기존 하드 디스크 드라이브에서 데이터 저장용 플래터(원판)를 제거하고 그 대신 플래시 메모리를 장착하고 있다. 그래서 아주 빠르고, 전원이 공급되지 않아도 데이터가 삭제되지 않는다. SSD의 장점은 기존 하드 디스크 드라이브보다 랜덤 IO가 훨씬 빠르다는 것이다. 데이터베이스 서버에서 순차 IO 작업은 그다지 비중이 크지 않고, 랜덤 IO를 통해 작은 데이터를 읽고 쓰는 작업이 대부분이므로 SSD의 장점은 DBMS용 스토리지에 최적이다. 랜덤 I/O 와 순차 I/O..
트랜잭션 논리적인 작업 셋에 하나의 쿼리가 있든 두 개 이상의 쿼리가 있든 관계없이 논리적인 작업 셋 자체가 100% 적용되거나, 아무것도 적용되지 않아야 함을 보장해 주는 것 데이터의 정합성을 보장해 줌 MySQL에서의 트랜잭션 InnoDB스토리지엔진은 트랜잭션을 제공함. MEMORY와 MyISAM 스토리지 엔진은 트랜잭션을 제공하지 않음 이로 인해 MyISAM에서는 부분 업데이트(Partial Update)가 발생하고, 이러한 부분 업데이트 현상은 테이블 데이터의 정합성을 맞추는데 상당히 어려운 문제를 만듦 -> 데이터 클렌징 코드를 따로 작성해주어야 함 주의사항 트랜잭션 또한 DBMS의 커넥션과 동일하게 꼭 필요한 최소의 코드에만 적용하는 것이 좋음 일반적으로 데이터베이스 커넥션은 개수가 제한적임 ..