写点什么

数据库中存媒体文件的字段用什么类型?一文带你了解二进制大对象 BLOB

作者:wljslmz
  • 2022 年 8 月 24 日
    江苏
  • 本文字数:1133 字

    阅读完需:约 4 分钟

数据库中存媒体文件的字段用什么类型?一文带你了解二进制大对象BLOB

你好,这里是网络技术联盟站。


在大数据环境中,BLOB 很常见,并且存储在关系或非关系数据库系统中,本文瑞哥带大家了解一下 BLOB,让我们直接开始。

什么是 BLOB?

  • 英文全称:Binary Large Object

  • 中文名称:二进制大对象


Jim Starkey 是 BLOB 的发明者,它于 1970 年代首次出现,描述的是一个二进制形式的大文件,一般可以是视频、音频或图像和图形文件。BLOB 可以具有数 GB 大小的数字存储单元,它被压缩成单个文件,然后存储在数据库中。由于二进制数据只能被计算机读取,并且由数字 0 和 1 组成,因此通常需要打开相关程序。



由于 BLOB 文件的原始内容在存储时通常是非结构化的,因此它需要一个数据库名称或类型来处理文件并使其可访问。


典型的 BLOB 文件和类型:


  • 视频(MP4、MOV)

  • 音频 (MP3)

  • 图像(JPG、PNG、PDF、RAW)

  • 图形 (GIF)


BLOB 的类型

共有三种不同类型的 BLOB:



块 BLOB


  • 最常见的 Blob 存储类型

  • 块的集合,每个块都可以通过块 ID 识别

  • 用于流式传输序列数据,如视频

  • 每个块最大为 4 MB

  • 最多可以创建 50000 个块

  • 最大大小 195 GB

  • 多个客户端不可以写入同一个 blob


追加 BLOB


  • 追加 Blob 与块 Blob 类似,但支持追加操作并且专为日志文件而设计

  • 针对追加操作进行了优化

  • 用于记录等活动

  • 每个块最大为 4 MB

  • 最多可以创建 50000 个块

  • 最大大小为 195 GB

  • 多个客户端可以写入同一个 blob


页面 BLOB


  • 专为频繁的读/写操作而设计

  • 为随机读写操作优化的页面集合

  • 用于非顺序读写

  • 一个页面最多可以有 512 个字节

  • 创建的页面数量没有限制

  • 最大大小 1TB

  • 多个客户端不可以写入同一个 blob

BLOB 使用场景

媒体

图像、视频和音频数据占用大量空间,有时需要存储但不一定要定期访问。

日志

当软件执行时,它会不断创建一系列事件,这些事件可以记录在日志中以供以后分析,这些数据量会随着时间进行增加,Blob 存储能够以非结构化形式快速、廉价地存储这些数据。但是,对于此场景,blob 存储的成本效益较低,任何日志数据查询都会产生访问费用。

备份和灾难恢复

大多数组织需要保留完整的备份,尤其是从勒索软件攻击中恢复,由于此数据在生产中重复且很少访问,因此 Blob 存储非常适合备份大型数据集。

BLOB 在数据库中的使用

二进制大对象由不同的数据库系统以不同的方式存储,数据库的结构通常不适合直接存储 BLOB。


我们来看下每个数据库系统存储大文件对象用的是什么字段:


  • MySQL:BLOB,TINYBLOB(最大 64 KB)、MEDIUMBLOB(最大 16 MB)、LONGBLOB(最大 4 GB)

  • PostgreSQL:BYTEA 或通过 OID

  • Oracle :BLOB

  • DB2 :BLOB

  • SQL Server:binary, varbinary, text, ntext

总结

BLOB 在如今系统中经常遇到此类型,本文用精简的向大家介绍了 BLOB 的原理、类型和使用场景,希望本文对您有所帮助,


最后感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!

发布于: 刚刚阅读数: 3
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

公众号:网络技术联盟站 👍InfoQ签约作者 👍阿里云社区签约作者 👍华为云 云享专家 👍BOSS直聘 创作王者 👍腾讯课堂创作领航员 博客+论坛:https://www.wljslmz.cn 工程师导航:https://www.wljslmz.com

评论

发布
暂无评论
数据库中存媒体文件的字段用什么类型?一文带你了解二进制大对象BLOB_数据库_wljslmz_InfoQ写作社区