메모리와 디스크의 비교
메모리 | 디스크 | |
속도 | 빠름 | 느림 |
영속성 | 전원이 공급되지 않으면 휘발 | 영속성이 있음 |
가격 | 비쌈 | 저렴함 |
데이터베이스의 성능
- 디스크는 메모리에 비해 훨씬 느리다. -> 디스크 I/O(접근)을 최소화할수록 성능이 좋아진다.
데이터베이스 접근을 최소화하기 위한 방법
- 메모리에 올라온 데이터로 최대한 요청을 처리하는 것 -> 메모리 캐시 히트율을 높이는 것
- 메모리의 데이터유실을 고려해 WAL(Write Ahead Log)를 사용
- WAL: 트랜잭션이 일어나기전에 로그를 미리 기록하여 트랜잭션redo,undo를 할 수 있도록 하는것, DB에서 데이터 접근을 할 때 랜덤I/O, 순차적I/O로 나뉜다. 대부분의 트랜잭션은 무작위하게 Write가 발생한다. -> 이를 지연시켜(모아서) 랜덤I/O 횟수를 줄이고 순차적 I/O를 발생시킨다. -> 어디까지 실행했는지 기록한다.-> 메모리의 데이터가 유실됐을 때 그 기록을 보고 I/O를 하여 정합성을 유지시킨다.
- 디스크의 랜덤I/O를 최소화 하는 것이 데이터베이스 성능의 핵심이다.
터미널에서 TOP PID 명령어를 이용해 CPU사용량을 볼 수 있다. -> 쿼리가 얼마나 무거운지 테스트 -> 무거우면 인덱스나 다른 방법으로 해결시도
'Computer Science > 데이터베이스' 카테고리의 다른 글
클러스터 인덱스 (0) | 2023.06.03 |
---|---|
인덱스(요약) (0) | 2023.06.03 |
데이터베이스 정규화 (0) | 2023.06.01 |
MySQL (0) | 2023.06.01 |
oracle 실습환경 구축 (0) | 2023.05.30 |