如何在java web应用程序中存储文件?
这是一个与设计相关的问题 我有一个java web应用程序(连接到MySQL数据库)在tomcat上运行。它分别在linux和windows机器上运行(目前为止)。我应该存储作为输入的文件,其大小从500 KB到100 MB(最大值)不等。这些文件的用途是解析它们并获取所需的数据。我可以使用数据库模式中的“blob”来存储文件,访问它们以生成所需的输出,并将它们存储在MySQL数据库中。另外,我可以使用文件系统将文件存储在windows或linux文件系统中,并使用它们提取数据,将其存储在MySQL数据库中。在任何一个月,我都会保存近200个不同长度的文件。我无法决定选择哪个实现 下面是我在比较文件系统和数据库时得出的一些优缺点 文件系统:如何在java web应用程序中存储文件?,java,mysql,database,database-design,Java,Mysql,Database,Database Design,这是一个与设计相关的问题 我有一个java web应用程序(连接到MySQL数据库)在tomcat上运行。它分别在linux和windows机器上运行(目前为止)。我应该存储作为输入的文件,其大小从500 KB到100 MB(最大值)不等。这些文件的用途是解析它们并获取所需的数据。我可以使用数据库模式中的“blob”来存储文件,访问它们以生成所需的输出,并将它们存储在MySQL数据库中。另外,我可以使用文件系统将文件存储在windows或linux文件系统中,并使用它们提取数据,将其存储在MyS
我认为这取决于您有多少读/写活动。我个人赞成将这些文件保存在数据库中,特别是如果您有像MongoDB这样的快速数据库。您将限制为100MG,这样它也不会变得那么大。您应该采用第一种方法,因为在任何一个月内,请求的数量都可能会增加,我也不会从文件系统进行备份很容易,正如您已经提到的mysql limit一样,在尝试
INSERT
或SELECT
100MB从LONGBLOB
中插入时,可能会遇到数据包大小限制。blob
之间的唯一区别是额外的字节数(1到4)被分配来保持长度。