로컬 캐싱
데이터의 로컬 캐싱은 데이터 파일에 대한 네트워크 액세스를 가속화하는 데 사용되는 기술입니다. 가능한 경우 서버가 아닌 클라이언트에서 데이터를 캐싱하는 작업이 포함됩니다.
로컬 캐싱의 효과는 파일의 동일한 영역에 대한 여러 쓰기 작업을 네트워크 전반에서 하나의 쓰기 작업으로 결합할 수 있다는 것입니다. 로컬 캐싱은 데이터가 한 번 기록되므로 네트워크 트래픽을 줄입니다. 이러한 캐싱은 애플리케이션이 네트워크를 통해 서버로 데이터가 전송될 때까지 기다리지 않기 때문에 애플리케이션의 명백한 응답 시간을 개선합니다.
읽을 데이터의 로컬 캐싱은 미리 읽기를 통해 속도를 높일 수 있습니다. 간단한 예는 컴파일러의 전처리기처럼 순차적으로 데이터에 액세스하는 애플리케이션입니다. 이러한 경우 운영 체제의 네트워크 계층은 애플리케이션이 데이터를 요청하기 전에 네트워크를 통해 데이터를 읽습니다. 이상적으로, 네트워크는 애플리케이션이 파일 시스템에서 데이터를 요청하기 전에 해당 데이터를 전달하여 거의 즉각적으로 응답합니다. 실제로 이 상황은 거의 발생하지 않지만, 다음 요청을 예상하여 미리 읽음으로써 애플리케이션 속도를 높이는 경우가 많습니다.
또한 로컬 캐싱은 네트워크를 통해 파일의 일부를 한 번 읽은 다음, 로컬 캐시에 유지하여 네트워크 트래픽을 줄이는 데도 도움이 될 수 있습니다. 애플리케이션에서 해당 부분에 대해 수행하는 후속 읽기 작업은 로컬 캐시에서 읽습니다.
로컬 캐싱에서 이점을 얻을 수 있는 애플리케이션의 한 가지 유형은 일괄 처리 파일입니다. 명령 프로세서는 일괄 처리 파일을 한 번에 한 줄씩 읽고 실행합니다. 각 줄에 대해 명령 프로세서는 파일을 열고, 해당 줄의 시작 부분을 검색하고, 필요한 만큼 읽고, 파일을 닫은 다음, 해당 줄을 실행합니다. 각 줄로 인해 많은 네트워크 트래픽이 발생합니다. 클라이언트에서 전체 일괄 처리 파일을 캐싱하면 네트워크 트래픽을 상당히 줄일 수 있습니다.
로컬 캐싱은 네트워크와 관련된 또 다른 문제, 특히 모뎀 및 기타 씬 파이프를 통해 작업을 수행하는 네트워크(느린 응답 시간)에 도움이 됩니다. 사용자는 네트워크를 통해 데이터를 가져오고 수정한 다음, 다시 쓰는 동안 기다리지 않습니다. 미리 읽고 캐시에 쓰면 이러한 함수가 실제로 수행하는 것보다 훨씬 빠르게 작업하는 것처럼 보입니다.
로컬 캐싱의 위험은 데이터가 클라이언트에 캐시되는 동안 기록된 데이터는 클라이언트 자체만큼의 무결성만 가지고 있다는 것입니다. 일반적으로 로컬로 캐시된 데이터는 가능한 한 빨리 서버로 플러시되어야 합니다. 최신 운영 체제 및 무정전 전원 공급 장치와 같은 하드웨어 지원을 통해 로컬로 캐시된 데이터가 손실될 위험이 줄어듭니다. 그러나 위험은 여전히 존재하며 데이터 무결성과 명백한 응답 속도 간의 상충 관계 및 데이터 무결성과 네트워크 트래픽 감소 간의 상충 관계를 모두 고려해야 합니다.