데이터베이스 성능
데이터베이스를 디자인할 때는 데이터베이스가 모든 중요한 기능을 정확하고 빠르게 수행할 수 있도록 해야 합니다. 일부 성능 문제는 데이터베이스를 제작한 후에 해결할 수 있습니다. 그러나 다른 성능 문제는 데이터베이스 디자인이 잘못되어 발생될 수 있으므로 데이터베이스의 구조와 디자인을 변경해야만 해결될 수 있습니다.
데이터베이스를 디자인하고 구현할 때 데이터베이스의 대형 테이블과 데이터베이스가 수행할 복잡한 프로세스를 확인해야 합니다. 또한 이러한 테이블을 디자인할 때 특히 성능이 고려되어야 합니다. 또한 데이터베이스에 액세스하는 사용자의 수가 많아질 때 성능에 미치는 영향도 고려해야 합니다.
디자인을 변경하여 성능이 향상되도록 하는 예는 다음과 같습니다.
수십만 개의 행이 있는 테이블을 요약해서 매일 보고서를 작성하려면 보고서에서만 사용될 미리 집계된 데이터가 있는 테이블에 열을 추가하면 됩니다.
데이터베이스가 더 정규화될 수 있습니다. 즉 데이터베이스가 여러 개의 상관 관계가 있는 작은 테이블로 정의됩니다. 데이터베이스는 이 테이블의 데이터를 처리할 때 관련 데이터를 결합하기 위해 추가로 많은 작업을 수행해야 합니다. 이러한 추가적인 작업으로 인해 데이터베이스의 성능이 저하될 수 있습니다. 이러한 경우 데이터베이스의 정규화를 조금 해제하여 복잡한 프로세스를 단순화하면 성능이 향상될 수 있습니다.
하드웨어 고려 사항
일반적으로 데이터베이스가 클수록 하드웨어 요구 사항이 많아집니다. 그러나 동시 사용자 및 세션 수, 트랜잭션 처리량, 데이터베이스 내의 작업 유형 등의 다른 결정 요소에 의해서도 영향을 받습니다. 예를 들어 일반적으로 규모가 큰 기업에서 자주 분석되는 판매, 제품 및 고객 정보가 들어 있는 1TB의 데이터 웨어하우스보다는 자주 업데이트되지 않는 데이터가 들어 있는 학교 도서관의 데이터베이스에 대한 하드웨어 요구 사항이 더 적습니다. 디스크 저장소에 대한 요구 사항 외에도 보다 많은 데이터가 메모리에 캐시되고 많은 데이터를 참조하는 쿼리가 신속하게 처리될 수 있도록 많은 메모리와 고속 프로세서가 데이터 웨어하우스에 필요합니다.
I/O 하위 시스템인 저장소 엔진은 모든 관계형 데이터베이스의 주요 구성 요소이며 계획의 대부분을 차지합니다. 성공적인 데이터베이스 구현을 위해서는 일반적으로 프로젝트의 초기 단계에서 신중한 계획이 이루어져야 합니다. 계획 시 다음 문제를 고려해야 합니다.
사용할 디스크 하드웨어의 유형. 예를 들면 RAID(독립 디스크의 중복 배열) 장치가 있습니다. 자세한 내용은 하드웨어 기반의 솔루션 정보를 참조하십시오.
데이터를 디스크에 보관하는 방법. 자세한 내용은 파일 및 파일 그룹 사용을 참조하십시오.
데이터에 액세스할 때 쿼리 성능을 향상시키기 위해 사용할 인덱스 디자인. 자세한 내용은 인덱스 디자인을 참조하십시오.
데이터베이스가 잘 수행될 수 있도록 모든 구성 매개 변수를 적절하게 설정하는 방법. 자세한 내용은 서버 성능 최적화를 참조하십시오.