观看这个关于如何设计 Tinder 的视频,06:50 正在讨论文件与 BLOBS 的问题。
我想知道大型二进制文件和 BLOB(二进制大型对象)之间有什么区别。
它们的不同之处在于
差异的根源是什么?他们听起来和我很相似。
当视频引用BLOB(二进制大对象)时,它并不引用任何旧的二进制信息(文件)集合。根据这篇维基百科文章,它具体意味着
作为单个实体存储在数据库中的二进制数据的集合 管理系统。
区别在于“数据库管理系统”。 BLOB 由 DBMS 管理,尽管它可能仍存储在文件系统中。然而,其他文件则直接存储在文件系统中,并且往往只存储一个URI到数据库中。
我假设您问的是普通文件和 BLOB 之间的区别。普通文件包含有关媒体本身的信息(图像、视频、文件)以及元数据(名称、大小、..)。 BLOBS 仅包含有关文件的二进制数据,这意味着它们没有元数据。只是关于图像、视频或其他内容的纯二进制数据。
但是如果你看一下 BLOB,它不是 1 和 0。这是因为它是十六进制或 base64 格式,而不是二进制格式。但是,当您的计算机准备好使用该 blob 时,它会将十六进制转换为二进制。
如果要将图像存储在数据库中,则首先从图像创建 BLOB,然后将该 BLOB 存储在数据库中。有关图像的元数据(名称、大小等)也将存储在另一行中。然后,当您想要取回该图像时,您可以提取作为实际图像的 BLOB 和元数据,然后将两者组合起来形成一个可用的图像(即文件)。
二进制文件包含二进制,而BLOB也包含二进制数据,但不像二进制文件那样直接存储在零和一中,而是以十六进制格式存储,当文件准备好供计算机使用时,需要将其转换为二进制。