我正在为我的项目使用Nhibernate。我想知道,是否有任何工具/库可用于使用Nhibernate以xml格式备份/恢复整个数据库。
nDBUnit可以满足我的需求。但是,它是一个数据库测试库,因此目的是不同的。此外,它使用xxd来做到这一点。我正在寻找的是使用hbm文件来做到这一点。
对于hibernate,这是我找到的链接: 使用Hibernate备份/还原到XML http://www.jroller.com/ara_e/entry/backup_restore_to_from_xml
另一个“侧面”问题: 对于“足够大”的数据库,在xml文件中备份是个好主意吗?
非常感谢任何帮助。
答案 0 :(得分:1)
如果你有一个大型数据库,我会说'不'。之前我曾使用XML进行导入/导出操作(例如,我实现了一个可以将实体导出为“模板”的功能,并将它们导入到其他某个站点,以及所有依赖项)。
问题是XML自然会爆炸到原始数据大小的许多倍,您还必须担心一致性。您是否能够在单个时间点获得数据库的真实快照?这需要多长时间?如果您设法获取所有内容的读锁定,那么将开始同时阻止其他并发操作。这就是数据库的本机备份功能已经考虑到的内容。
总结:XML适用于在不同系统之间移动数据,但备份最好由数据存储本地完成。