У меня есть множество богатых структур данных (в первую очередь, деревьев), которые я хотел бы сохранить на диск, что означает, что я не только хочу записать их на диск, но я хочу гарантировать, что данные были полностью записаны и выживут после ждущий.
Другие, кажется, разрабатывают способы кодирования богатых структур данных в плоских таблицах базы данных в виде таблиц поиска от родительских к дочерним узлам. Это облегчает выполнение SQL-запросов к данным, но мне это не нужно: я просто хочу сохранить и загрузить свои деревья.
Очевидное решение состоит в том, чтобы хранить все как блоб в базе данных: одну запись, возможно, содержащую длинную строку. Это злоупотребление базой данных или рекомендуемая практика? Другим решением может быть использование базы данных XML? Есть ли какие-либо альтернативы базам данных, которые я должен рассмотреть?
Наконец, я делаю это из F #, поэтому идеальное решение для сохранения данных из .NET было бы идеальным ...
РЕДАКТИРОВАТЬ: Обратите внимание, что форматирование (например, сериализация) не имеет значения, так как я могу тривиально конвертировать между форматами с помощью F #. Речь идет о получении подтверждения того, что запись была завершена вплоть до энергонезависимого хранилища (то есть дискового накопителя), и никакая часть записанных данных по-прежнему не хранится в энергозависимом хранилище (например, кэш-память ОЗУ), так что Я могу продолжать в безопасности в этом знании (например, удалив старую версию данных с диска).