Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件系统下的附件vs数据库?_Java_Database_Filesystems - Fatal编程技术网

Java 文件系统下的附件vs数据库?

Java 文件系统下的附件vs数据库?,java,database,filesystems,Java,Database,Filesystems,我需要删除服务器端的附件。我可以将它们存储在数据库的blob列或文件目录下。 我的问题是哪一个更可靠、可扩展和可维护 编辑:- 如果我们选择文件系统,我们必须自己处理同步。不是吗?例如,如果两个用户试图在同一目录下创建/更新文件,我们将如何处理与文件系统的并发性?由于索引和数据获取等操作,在目录中存储数据更可靠。只需将文件的路径存储到DB中,并将该文件存储到目录中即可 当服务器上出现大量数据存储请求时,处理如此多的请求非常困难和复杂。 因此,最好将数据存储在目录中,这样访问数据的速度会更快,当数

我需要删除服务器端的附件。我可以将它们存储在数据库的blob列或文件目录下。 我的问题是哪一个更可靠、可扩展和可维护

编辑:-


如果我们选择文件系统,我们必须自己处理同步。不是吗?例如,如果两个用户试图在同一目录下创建/更新文件,我们将如何处理与文件系统的并发性?

由于索引和数据获取等操作,在目录中存储数据更可靠。只需将文件的路径存储到DB中,并将该文件存储到目录中即可

当服务器上出现大量数据存储请求时,处理如此多的请求非常困难和复杂。 因此,最好将数据存储在目录中,这样访问数据的速度会更快,当数据库存储的日常规模增加时,这些变得非常重要。因此,当您启动任何系统时,首先要好好研究它,然后决定做什么或哪种技术是最好的? 当数据库中有更多数据时,集群和索引就变得更加重要


如果您想将其用于小数据存储,那么blob it是一个不错的选择,但对于大数据,我不推荐您,因为我已经制作了在线数据存储web应用程序,并且遇到了这种情况,所以最后我将数据存储在目录中,而只是路径存储在数据库中。

检查类似的问题:但如果您选择文件系统,你必须自己处理同步。不是吗?例如,如果两个用户试图在同一目录下创建/更新文件,您将如何处理与文件系统的并发性?那么您必须使用某种临时目录,如果java提供了这方面的功能,并且可能在DB中为文件使用2个名称一个是用户上传的,第二个是新生成的别名,您必须使用新名称存储文件,因为要避免文件覆盖和其他事情,所以在生成新文件或名称时,请使用时间戳和其他唯一性功能,在我的系统中,我使用了这种方法,并且效果很好。你的意思是说,首先在文件系统下创建文件。然后使用文件路径在数据库下创建条目。但,若在db事务期间发生异常,则也删除该文件。对吧?你还说在目录中存储数据更可靠,因为索引,你的意思是基于内容的索引吗?是的,在上传完成时输入一些字段,如upload status或类似的内容,该字段将变为true或说1,或者你可以在上传开始和下载完成时将文件大小存储到db中检查上传文件的大小,匹配状态时db条目将为1,是的,我是讲述文件的存储路径,还有一件事要记住,根据您的需要,设计目录的结构,就像设计用户的结构一样。是的,基于内容的索引,因为我们可以使用一些好的技术将它们分开存储,并进行更快的索引。