Binary large object

From ArticleWorld


A binary large object (abbreviated as BLOB) is a large block of data stored in a database. BLOBs can be used to represent pictures, digitized video, sound files, executable files or free text. The database management system does not recognize the structure of a BLOB except for its size and location.

Typically, a BLOB is stored in a special area of its own – away from the relation that logically contains it. The relation simply contains a pointer to the BLOB.

Other large data types used in some DBMSs include:

  • CLOB (Character Large Object)
  • BFILE (Binary file stored outside the database)
  • NCLOB (fixed-width multi-byte CLOB)
  • DBCLOB (Double-Byte Character Large Object)

BLOBs as unstructured complex objects

BLOBs are unstructured complex objects in the sense that the DBMS does not recognize their structure – they are meaningful only to the application programs that use them.

For example, a BLOB representing a sound file can be edited or played by an appropriate application, but the DBMS may only recognize it as a stream of bytes. BLOBs are considered as complex objects because they are large and are not part of the standard data types found in traditional DBMSs.

The DBMS software provides support for the basic functionality of storing and retrieving BLOBs. Additional operations such as selecting or comparing cannot be done, unless the application program provides the code for such purposes. In object-oriented DBMSs, this can be accomplished by defining new data types along with methods for selection, comparison and display.

Etymology

The word "blob" was invented circa 1990 to refer to non-standard chunks of data such as documents and images. The term actually stood for nothing, rather, it was coined from the 1958 Steve McQueen movie "The Blob". The acronyms "Basic large object" and "Binary large object" were concocted by marketing departments to justify the term, because it sounded unprofessional to some.