[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: оффтопик: зачем аппаратному RAID батарейка?



a. запись на диск может в любой момент прерваться по аппаратным причинам (питание отключили, кабель отошёл, зависание системы, ...). b. в качестве борьбы с неконсистентным состоянием данных после сбоя сейчас обычно используются транзакционные механизмы - транзакция может быть или полностью сохранена или же будет отменена, промежуточные варианты исключены.

в результате важен порядок записи на диск (можно ещё погуглить "write barriers"). приходится делать выбор - или быстро ("положить" на целостность данных в случае форс-мажора) или надёжно (ждать завершения операций записи). разумется по умолчанию везде выбирается "надёжно".

так вот батарейка позволяет совместить несовместимое - на оперции записи контроллер сразу отвечает, что они завершены, а в случае сбоя несохранённые данные остаются в battery-backed write cache и будут записаны на диск при следущем включении компьютера. кроме того, большой write cache и знание о "нутрях" рейда позволяют контроллеру более оптимально "перетасовывать" операции записи на диск (не зря же с "умными" контроллерами рекомендуется отключать ядерный элеватор).

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

ps: "ядерный элеватор" звучит дико. как его по-русски назвать?


Reply to: