September 7th, 2013

ACID?

И все-таки: предположим у нас есть файловая система с журналируемыми метаданными, и есть гарантированно работающий flush (т.е. считаем что если flush вернулся - данные лежат на жестком диске именно так, как мы их туда записывали). Как это сделано - рейды с батарейкой, молитвами, постом и радио радонеж или верой в производителя жестких дисков - неважно. Считаем, что диски "работают".

Вопрос: можно ли в таких условиях гарантировать Durability (т.е. что транзакции для которых commit прошел - будут видны после перезагрузки сервера и данные будут корректными), если в любой момент из сервера может вырвать провод питания злонамеренный админ, которому в 4 часа ночи померещились зловещие мертвецы в серверной?