4. 파일시스템과 RAW디바이스

  • 파일시스템에서 발생하는 디스크I/O는 유닉스 시스템의 버퍼캐쉬를 경유
  • RAW디바이스를 사용할때는 버퍼캐쉬를 거치지 않음
  • RAW 디바이스를 사용할 때는 OS의 INDOE와 FREELIST에 대한 부하가 발생하지 않기때문에
    일반적으로 RAW디바이스의 I/O성능이 더 유리한 것으로 알려져있다.
  • 대부분의 튜닝된 OLTP 시스템에서는 충분한 SGA 영역을 확보하기 때문에 대부분의 읽기 작업이 오라클의 메모리 영역에서 발생하므로
    RAW디바이스와 파일 시스템의 성능 차이는 크지 않을 것이다.
  • 배치작업이나 DW 시스템과 같이 대량의 디스크 I/O를 발생시키는 환경에서는 결국 대부분의 I/O요청은 디스크 I/O요청이기 때문에
    디스크 I/O 성능이 더 좋은 RAW 디바이스 환경이 더 유리할 것이다.
  • OLTP시스템의 경우에도 쓰기 요청이 아주 많은 업무에서는 디스크로 데이터를 반영하기 위해서 디스크 I/O를 많이 발생시키기 때문에
    RAW디바이스 환경과 파일시스템의 환경 성능차이가 크게 나타날 수 있다.
디스크구성특징
RAW 디바이스
  • 다이렉트 I/O(유닉스 버퍼 캐시를 사용하지 않음)
  • ASYSC I/O 사용가능
  • RAC 구성을 위한 파일 공유 구성이 쉬움
  • 데이터 파일 관리가 파일 시스템보다 까다로움
  • 오라클 파일 자동 확장(AUTOEXTEND) 기능 사용이 제한됨
파일시스템
  • RAW디바이스에 비해서 성능상의 오버헤드가 더 많음
  • 설정을 통해서 다이렉트 I/O가능
  • 설정을 통해서 ASYNC I/O사용 가능
  • RAC 구성을 위해 별도 공유 솔루션이 필요함
  • 직관적인 데이터 파일 관리가 용이함
  • 수십 TB의 초대용량 DBMS에서는 일률적인 파일 관리가 어려움
  • RAW디바이스 사용시 주의사항
    • 여유공간을 항상 관리해야 하며 볼륨 그룹별로 분산을 최적화하기 위해서는 항상 RAW 디바이스 사용현황을 관리해야한다.
    • RAW디바이스는 파일 시스템과 다르게 직관적으로 확인이 어렵기 때문에 가급적 스크립트를 통해서 관리
    • RAC로 구현되는 시스템이라면 간으한 RAW디바이스를 사용하는 것이 더 많은 이점을 가질 것으로 판단.