Есть большой объект сериализованый в файле. Множество потоков:
— читают поля объекта,
— находят помеченые, как еще не наполненные,
— посылают данные поля во внешний сервис, и получают данные для наполнения текущего поля,
— наполняют поле в файле.
Например, большим объектом является объект, хранящий список книг и комментариев к ним.
Нужно, чтобы каждая книга содержала актуальный список своих комментарии, для этого:
— файл блокируется,
— просматривается список книг на наличие неактуальных(старых) комментариев,
— книга помечается, как находящаяся в наполнении,
— файл разблокируется,
— ID найденой книги с неактуальными комментариями передается на сервер в интернет и получается в ответе список актуальных комментариев,
— файл блокируется,
— для книги с ID записывается актуальный список комментариев,
— файл разблокируется.
Как сделать, чтобы в момент записи данных в файл для конкретной книги не происходила полная сериализация всего хранилища книг, а только часть относящаяся к данной книге? XML мне в этом поможет?
Или есть какие простые решения (может MS SQL 2005 Express?), которые упростят разработку и не усложнят развертывание? Я не работал с БД так плотно, чтобы понять: можно ли дердать несколько БД с одними и теми же таблицами(список книг) в разных файлах и на лету осуществлять работу с ними через СУБД? Подскажите, пожалуйста.