BLOB: Què és, com funciona i les seves aplicacions en tecnologia i el núvol

Darrera actualització: 30 de maig de 2025
  • Un BLOB és un objecte binari gran dissenyat per emmagatzemar dades massives de qualsevol tipus
  • Al desenvolupament web i al núvol, els blobs permeten gestionar arxius multimèdia i dades no estructurades
  • Azure Blob Storage és una de les solucions més potents per emmagatzemar i gestionar blobs al núvol

què és BLOB

Quan busques què és BLOB segurament et trobis amb un terme que sembla sortit d'una pel·lícula de ciència ficció o fins i tot un món gairebé incomprensible per als que no es dediquen a la informàtica. Tot i això, entendre el concepte de BLOB és fonamental en l'univers de la tecnologia i la programació, ja sigui perquè treballes amb bases de dades, perquè t'interessen les aplicacions web o simplement perquè vols estar al corrent de les tecnologies d'emmagatzematge actuals.

En aquest article desgranarem de forma senzilla i exhaustiva tot allò relatiu a BLOB . Descobrireu quin significat té aquest acrònim en informàtica, quins són els seus usos, com ha evolucionat el concepte i per què s'ha tornat tan imprescindible tant en sistemes locals com en el núvol. Cobrirem des de l'explicació més tècnica fins als detalls quotidians i exemples d'aplicació, sense deixar de banda alguna dada curiosa sobre l'origen de la paraula.

El significat de BLOB en tecnologia

La paraula BLOB ve de les sigles en anglès Binary Large Object , que traduït al castellà seria una cosa així com objecte binari gran . Es tracta d'un terme molt utilitzat per descriure un tipus de dada especialitzat en l'emmagatzematge d'informació massiva en format binari dins de bases de dades o sistemes de fitxers.

En altres paraules, un BLOB és simplement un apartat d'una base de dades preparat per emmagatzemar elements grans i indiferenciats de dades , que poden anar des d'imatges, vídeos, còpies de seguretat, fins a qualsevol fitxer multimèdia o binari, i fins i tot grans documents de text que no tenen una estructura definida. La seva característica principal és que el contingut es troba en format binari, cosa que el fa il·legible per a l'ésser humà sense l'ajuda d'un programari específic capaç d'interpretar-lo.

Per què BLOB i no un altre tipus de dades?

L'elecció de BLOB com a tipus d'emmagatzematge sorgeix perquè hi ha dades l'estructura i les mides de les quals no encaixen bé amb els tipus clàssics que fem servir en bases de dades (com cadenes de text o nombres enters). Penseu per exemple en una fotografia digital, un vídeo d'alta resolució o una base de dades virtual completa. Tot això necessita un espai flexible, sense límits estrictes i sense interpretació prèvia. Un BLOB ofereix exactament això: un «contenidor» per a qualsevol mena d'informació, sobretot si no sabem gaire bé com classificar-la.

Les dades clàssiques, més senzilles i destinades a ser llegides com a text (per exemple, arxius XML, JSON o textos plans) solen guardar-se com a CLOB ( Character Large Object ), que és un tipus similar però enfocat a caràcters en lloc de bytes binaris. En definitiva, amb BLOB es resol l'emmagatzematge de tot allò el format del qual no encaixi amb els tipus estàndard.

D'on ve el terme BLOB?

Com a curiositat, la denominació “BLOB” no ve originalment del món informàtic, sinó de la cultura popular. S'atribueix el nom a la pel·lícula de ciència ficció de 1958 protagonitzada per Steve McQueen, anomenada The Blob , en què una massa amorfa arrasa amb tot el que troba. Aquest concepte de «massa sense forma», fàcil d'emmotllar i de mida indefinida, va servir com a inspiració per anomenar aquests objectes binaris tan flexibles i voluminosos.

De fet, encara que molts assumeixen que les sigles fan referència a Binary Large Object , en alguns contextos es parla també de Basic Large Object , obrint la porta a la idea que un blob no ha de ser sempre binari, sinó qualsevol gran «objecte bàsic» que necessiti ser emmagatzemat sense estructurar.

  Guia Completa de l'HDR a Videojocs: Com millorar l'experiència visual

Per què es fan servir els BLOB?

La utilitat més habitual dels BLOB és la gestió d'arxius multimèdia : fotos, vídeos, enregistraments d'àudio i, en general, qualsevol fitxer que superi la mida i l'estructura tradicional de les dades emmagatzemades. Per exemple, els sistemes de gestió documental empresarials, els ERPs i les solucions cloud solen basar la seva eficiència demmagatzematge en aquest tipus dobjectes.

Però els BLOB també s'utilitzen en altres escenaris, com l'emmagatzematge de discs durs virtuals, imatges de còpia de seguretat, fitxers comprimits o documents de grans dimensions. La seva importància és clau en el desenvolupament d'aplicacions web modernes i serveis al núvol.

Com utilitza BLOB el desenvolupament web: el cas de JavaScript i l'API de Blob

El concepte de BLOB ha cobrat especial protagonisme al desenvolupament web, especialment en el maneig de fitxers dins del navegador. Llenguatges com JavaScript i API com la Web API de Blob permeten manipular dades binàries directament des de pàgines i aplicacions web. Blob a la web representa un arxiu pla de dades immutables. Pot contenir qualsevol tipus d'informació: des d'una imatge generada dinàmicament fins a fragments de text o qualsevol fitxer penjat per l'usuari.

En realitat, la interfície File que s'utilitza per interactuar amb fitxers al navegador està basada en Blob. Això permet que els fitxers manipulats per l'usuari, com imatges o documents, puguin ser tractats com a objectes Blob manipulables en diferents operacions: visualització, descàrrega, enviament a servidors i molt més.

A JavaScript podem crear un Blob amb el constructor Blob(), a partir d'arrays que poden contenir altres blobs, cadenes o fins i tot buffer sources (dades binàries de baix nivell). També es pot extreure una porció d'un blob existent amb el mètode slice(), cosa que serveix per treballar només amb la part que ens interessa sense carregar tot l'objecte en memòria.

Utilització pràctica dels BLOB en aplicacions web

Un dels usos més comuns de BLOB al navegador és la generació dinàmica d'arxius: fitxers que l'usuari pot descarregar sense necessitat d'estar prèviament emmagatzemats al servidor. Per exemple, podem crear un petit arxiu text o imatge «al vol» al client, transformar-lo en un Blob i posar-lo a disposició de l'usuari mitjançant un enllaç (ja sigui inserint un <a> a l'HTML o forçant la descàrrega via JavaScript).

Aquest procés es recolza en el mètode URL.createObjectURL(blob), que genera una URL temporal vàlida només durant la sessió actual, que permet mostrar el contingut del Blob en altres elements (com imatges o enllaços de descàrrega). Un detall interessant és que mentre l'URL estigui activa, l'objecte Blob roman a la memòria del navegador; per això existeix el mètode URL.revokeObjectURL(url) per alliberar aquests recursos quan ja no es necessitin.

Quan volem transmetre informació entre client i servidor en aplicacions web, els BLOB es tornen el format preferit per a fitxers binaris gràcies a la seva versatilitat i compatibilitat amb les API modernes (com fetch, XMLHttpRequest, etc.). També permeten carregar imatges al canvas del navegador, editar-les i exportar-les com a nous blobs per enviar o descarregar.

Conversions i eficiència: de Blob a base64 i viceversa

Una altra utilitat molt freqüent és la conversió de blobs a cadenes base64 . Així es pot incrustar informació binària a URLs de dades (per exemple, imatges embegudes a l'HTML). El procés consisteix a transformar el contingut dun Blob (per exemple, una imatge generada per lusuari) en una cadena base64 que el navegador pot entendre i mostrar directament.

  Active Desktop: Què és, per a què servia i quin va ser el seu impacte a la història de Windows

Aquesta tècnica és útil en certs contextos, encara que té l'inconvenient d'un consum més gran de memòria i un rendiment menor quan es manegen arxius molt grans.

El paper dels BLOB a l'emmagatzematge al núvol: Azure Blob Storage

En el context de l'emmagatzematge al núvol, especialment en plataformes com Microsoft Azure , els BLOB adquireixen una dimensió crucial. Azure Blob Storage és un servei d'emmagatzematge d'objectes optimitzat per a grans volums de dades no estructurades, és a dir, informació que no respon a un model de dades rígid, com ara imatges, vídeos, respatllers o qualsevol fitxer binari o textual de grans dimensions.

El sistema està jerarquitzat en tres nivells bàsics:

  • Compte d'emmagatzematge: el contenidor principal, amb un espai de noms únic i els accessos configurats.
  • contenidor: una subdivisió dins del compte, on s'emmagatzemen i s'organitzen els blobs, de manera similar als directoris en un sistema de fitxers tradicional.
  • BLOB: l'arxiu específic o conjunt de dades desat dins d'un contenidor, que pot ser de diferents tipus segons l'ús i la naturalesa.

Azure Blob Storage admet diverses formes d'accés i gestió: des d'APIs (REST, SDKs, PowerShell, CLI) fins a integracions amb altres serveis d'Azure i protocols com ara SFTP o NFS. A més, ofereix funcions avançades com a emmagatzematge en diversos nivells de cost (per optimitzar recursos), alta disponibilitat, opcions de recuperació davant de desastres i compatibilitat amb grans càrregues de treball analítiques mitjançant Azure Data Lake Storage Gen2.

Tipus de blobs suportats a Azure

Dins d'Azure Storage trobem tres tipus principals de blobs :

  • Blobs en blocs: pensats per emmagatzemar dades binàries i text, formats per blocs individuals que es poden gestionar de forma separada. Perfectes per a fitxers multimèdia o grans volums de dades.
  • Blobs a annexos: similars als anteriors però optimitzats per a operacions contínues d'afegit de dades, com seria el cas d'un registre de logs o esdeveniments.
  • Blobs en pàgines: dissenyats per a arxius d'accés aleatori, com a discs durs virtuals (VHD), i amb capacitats de fins a 8 TiB.

Cada tipus de blob té les pròpies regles i limitacions quant a mida màxima, estructura i nombre de segments en els seus noms, cosa que permet una adaptació precisa a les necessitats de l'usuari o l'aplicació.

Migració i gestió de dades a Azure Blob Storage

La migració de dades cap a Azure Blob Storage es pot fer de moltes maneres, depenent del volum i la urgència:

  • AzCopy: eina de línia d'ordres per a transferències eficients de dades entre contenidors o des de sistemes locals.
  • Azure Data Factory: per a integracions de dades complexes i automatitzades, suportant diferents orígens i destinacions.
  • Azure Data Box y servei Import/Export: solucions per transferir grans volums de dades mitjançant dispositius físics quan la pujada directa per xarxa no és viable.
  • BlobFuse: controlador que permet muntar un contenidor de blobs com si fos un sistema de fitxers a Linux.
  • Biblioteques de clients: per manejar la gestió de blobs i la seva integració en aplicacions personalitzades des de gairebé qualsevol llenguatge popular.

A més, Azure permet una gran flexibilitat a l'hora de definir regles de noms, gestió de segments i estratègies d'organització per optimitzar l'accés, seguretat i administració de les dades emmagatzemades.

Detalls tècnics avançats i consideracions sobre l'ús de blobs

Quan treballem amb blocs en aplicacions web, és important considerar la gestió de memòria i el cicle de vida dels objectes carregats. Per exemple, si generem moltes URL temporals per a blobs i no les alliberem (revocant l'URL), podem acabar saturant la memòria del navegador, cosa que pot afectar el rendiment general i l'experiència de l'usuari.

  Rendiment SSD NVMe vs SATA: diferències reals i quan val la pena

D'altra banda, el maneig de streams a partir de blobs permet processar fitxers de grans dimensions «a trossos» en lloc de carregar tot el fitxer d'una vegada, cosa que resulta fonamental per mantenir el rendiment i l'estabilitat en aplicacions que gestionen fitxers pesants. JavaScript posa a disposició mètodes com blob.stream() o blob.arrayBuffer(), facilitant la lectura en fragments i la integració amb APIs modernes de streaming.

Exemple d'ús pràctic de blobs en desenvolupament web

Imagina que tens una aplicació on l'usuari pot pujar una imatge, editar-la al navegador i després descarregar la versió modificada. Tot aquest procés es pot gestionar perfectament usant blobs:

  • La imatge pujada per lusuari es converteix en un blob i es representa en pantalla.
  • L'usuari edita la imatge (per exemple, retalla, afegeix filtres, etc.).
  • El resultat s'exporta generant un nou blob, que es pot descarregar, compartir o enviar al servidor.
  • Si voleu mostrar la imatge de forma temporal, es crea una URL amb URL.createObjectURL(blob), que es pot fer servir en una etiqueta <img>.

Aquest flux és extensible a documents PDF, vídeos, àudio i qualsevol fitxer binari que intervingui en l'aplicació.

Errors freqüents i bones pràctiques en treballar amb blobs

Un dels errors més comuns és no alliberar correctament les URLs de blobs temporals, la qual cosa provoca fuites de memòria.

En entorns empresarials, triar correctament entre desar un blob com a bloc, annex o pàgina, així com planificar el nom i l'organització dels contenidors al núvol, pot significar la diferència entre una solució eficient i una altra de difícil de mantenir i escalar.

L'ús de blobs està tan estès que actualment pràcticament qualsevol aplicació que impliqui arxius multimèdia, processament d'imatges o gestió documental a gran escala els utilitza d'alguna manera, tant en entorns locals com en serveis cloud.

La idea darrere del concepte BLOB és tan flexible i poderosa que li ha permès evolucionar des d'una simple massa amorfa amb nom inspirat en una pel·lícula, a convertir-se en un dels pilars de l'emmagatzematge de dades del present i el futur. Des del desenvolupament web fins a la computació al núvol, passant per sistemes empresarials i solucions de còpia de seguretat , l'ús de blobs ja és imprescindible per al maneig eficient i segur de grans volums de dades.

</relacionado]