У вас есть 100 000 документов на 250 КБ.Это составляет ок.24 ГБ необработанных данных.Если вы поместите это в память и захотите иметь возможность обрабатывать, фильтровать или обновлять его, у вас будет дополнительный коэффициент выброса, скажем, 10. Например, в результате вы получите желаемый объем памяти 240 ГБ.
Так что, если у вас достаточно памяти, это, конечно, лучшее место для ее хранения.Но вам нужно иметь запасную стратегию (что произойдет, если количество узлов вырастет из памяти?), И это станет еще сложнее, если вы не хотите терять обновления: что произойдет, если машина выйдет из строя?если вы обновляете в памяти: когда вы стираете обновления на диск?И еще есть над чем подумать.
И все же, чтобы ответить на ваш второй вопрос: превращаться в объекты или нет?У большинства людей возникает желание трансформировать XML в объекты с использованием PHP, ruby, Java, «.NET» и т. П. И даже хранить XML в базах данных SQL.Если вы хотите услышать честный ответ: не делайте этого, если у вас нет времени и денег, чтобы тратить .Объекты вносят большие накладные расходы на дополнительный анализ, проектирование, анализ, сортировку, тестирование, обслуживание ... Фактически это полностью устраняет гибкость XML, и я вижу, что это постоянно недооценивается.Исходя из моего опыта работы с XML и XQuery, вы экономите около 80% в среднем для вещей, которые я перечислил выше.
Кроме того, если вы навязываете гибкие данные XML в объекты, вы столкнетесь скошмар, если ваши структуры данных развиваются.
Возможно, вы захотите проверить масштабируемую базу данных 28 мсек для гибких данных , которая является PAAS в облаке.Там вы получаете все необходимое из коробки (включая распределение нагрузки, автоматическое восстановление, управление сохранением, репликацию, резервное копирование, автоматическое переключение при сбое, масштабирование и уменьшение, эластичность, управление памятью, сегментирование, ...).
Это только мое личное мнение, но, возможно, оно вносит еще как минимум некоторые аспекты в решение вашей проблемы.