在数据库与文件系统上存储xml文件

时间:2013-12-10 17:42:47

标签: xml performance fileserver

你认为哪个更好?将xml文件存储在数据库(sql)vs文件服务器上?

一些考虑因素:

*there will be a great number of new files (> 800 per day)
*much more reads than writes, let say 5-10 per every new file
*and almost no updates or modification on the files once created

我很有兴趣了解每种方法的优缺点,这些方法与性能和安全性以及您提供给我的任何其他可用信息有关。

TKS

1 个答案:

答案 0 :(得分:3)

很大程度上取决于您希望数据库或文件系统使用XML

听起来好像你只是想通过名字或号码存储它们,然后把它们取回来。也就是说,数据库或文件系统不必在其中进行搜索,通过几个不同的属性对它们进行索引,检索它们的一部分而不是整个文件等。

如果是这种情况,那么它与其他任何东西的权衡几乎相同:“我应该将JPEG文件存储在数据库中还是存储在文件系统中”?一些权衡是:

  • 如果您在一个目录中查看大约1,000个文件,许多文件系统会严重减慢速度。当然,您可以将它们组织到各种目录中(Git和iPhoto可以简单但有效地完成此操作)。

  • 您是否需要担心复制,故障转移服务器和其他高负载问题?

  • 您是否需要担心交易(例如,两个人同时尝试添加或替换同一个文件),用户权限,事务记录,以及回滚到上周系统的能力等等?

那些复杂性可能主张使用数据库,因为数据库通常具有专门用于帮助解决这些问题的功能。如果它只是存储和检索整个XML文件,那么文件系统可能会更容易。

在任何一种情况下,如果你可以不关心你的系统的其余部分,那就更好了。也就是说,隔离实际与数据库或文件系统对话的系统部分,因此您可以根据需要更改插入任何一个。

希望有所帮助。