4 августа 2009 · Комментарий

Re: Разгон баз

У идеи с "персистенс в ОЗУ" есть одна засада - при серьёзных проблемах с питанием нужно сбросить данные на носитель. Он либо быстрый и дорогой - что ставит под сомнение целесообразность затеи, либо дешевый и медленный - и нужно успеть сбросить 50Гиг (меньше неинтересно мне), пока ИБП жив. Ну сбрасывать же инкрементально можно. Вообще достаточно синхронно сбрасывать на диск поток внешних событий и принятых решений. По этим данным, можно восстановить внутреннее состояние. Там где его долго вычислять, то можно асинхронно инкрементально сбрасывать снапшоты состояния. Т.е. восстановление будет с последнего целостного снапшота плюс проигать лог событий. Эта схема хорошо согласуется даже с НЖМД, ибо запись в лог диск быстро пишет, а асинхронный сброс состояния можно группировать, т.е. запись на диск идет не случайная, а пачками. Можно вообще инкременты insert'ами в БД писать (плюс немного апдейтов), потом почистить только мусор нужно. Ну а про SSD я и не говорю.

К записи · К обсуждению