Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Database 存储用户';在web应用程序中创建图像_Database_Web Applications_Storage_File Storage - Fatal编程技术网

Database 存储用户';在web应用程序中创建图像

Database 存储用户';在web应用程序中创建图像,database,web-applications,storage,file-storage,Database,Web Applications,Storage,File Storage,我有一个目前正在用JSP/Servlets开发的web应用程序。 该应用程序允许用户为每个用户帐户上载图像文件 存储图像的最佳方式是什么? 请考虑以下特征,我想在你的答案之前有;p> 我现在正在使用MySQL,但可能会转移到其他数据库 我可以将图像存储为平面文件,但我希望管理员帐户可以选择备份完整的数据库,然后重新加载。理想情况下,备份/重新加载也应适用于映像。(即使备份是从不同的物理机器完成的,而重新加载是从不同的机器完成的) 使用BLOB/CLOB是解决问题2的一个选项。 但是,如果我的数据

我有一个目前正在用JSP/Servlets开发的web应用程序。
该应用程序允许用户为每个用户帐户上载图像文件

存储图像的最佳方式是什么?
请考虑以下特征,我想在你的答案之前有;p>
  • 我现在正在使用MySQL,但可能会转移到其他数据库

  • 我可以将图像存储为平面文件,但我希望
    管理员
    帐户可以选择备份完整的数据库,然后重新加载。理想情况下,备份/重新加载也应适用于映像。(即使备份是从不同的物理机器完成的,而重新加载是从不同的机器完成的)

  • 使用BLOB/CLOB是解决问题2的一个选项。
    但是,如果我的数据库变得非常大怎么办


  • 在您的情况下,我强烈建议您在数据库中设置一个
    blob
    字段,并将图像存储在其中。主要是因为这里对他们来说是正确的地方。因此,创建一个Servlet,从数据库中检索指定用户的图像。例如,
    /userimage?name=john

    关于您的“尺寸/性能”问题:

    • 数据库(除其他外)用于存储和交换大量数据 因此,它们是最好的选择

    • 即使您将它们存储在其他站点上,它们仍然会减少可用空间和性能

    • 如果您真的想管理大数据(>=3TB,不是您的情况),那么您可以将它们存储在文件系统中,并将文件名保存在数据库中。有关更多信息,请参阅


    只需将它们存储在数据库中。。。如果您的用户群“变得非常庞大”,您将有大量现金购买一台balls out数据库服务器(甚至是一个服务器群),它可以处理负载,现在您不会吗?

    将它们存储在文件系统中。它更快更简单。通常,在访问图像时,您必须先将其保存到文件中,然后才能使用它。您可以使用第三方工具检查图像。您可以将recordID存储在文件名中,以防止图像/记录关联被破坏

    许多其他人也有同样的观点:

    相关: