我希望将视频作为BLOB类型存储在数据库中。 视频将使用渐进式下载进行播放。
我可能遇到任何问题吗? 使用html5视频播放器,它看起来像这样:
<video width="800" height="450" src=BLOB type=""/></video>
答案 0 :(得分:0)
通过将视频文件存储在数据库中,这意味着每次出现视频请求时都会调用您的数据层,从IO角度来看这也是非常昂贵的,同时考虑到(AFAIK)大多数数据库都没有#&# 39; t让你从偏移量中访问二进制信息,这意味着你无法为消费者提供寻求支持(他们都必须先完全下载视频)。
如果您正在使用任何形式的缓存,那么将视频文件存储在数据库中是可以接受的,具体取决于负载(将为此视频提出多少请求?),因此它不需要经常点击数据库(例如将整个视频存储在memcached中),视频有多大(如果他们只是6秒的Vine风格的视频,那么你就可以侥幸使用它,如果它们是20GB然后可能没有4K高清纪录片视频。
出于好奇,为什么不使用YouTube等第三方视频托管服务或使用CDN托管您的视频文件?
答案 1 :(得分:0)
存储Blob的一些缺点
当您的数据库变得越来越大时,备份将变得更加困难。恢复超过100 GB数据的表的备份并不会让您满意。
另一件事是,随着数据集的增长,所有表管理功能都变得越来越慢。 但是,这可以通过使您的数据表只包含2个字段来解决:ID和BLOB。
检索数据(通过主键)可能只会在您通过备份数据集进入墙后很长时间内成为问题。
答案 2 :(得分:-1)
我们在pas项目中有类似的情况,我们在磁盘上保存了视频和音频,并研究了将它们保存在数据库中是否有任何好处。我们发现文件系统是最简单和最原始的解决方案,只要您有复杂的要求,您的选择就是数据库,但请记住这些: