Хранить данные аудита XML в файловой системе или в таблице MS Access?

Моя программа должна начать аудит сохраненных данных XML для пользователей. Всякий раз, когда пользователь нажимает "Сохранить"; Мне нужно вставить его текущие данные (сериализованные в XML) и сохранить их где-нибудь. Какой вариант лучше:

  1. Создание текстового файла и удаление всех XML там. (Создание нового текстового файла за сохранение)
  2. Использование таблицы в MS Access

Я использую.Net 2.0 / MS Access 2003

1 ответ

Решение

Преимущество использования таблиц в любой СУБД перед хранением файлов:

  • возможность запрашивать / добывать данные впоследствии с запросами
  • возможность резервного копирования данных транзакционно

При наличии XML-файлов в файловой системе вам нужно будет разработать стратегии "уникального именования файлов" и преодолеть ограничения на количество файлов, которые можно хранить в папке и т. Д.

В некоторых СУБД Xml является типом данных первого класса (к сожалению, не для MS Access), поэтому:

  • Можно запросить ваш Xml, используя XPath, например, используя XQuery.
  • Во многих СУБД (например, Sql Server) также возможно создавать индексы в Xml для повышения производительности вышеупомянутых запросов.

Однако в Access вам нужно будет сохранить в поле Memo, с максимальным размером документа 1 ГБ в Access 2010.

TL; DR: если вы уже используете базу данных, сохраните в ней Xml.

Другие вопросы по тегам