Я работаю над Java-приложением, задачей которого является создание и сохранение XML (большой размер).Пример, который я получил, - это 300 МБ XML-файл.
Приложение было разработано для сбора массовых данных из базы данных и сохранения их в формате XML.Приложение из-за интенсивного ввода-вывода и использования памяти было разработано для параллельной обработки MAX 3 таких запросов.
Теперь требуется, чтобы он обрабатывал до 50 таких запросов параллельно.Текущее приложение использует XMLbean для создания XML, а затем сохраняет его в файловой системе.Приложение отображается в виде веб-службы на сервере weblogic (оно работает на 64-разрядной ОС и Java MAX Heap size id 4 ГБ).
Мне нужно ваше мнение по поводу:
1) Существует ли XML API, который работает с XSD и может использоваться для создания больших XML-файлов размером 200–200 МБ с минимальными издержками?XMLbean прекрасно работает для нас, но есть ли что-то, что может справиться с этим лучше?
2) Каков наилучший и наиболее эффективный способ сохранения файла в файловой системе?- Я думаю о том, чтобы сменить текущую запись на bufferedWriter и сохранить 1024 байта в памяти, прежде чем произойдет физическая запись на диск.- Может ли быть какой-либо побочный эффект при его увеличении?
3) Если нет ограничений на выбор технологии, сервер и т. Д., - какое будет идеальное решение !!!
РЕДАКТИРОВАТЬ 1 #Доступ к БД быстрый (около 5% от общего времени).Создание XML происходит медленно (занимает 80%) времени.Сохранение занимает 15% (но я вижу, что я могу сделать много улучшений, поэтому меня это не беспокоит).- Спасибо, Луис.