什么是DBMS上下文中的BLOB

cMi*_*nor 62 sql database oracle blob blobstore

  • 什么是BLOB?
  • 我怎么用呢?
  • DBMS的BLOB之间有什么区别.我想使用BLOB将数据保存到任何DBMS中,然后使用库读取BLOB.

sgo*_*les 71

BLOB:

BLOB(二进制大对象)是数据库系统中的大对象数据类型.BLOB可以存储大量数据,文档类型甚至媒体文件,如音频或视频文件.BLOB只有在使用字段中的内容时,字段才会分配空间.BLOB以千兆字节分配空格.

使用BLOB:

您可以将二进制大对象(BLOB)作为二进制或字符数据写入数据库,具体取决于数据源中的字段类型.要将BLOB值写入数据库,请发出相应的INSERT or UPDATE语句并将该BLOB值作为输入参数传递.如果将BLOB其存储为文本(例如SQL Server文本字段),则可以将其BLOB作为字符串参数传递.如果BLOB以二进制格式存储(例如SQL Server图像字段),则可以将byte类型的数组作为二进制参数传递.

一个有用的链接:将文档存储为数据库中的BLOB - 有什么缺点吗?


Ron*_*ndo 10

我不会再次扩展缩写...但我会在另一个定义中添加一些细微差别:您可以将任何数据存储在blob中,而不管它们可能具有的其他字节解释.文本可以存储在blob中,但如果你有这个选项,你最好使用CLOB.

BLOBS在数据库之间应该没有区别,因为在你保存和检索数据之后它没有改变....每个数据库如何实现这是一个黑盒子,幸好几乎毫无例外地无关紧要.然而,与BLOBS交互的方式可能非常不同,因为SQL标准(或规范中的标准?)中没有规范.通常,您必须调用过程/函数来保存检索它们,并且如果不禁止,基于BLOB的内容限制任何查询几乎是不可能的.

在列举为二进制数据的其他内容中,您还可以存储文本的二进制表示 - >具有给定编码的字符代码...而无需实际知道或指定所使用的编码.

BLOBS是存储格式的最低分母.


Gar*_*ers 6

这可能看起来像一个愚蠢的问题,但你真的想用RDBMS做什么?

如果您只想存储文件,那么操作系统的文件系统通常就足够了.RDBMS通常用于结构化数据和(例如SQLite之类的嵌入式数据)处理该数据的并发操作(锁定等).其他有用的功能是安全性(处理对数据的访问)和备份/恢复.在后者中,与常规文件系统备份相比的主要优点是能够通过应用某种形式的日志文件恢复到备份之间的某个时间点.

就数据库而言,BLOB是非结构化和不透明的.Oracle确实为多媒体对象(例如图像)提供了一些特定的ORDSYS类型,这些对象也附加了一堆元数据,并且具有相关的方法(例如重新缩放或重新着色图像).


小智 6

存储在数据库中的任何大的单个数据块,例如图片或声音文件,不包括记录字段,并且不能由数据库的搜索引擎直接搜索.