a. запись на диск может в любой момент прерваться по аппаратным причинам
(питание отключили, кабель отошёл, зависание системы, ...).
b. в качестве борьбы с неконсистентным состоянием данных после сбоя
сейчас обычно используются транзакционные механизмы - транзакция может
быть или полностью сохранена или же будет отменена, промежуточные
варианты исключены.
в результате важен порядок записи на диск (можно ещё погуглить "write
barriers").
приходится делать выбор - или быстро ("положить" на целостность данных в
случае форс-мажора) или надёжно (ждать завершения операций записи).
разумется по умолчанию везде выбирается "надёжно".
так вот батарейка позволяет совместить несовместимое - на оперции записи
контроллер сразу отвечает, что они завершены, а в случае сбоя
несохранённые данные остаются в battery-backed write cache и будут
записаны на диск при следущем включении компьютера. кроме того, большой
write cache и знание о "нутрях" рейда позволяют контроллеру более
оптимально "перетасовывать" операции записи на диск (не зря же с
"умными" контроллерами рекомендуется отключать ядерный элеватор).
во многих случаях прирост производительности на операциях записи
получается в разы, изредка - на порядки.
в частности большой прирост производительности получают всевозможные
базы данных.
ps: "ядерный элеватор" звучит дико. как его по-русски назвать?
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org