데이터베이스 관리 시스템은 데이터베이스 로그를 통해 자체 저널링을 구현하므로 저널링 된 파일 시스템에 이러한 DBMS를 설치하면 두 가지 메커니즘을 통해 성능이 저하됩니다.
중복 저널링으로 디스크 활동량 증가
실제 디스크 레이아웃은 조각화 될 수 있습니다 (일부 저널링 파일 시스템에는이를 정리하는 메커니즘이 있지만).
디스크 활동이 많으면 저널이 가득 차서 가짜 '디스크 가득 참'조건이 발생할 수 있습니다.
몇 년 전 HP / UX 박스의 Baan 설치에서 LFS 파일 시스템에서 수행 된 인스턴스를 보았습니다. 파일 시스템이 LFS로 포맷되었다는 문제를 해결할 때까지 시스템에는 지속적인 성능 및 데이터 손상 문제가 진단되지 않았습니다.
데이터베이스 파일을 보유한 볼륨에는 일반적으로 적은 수의 큰 파일이 있습니다. DBMS 서버에는 일반적으로 단일 I / O에서 읽은 블록 수를 구성하는 설정이 있습니다. 중복 트랜잭션의 캐싱을 최소화하므로 대량 트랜잭션 처리 시스템에는 더 적은 수가 적합합니다. 다수의 시퀀셜 읽기를 수행 한 데이터웨어 하우스와 같은 시스템에는 많은 수가 적합합니다. 가능하면 파일 시스템 할당 블록 크기를 DBMS가 설정된 다중 블록 읽기와 동일한 크기로 조정하십시오.
일부 데이터베이스 관리 시스템은 원시 디스크 파티션에서 작동 할 수 있습니다. 이것은 다양한 메모리 성능을 가진 최신 시스템에서 다양한 수준의 성능 향상을 제공합니다. 파일 시스템 메타 데이터를 캐시 할 공간이 적은 구형 시스템에서는 디스크 I / O의 절감 효과가 상당히 컸습니다. 원시 파티션은 시스템을 관리하기 어렵지만 최상의 성능을 제공합니다.
RAID-5 볼륨은 RAID-10 볼륨보다 쓰기 오버 헤드가 더 많으므로 쓰기 트래픽이 많은 사용량이 많은 데이터베이스는 RAID-10에서 더 나은 성능을 발휘합니다 (종종 훨씬 더 우수). 로그는 물리적으로 별도의 디스크 볼륨을 데이터에 배치해야합니다. 데이터베이스가 크고 대부분 읽기 전용 (예 : 데이터웨어 하우스) 인 경우로드 프로세스 속도가 지나치게 느려지지 않으면 RAID-5 볼륨에 배치해야 할 수 있습니다.
컨트롤러의 후기 입 캐싱은 데이터가 손상 될 수있는 (합리적으로는 아니지만 가능할 수있는) 몇 가지 오류 모드를 만들면서 성능을 향상시킬 수 있습니다. 이것의 가장 큰 성능 승리는 매우 임의적 인 액세스로드입니다. 이렇게하려면 로그를 별도의 컨트롤러에 놓고 로그 볼륨에서 후기 입 캐싱을 비활성화하십시오. 그러면 로그의 데이터 무결성이 향상되고 단일 장애로 인해 로그 및 데이터 볼륨을 모두 제거 할 수 없습니다. 이를 통해 백업에서 복원하고 로그에서 롤 포워드 할 수 있습니다.