El término BLOB se encuentra pri­n­ci­pa­l­me­n­te re­la­cio­na­do con bases de datos y proyectos de código abierto. Se emplea para almacenar archivos binarios, es decir, archivos que pueden contener no solo ca­ra­c­te­res im­pri­mi­bles, sino también patrones de bits ar­bi­tra­rios. Los ejemplos más típicos de este tipo de archivos son los de imagen o audio, los archivos co­m­pri­mi­dos o los datos para hojas de cálculo. Si vas a utilizar objetos binarios grandes en un proyecto, debes respetar ciertos pro­ce­di­mie­n­tos. ¿Qué es exac­ta­me­n­te un BLOB? ¿Cuáles son sus ca­ra­c­te­rí­s­ti­cas? ¿Cuáles son las ventajas y de­s­ve­n­ta­jas de su apli­ca­ción?

¿Qué es un BLOB?

La abre­via­tu­ra inglesa BLOB co­rre­s­po­n­de a Binary Large Objects (en español, objeto binario grande). Frente a los BLOB, los CLOB (Character Large Objects) (o TEXT) son también objetos grandes, formados sin embargo por cadenas de ca­ra­c­te­res.

Como ya me­n­cio­na­mos, entre los objetos binarios grandes típicos se pueden encontrar archivos de audio e imagen, así como datos de archivo u hojas de cálculo. Los vídeos son también co­n­si­de­ra­dos BLOB, por lo que los archivos binarios pueden tener un tamaño de varios cientos de gigabytes. Según su inventor, Jim Starkey, primero se ideo el término BLOB y solo más tarde se le atribuyó el si­g­ni­fi­ca­do de Binary Large Object. En 1997, Starkey declaró que esto se hizo porque la palabra “BLOB” resultaba poco seria a efectos de marketing.

Los BLOB en las bases de datos

Las bases de datos han de procesar de forma especial los objetos binarios grandes. Los tipos de datos es­pe­cia­les son im­pre­s­ci­n­di­bles. Las bases de datos no pueden leer ni co­m­pre­n­der el contenido no es­tru­c­tu­ra­do de los BLOB, sino que los han de almacenar como un todo y solo pueden leer el nombre de archivo, el tipo de archivo y el tamaño de archivo del BLOB. Por lo tanto, al trabajar con objetos binarios grandes, las bases de datos no pueden realizar sus funciones propias, tales como cla­si­fi­car, filtrar o buscar contenido.

Nota

La di­fe­re­n­cia entre los datos es­tru­c­tu­ra­dos y los no es­tru­c­tu­ra­dos es que los primeros tienen una es­tru­c­tu­ra clara. En los datos es­tru­c­tu­ra­dos, toda la in­fo­r­ma­ción se puede vi­sua­li­zar en los campos co­rre­s­po­n­die­n­tes de la base de datos. En cambio, los datos no es­tru­c­tu­ra­dos no permiten sacar co­n­clu­sio­nes sobre el contenido. Solo se conoce el tipo de datos.

Los objetos binarios grandes se almacenan en los distintos sistemas de bases de datos de forma diferente. Como a menudo la es­tru­c­tu­ra de las bases de datos no es apropiada para almacenar BLOB, se almacenan en otro sitio. La base de datos contiene, entonces, una re­fe­re­n­cia que recoge dónde se almacena el archivo paginado. De­pe­n­die­n­do del sistema de base de datos, los archivos binarios grandes se en­cue­n­tran bajo otros nombres, y en algunas so­lu­cio­nes como MySQL incluso tienen nombres di­fe­re­n­tes según el tamaño de los archivos. En la siguiente tabla pre­se­n­ta­mos algunos de los sistemas más conocidos, in­clu­ye­n­do los nombres empleados re­s­pe­c­ti­va­me­n­te para los BLOB.

Base de datos Tipo de datos
MySQL Hasta 0,255 kb: TI­N­Y­BLO­BHa­s­ta 64 kb: BLOBHasta 16 MB: ME­DIU­M­BLO­BHa­s­ta 4 GB: LONGBLOB
Po­s­t­gre­S­QL BYTEA y Object Ide­n­ti­fier
Oracle BLOB
DB2 BLOB
Microsoft SQL Server binary, varbinary, text, ntext

¿Dónde se utilizan los BLOB?

Los BLOB se utilizan pri­n­ci­pa­l­me­n­te en la industria de los big data. Los datos en bruto re­co­pi­la­dos de los vi­si­ta­n­tes de un sitio web se agrupan como co­le­c­cio­nes de datos y se almacenan en bases de datos en todo el mundo. Re­co­pi­la­dos en bruto, estos datos no están es­tru­c­tu­ra­dos, por lo que esta es la forma más sencilla para que los capturen los sistemas de bases de datos. Los BLOB también se utilizan para almacenar películas o programas de te­le­vi­sión en bases de datos de forma cifrada.

Los objetos binarios grandes también se emplean en el ámbito del software de código abierto: incluso si, por defecto, todos los co­m­po­ne­n­tes de un proyecto de código abierto deben generarse a partir de un código fuente de acceso público, esto no siempre es así. En muchos casos, también se incluyen elementos pro­pie­ta­rios (es­pe­cia­l­me­n­te, co­n­tro­la­do­res de di­s­po­si­ti­vos), que están di­s­po­ni­bles úni­ca­me­n­te en formato binario. El término BLOB también se usa para estos datos, aunque la inclusión de estos objetos en proyectos de código abierto es bastante co­n­tro­ve­r­ti­da.

Ventajas y de­s­ve­n­ta­jas de los objetos binarios grandes

El uso de los BLOB para un proyecto se debe sopesar cui­da­do­sa­me­n­te, dado que presenta algunas ventajas decisivas, si bien también in­co­n­ve­nie­n­tes.

Ventajas In­co­n­ve­nie­n­tes
Los BLOB ofrecen la po­si­bi­li­dad de integrar fá­ci­l­me­n­te grandes datos binarios en una base de datos y son fáciles de re­fe­re­n­ciar No todas las bases de datos permiten el uso de BLOB
Los derechos de acceso se pueden co­n­fi­gu­rar fá­ci­l­me­n­te en la gestión de derechos Los BLOB son in­e­fi­cie­n­tes debido a la cantidad de espacio en disco requerido y al tiempo de acceso que requieren
Todos los datos están co­n­te­ni­dos en copias de seguridad de la base de datos o en data dumps Hacer copias de seguridad lleva mucho tiempo debido al tamaño de los BLOB
Ir al menú principal