Компания, в которой я работал на Prevayler, в качестве части компьютерной системы экзаменов / оценок студентов в течение пяти или шести лет.
Prevayler использовался для хранения состояния тестов кандидатов на сервере, физически расположенном в одном центре тестирования. Объем хранимых данных был довольно низким, так как самое большее было бы всего несколько сотен кандидатов, сдающих тест в одном центре тестирования. Поэтому было практично запускать Prevayler на обычном оборудовании в 2004 году - «сервер» в большинстве случаев был просто обычным настольным компьютером младшего класса, временно заимствованным для проведения экзамена.
Идея заключалась в том, что если компьютер кандидата вышел из строя во время прохождения теста, он мог быстро возобновить тест на том же или другом компьютере. Это сработало довольно хорошо.
Иногда возникали трудности, когда некоторые новые требования приводили к изменению объектной модели, поскольку по умолчанию Prevayler связывает объектную модель с представлением данных на диске. На самом деле это не было для нас большой проблемой, так как изменения в объектной модели происходили между экзаменами, и в этот момент мы обычно могли позволить себе выбросить старые данные (за некоторыми исключениями из-за плохого дизайна с нашей стороны).
Есть много вещей, которые вы можете сделать, чтобы сделать возможным изменение объектной модели, вопрос в том, что лучше для вашего приложения. Как правило, выбрасывать старые данные было для нас лучшим решением.
Существовала также внутренняя система, которая объединяла тесты кандидатов из всех центров тестирования в базу данных SQL. Это хранило больший объем данных, чем Prevayler мог бы разумно справиться в то время. Вероятно, было бы целесообразно использовать Prevayler там сегодня, но я не думаю, что шаблоны использования подошли бы Prevayler особенно хорошо, так как большая часть данных, как правило, записывалась, читалась один раз для разметки, затем забывалась и рассматривалась как архивные данные. если результат теста не был запрошен.
Эта компания согрешила, отошла от Превайлера, но причина этого была скорее политическая, чем техническая.