Как обойти огромные файлы для больших встроенных баз данных db4o

Я думаю об использовании встроенной базы данных db4o для хранения результатов расчетов инструмента моделирования. Результаты моделирования могут быть довольно большими (до нескольких ГБ за один запуск, поэтому практический размер базы данных, вероятно, может находиться в диапазоне от 10 ГБ до 100 ГБ).

Насколько я понял, db4o хранит всю базу данных в одном файле. Хотя я понял, что db4o поддерживает базы данных до 254 ГБ, я все еще беспокоюсь, что могу столкнуться с проблемами с файловыми системами, которые не любят большие файлы (приложение, над которым я работаю, будет работать на большом количестве архитектур, поэтому я не могу точно предсказать какие файловые системы будут на месте ...). Итак, есть ли какая-нибудь передовая практика, которая поможет мне избежать огромных файлов, сохранив при этом преимущества встроенной базы данных?

Изменить: я только что нашел это сообщение о (действительно) больших объемах данных в db4o в целом. Однако в нем не подробно описывается, как они достигают этого без нагрузки на файловую систему ...


person bigge    schedule 18.07.2013    source источник
comment
Есть ли причина, по которой вы не хотите полагаться на обычную базу данных?   -  person varocarbas    schedule 22.07.2013
comment
Да, самая важная причина заключается в том, что администраторы систем (HPC), на которых я буду запускать программное обеспечение, не разрешают мне запускать сервер базы данных на своей машине. Вычисления на этих машинах обычно можно запускать только как пакетные задания (через планировщик заданий), что еще больше усложняет использование реального сервера базы данных ...   -  person bigge    schedule 22.07.2013
comment
В ПОРЯДКЕ. Мне просто было любопытно по этому поводу. У меня нет большого опыта в этом отношении (когда использование файлов становится невозможным, я перехожу на (обычные) БД) и, таким образом, я не в состоянии помочь.   -  person varocarbas    schedule 22.07.2013


Ответы (1)


Способ обработки очень большого количества данных без создания слишком большого файла - использование нескольких контейнеров. Вы должны разрезать свою модель данных на несколько контейнеров (также называемых файлами).

Каждый файл будет содержать какую-то часть вашей модели. Затем, запросив хороший контейнер, вы сможете получить свои объекты; Стыки (при необходимости) должны выполняться вручную.

Если в вашей модели так мало классов, что нет смысла его сокращать, то я не уверен, что db4o вам нужен. Возможно, вам лучше всего подойдет простой файл с очень маленькими сериализациями.

person Galigator    schedule 26.07.2013
comment
Что ж, это то, о чем я подозревал, но я надеялся, что есть более элегантный подход ... Тем не менее, спасибо за ответ :) - person bigge; 27.07.2013