Локальное кэширование


Локальное кэширование (Local caching) данных - техника, используемая, чтобы ускорить доступ в сети к файлам данных. Она включает в себя кэширование данных клиентов, а не серверов, когда это возможно.

Результат локального кэширования заключается в том, что оно дает возможность многократным операциям записи в той же самой области файла объединяться в одну операцию записи через сеть. Локальное кэширование сокращает сетевой поток обмена данными, потому что данные записываются один раз. Такое кэширование очевидно улучшает время реакции приложений, потому что прикладные программы не ждут данных, чтобы отправить их через сеть на сервер.

Локальное кэширование данных, которые будут прочитаны, может получить вид, который ускоряет процесс посредством считывания вперед. Простой пример - приложение получает доступ к данным последовательно, так же как препроцессор компилятора. В таких случаях, сетевой уровень операционной системы читает данные через сеть перед тем, как запросить у прикладной программы данные. Идеально, сеть поставляет данные перед тем, как программа запрашивает их от файловой системы, заканчивающейся почти мгновенной реакцией. Практически, это редко случается, но часто чтение вперед ускоряет работу приложения, ожидая следующий запрос.

Локальное кэширование может также помочь уменьшить сетевой трафик, один раз прочитав часть файла через сеть, а затем хранить это в локальном кэше. Последующие операции чтения в этой части программы, читаются из локального кэша.

Один тип приложений, которые могут извлечь выгоду из локального кэширования, является пакетными файлами. Процессоры команды, такие как процессор команды Command.com в Windows Me/98/95 читают и исполняют код  одной строки пакетного файла за один раз. Для каждой строки процессор команды открывает файл, ищет начало строки, читает столько, сколько необходимо, закрывает файл, а затем исполняет код строки. Работа с каждой строкой заканчивается большим объемом сетевого трафика. Сетевой поток обмена данными может быть значительно уменьшен при помощи кэширования всего пакетного файла у клиента.

Локальное кэширование также помогает решению другой проблемы, связанной с сетями, особенно сетями, которые выполняют работу при помощи модемов и другие маломощных каналов: замедление времени ответа. Пользователи не хотят ждать, пока данные извлекаются из сети, модифицируются, а затем записываются назад. С техникой чтения вперед и кэшированием чтения, часто обнаруживается, что эти функции оперируют намного быстрее, чем они делают это обычно.

Опасность локального кэширования состоит в том, что у записываемых данных имеется действительная целостность только как непосредственно у клиента, пока данные кэшируются у клиента. Вообще, локально кэшированные данные должны сбрасываться на диск сервера как можно быстрее. В современных операционных системах и  аппаратных средствах, где поддерживается технология источников бесперебойного питания (UPS), риск потери локально кэшированных данных уменьшен. Но угроза все еще существует и Вы должны принимать во внимание и соотношение выгод и потерь между целостностью данных, и истинной скоростью ответа, и соотношение выгод и потерь между целостностью данных и уменьшением сетевого трафика (потока обмена данными).

 

Назад в оглавление
На главную страницу
Переведено 25.08.2010 23:59 ©Copyright V. Sokovikov

 

Hosted by uCoz