Резервное копирование / восстановление в / из XML с помощью NHibernate - PullRequest
1 голос
/ 12 января 2011

Я использую Nhibernate для своего проекта.Мне было интересно, есть ли какой-нибудь инструмент / lib, который я могу использовать для резервного копирования / восстановления всей базы данных в формате xml с использованием Nhibernate.

nDBUnit делает то, что я хочу.Но это библиотека для тестирования баз данных, и поэтому цель другая.Кроме того, он использует xxd для этого.Что я ищу, так это то, что для этого используются файлы hbm.

Для hibernate это ссылка, которую я нашел: Резервное копирование / восстановление в / из XML с использованием Hibernate http://www.jroller.com/ara_e/entry/backup_restore_to_from_xml

Другой«Побочный» вопрос: для «достаточно большой» базы данных рекомендуется создать резервную копию в XML-файле?

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 12 января 2011

Если бы у вас была большая база данных, я бы сказал «нет». Ранее я использовал XML для операций импорта / экспорта (например, я реализовал функцию, с помощью которой можно экспортировать сущность в виде «шаблона», а затем импортировать ее на каком-то другом сайте вместе со всеми зависимостями).

Проблема в том, что XML естественным образом увеличивает размер исходных данных во много раз, и вам также нужно беспокоиться о согласованности. Собираетесь ли вы получить реальный снимок базы данных в один момент времени? Сколько времени это займет? Если вам удастся установить блокировку чтения для всего, это начнет блокировать другие параллельные операции одновременно. Это то, что встроенная функция резервного копирования вашей базы данных уже учтет.

Резюме: XML удобен для перемещения данных между разнородными системами, но резервное копирование лучше всего выполнять непосредственно вашим хранилищем данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...