我有一个网站,允许管理员上传员工图片.目前,这些图片存储在我的@R_502_198@数据库中的BLOB中.此外,我有一个与网站一起运行的Windows应用程序.此应用程序使员工能够在成功完成后进入并显示图片.通过应用程序内的mySQL查询(从非本地远程位置)检索图片,该查询将图像内容转换为在图片框中输出的可读图像,从而确认员工的身份.
在我看来,将图像存储在数据库中并通过简单的查询检索它们要容易得多.我发现这比在数据库中存储图像路径和处理下载图像的应用程序要容易得多.我也不必处理冲突,文件夹组织和安全性以及为x,y等原因重写的路径等.
存储在DB中的图像在裁剪成一定大小后仅为20 kb.我的问题是,是否仍然需要使用图像路径嵌入数据库,还是应该像现在一样存储它们?如果在这种情况下将图像存储在数据库中仍然是不明智的,是否有正式的方法来存储图像路径?
任何有关这方面的帮助将不胜感激.如果这个问题不属于这里,我会很乐意提出这个问题.
解决方法
>如果您需要备份的只是数据库,则备份更容易管理.另一方面,如果将某些应用程序数据存储在数据库中,而某些应用程序数据存储在文件系统中,则必须协调数据库和文件系统的备份计划,以确保两者保持一致.
如果你有一个数据库管理员,那就太好了!您的备份应该已经处理好了.如果没有,那么设置数据库备份可能有点棘手,但是一旦你有备份系统,它可能比文件系统备份更好.例如,许多数据库系统都支持流复制.
>如果您的应用程序是负载平衡的并由多个Web服务器池提供服务,那么您必须将数据复制到所有计算机,或者使用网络文件系统在服务器之间共享它们.
当然,在文件系统上拥有图像也有其优点,即性能和简单性,因为大多数Web服务器都是为了提供静态文件而构建的.混合方法可以为您提供两全其美的优势:
>存储在数据库中的图像将是权威数据.>您的应用程序可以具有将其作为一种缓存在本地文件系统中作为文件提取的功能.该缓存可以随时重建,因为它不具有权威性.>然后,Web服务器可以直接从文件系统提供文件.