如果我可以在数据库中保存文件路径,在存储中保存实际文件,为什么还要使用blob呢?

yyyllmsg  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(517)

我知道blob是二进制数据的一种数据类型,integer是int的一种数据类型。正如他们所说,它用于直接将文件存储在数据库中(我们将音频文件移到blob中,并将该blob保存在数据库中)。
问题1)如果我可以将音频放在存储器中(例如path/var/www/audio.mp3)并且在数据库中存储path\u name/var/www/audio.mp3,为什么要存储音频的blob?
问题2)哪个更好?netflix如何存储电影?只是一团还是什么?
问题3)好奇你能不能给我一些建议,让我知道什么时候该用。

zwghvu4y

zwghvu4y1#

有了blob,你可以储存各种各样的东西。您是否通过soap或json与api通信并希望将其存储在数据库中?使用blob。想记录用户在表单抛出异常时填写的内容吗?将整个帖子存储为一个blob。你可以按原样保存一切。如果您有不同的数据格式,那么它可以方便地进行日志记录。我知道一个api,它期望一些数据通过soap,另一些作为json。为了记录通信,我使用blob,因为响应可能是xml、json、一个数字(http代码203表示空但接受)或一个异常作为数组。

disho6za

disho6za2#

将blob放在数据库中,而不是一个文件中,允许您通过负载平衡扩展到多个服务器。如果将数据放在文件中,则必须在服务器之间复制这些文件。大多数数据库都有内置的复制功能,这对于常规文件来说并不容易。

czq61nw1

czq61nw13#

最好使用外部存储/cdn来服务这样的大内容。
netflix和我们的合作如何?他们在外部bucket i上传内容。e。s3,并将文件名写入数据库进行识别。根据用户文件访问频率,确定文件缓存在cdn/edge上的位置。当content server从最近的边缘位置运行时,用户将获得很棒的体验

相关问题