Mysql 为基于web的应用程序存储和检索大型视频文件的最佳方法?
我正在制作一个视频分享网站。所以我在想什么是存储大量大型视频文件的最佳方式。因此,在访问它们时,它将是快速和高效的 我问我的同事,他们说在硬盘文件夹中以文件形式存储不会有效率,因为在很多读/写操作中会非常慢 有人建议存储在mysql blob中 我在这里很困惑Mysql 为基于web的应用程序存储和检索大型视频文件的最佳方法?,mysql,blob,video-processing,Mysql,Blob,Video Processing,我正在制作一个视频分享网站。所以我在想什么是存储大量大型视频文件的最佳方式。因此,在访问它们时,它将是快速和高效的 我问我的同事,他们说在硬盘文件夹中以文件形式存储不会有效率,因为在很多读/写操作中会非常慢 有人建议存储在mysql blob中 我在这里很困惑 让我知道你们的想法吧?通常在数据库中存储大型文件被认为是不好的做法。有关更多信息,请参阅问题及其链接 而不是简单地在磁盘上存储,您可能希望考虑使用一种服务,例如,如果您的预算允许, 在MySQL数据库中存储将比在HDD上存储二进制文件要慢
让我知道你们的想法吧?通常在数据库中存储大型文件被认为是不好的做法。有关更多信息,请参阅问题及其链接
<>而不是简单地在磁盘上存储,您可能希望考虑使用一种服务,例如,如果您的预算允许, 在MySQL数据库中存储将比在HDD上存储二进制文件要慢。如果一台机器无法处理负载,您可以将文件副本存储在多台机器上,并使用现成的负载平衡器来管理它。这是一个解决方案,需要您在前期投入少量时间,但从长远来看会为您节省大量麻烦。。。正在使用云存储服务,如: 或
它是可扩展的,您的服务器将能够集中精力运行您的web应用程序。视频太大,无法有效地存储在MySQL中。使用文件系统。想出一个合理的方法将视频文件分类到不同的目录中,这样你就不会在一个目录中有成千上万的文件。例如,所有以“a”开头的文件都进入目录“a”,等等
如果您的站点变得非常大,那么将您的视频卸载到CDN可能是有意义的,例如。使用数据库中的ID键将文件排序到文件夹中 取第一个号码,放在第一个目录中,第二个号码放在下一个目录中。。等等: 例: 十八 /视频/1/8/MyvideoFile 1892年 /视频/1/8/9/2/MyVideoFile 或者,您也可以通过在数据库中存储服务器编号,在各种服务器或NAS群集上对它们进行排序
希望能有所帮助。例如,您有一个大小为50 GB的文件,您可以在50个磁盘上并行写入,每个磁盘上有1 GB的部分,因此您只需1秒钟即可写入,同样,从50个磁盘读取也需要1秒钟。考虑文件系统,如HDFS。 需要注意的是,除非您利用Phoenix/HBase检索数据,否则Web应用程序应避免使用HDFS。这些服务的开销可能不会很好,除非您在服务器上有大量的现金可以消耗。