将视频文件存储在数据库中是一个好主意,或将它们存储在物理磁盘上。

这是一个类似于YouTube的网站,用户可以上传他们的视频并查看它们

数据库将是mysql

哪个选项更好,为什么

谢谢

有帮助吗?

解决方案

pro mysql: - 斑点可能会受到外键的约束,从而使数据库冗余而不是保存到文件系统。在这种情况下,您必须对文件的删除进行编程。 - 细化的用户权限。

con: - mySQL并非免费运行,它带有开销,而不是文件系统的服务。 - 网络服务器无法直接从数据库中提供斑点。这意味着PHP必须调解该过程。当Blob从MySQL加载到PHP中时,内存使用量至少与BLOB一样大。因此,在您的情况下,文件可能会陷入数百个MB的情况下,这会给网络服务器带来巨大的压力。

实际上,MySQL并非用于保存文件。斑点主要用于节省串行数据(例如缓存)的凸出弹性。

其他提示

我正在使用NFS来存储大约5年的媒体内容,而在存储角度没有问题。通过FFMPEG,PHP脚本和CRON作业来管理,编码和保存。视频元数据存储在MySQL数据库中,并通过NGINX提供Web交付(通过仅读取NFS MONT)。在此环境中,视频文件尺寸高达2GB。可能我可以在另一台数据库引擎上更快地走,但是实时浪费是由于编码过程而不是保存文件所致。

当我保存数千张小图像(如化身)时,我曾经使用mySQL来存储文件元数据(图像路径和其他属性),而不是将文件保存在斑点字段中,这些文件可能会在重质查询时过多地减慢数据库的速度。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top