在线文件夹系统的设计

时间:2012-02-05 05:55:52

标签: java mysql java-ee tomcat servlets

哪个是在线文件夹系统的最佳设计?
用例就是这样。
用户可以上传文件夹(.zip不支持文件夹上传)。然后他可以添加更多文件/文件夹或删除一些文件/文件夹。

如果通过直接复制到服务器文件系统来实现这一点,它会是一个好的设计(关注可能的性能问题,尽管这种方法是最简单的方法)。 或者我应该将文件保存到数据库中? 如果DB是这种情况,这是最好的设计吗? 注意我使用mysql,servlets和glass fish进行开发

1 个答案:

答案 0 :(得分:1)

如果文件不敏感且磁盘空间不是问题,则文件系统比DB更好。

  

如果通过直接复制到服务器文件系统来实现这一点,那将是一个好的设计(关注可能的性能问题,尽管这种方法最简单)

关于性能,你完全相反。只需考虑必须将您的文件内容转换为字节数组并将其通过网络传递给数据库并让数据库处理它,并且每次只想读取它时,必须从数据库中完成所有操作。然后一切都必须加载到内存中,特别是如果你必须处理很多大文件,它可能会变成内存问题。

选择DB over file system的其他问题是你必须让你的应用程序执行文件系统为你做的事情。例如文件夹中的重复文件夹名称,文件夹中的重复文件名,属于哪个文件夹的文件,...

如果可以选择文件系统而不是数据库,那么我肯定会这样做。