Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Mysql 为基于web的应用程序存储和检索大型视频文件的最佳方法?_Mysql_Blob_Video Processing - Fatal编程技术网

Mysql 为基于web的应用程序存储和检索大型视频文件的最佳方法?

Mysql 为基于web的应用程序存储和检索大型视频文件的最佳方法?,mysql,blob,video-processing,Mysql,Blob,Video Processing,我正在制作一个视频分享网站。所以我在想什么是存储大量大型视频文件的最佳方式。因此,在访问它们时,它将是快速和高效的 我问我的同事,他们说在硬盘文件夹中以文件形式存储不会有效率,因为在很多读/写操作中会非常慢 有人建议存储在mysql blob中 我在这里很困惑 让我知道你们的想法吧?通常在数据库中存储大型文件被认为是不好的做法。有关更多信息,请参阅问题及其链接 而不是简单地在磁盘上存储,您可能希望考虑使用一种服务,例如,如果您的预算允许, 在MySQL数据库中存储将比在HDD上存储二进制文件要慢

我正在制作一个视频分享网站。所以我在想什么是存储大量大型视频文件的最佳方式。因此,在访问它们时,它将是快速和高效的

我问我的同事,他们说在硬盘文件夹中以文件形式存储不会有效率,因为在很多读/写操作中会非常慢

有人建议存储在mysql blob中

我在这里很困惑


让我知道你们的想法吧?

通常在数据库中存储大型文件被认为是不好的做法。有关更多信息,请参阅问题及其链接


<>而不是简单地在磁盘上存储,您可能希望考虑使用一种服务,例如,如果您的预算允许,

在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。这些服务的开销可能不会很好,除非您在服务器上有大量的现金可以消耗。