BLOB (Binary Large Object): un’introduzione

Il termine BLOB si riferisce principalmente a database e progetti open source. È utilizzato per indicare la memorizzazione di file binari, cioè file che possono contenere non solo caratteri stampabili, ma anche modelli di bit casuali. Esempi tipici di tali oggetti sono file di immagini e audio, file compressi o dati per fogli di calcolo. Per l’utilizzo corretto di Binary Large Object è necessario rispettare determinate procedure. In questo articolo vi spieghiamo quali, partendo dalla spiegazione di un BLOB, le sue proprietà e i vantaggi e gli svantaggi della sua applicazione.

Che cos’è un BLOB (Binary Large Object)?

L’abbreviazione inglese BLOB sta per Binary Large Object (in italiano “oggetti di dati binari di grandi dimensioni”): i BLOB si distinguono dai CLOBs (Character Large Objects), anch’essi oggetti di grandi dimensioni, ma costituiti da stringhe di caratteri.

Come già accennato, i tipici oggetti binari di grandi dimensioni includono file audio e immagini, così come file di archivio o dati di fogli di calcolo. Anche i video sono classificati come BLOB, motivo per cui i file binari possono avere dimensioni di diverse centinaia di Gigabyte. L’inventore Jim Starkey ha spiegato nel 1997 che il termine BLOB si è diffuso solo successivamente come acronimo di Binary Large Object perché il nome BLOB era troppo poco professionale per scopi di marketing.

I BLOB nei database

I BLOB nei database richiedono un trattamento speciale. Queste speciali tipologie di dati sono indispensabili. I database non sono in grado di leggere o comprendere il contenuto non strutturato dei BLOB, ma possono memorizzarlo nel suo complesso. Solo il nome, il tipo e la dimensione dei BLOB possono essere letti dal database; le altre funzioni, come classificare, filtrare e ricercare determinati contenuti, non sono possibili.

N.B.

La differenza tra dati strutturati e non strutturati è che i primi hanno uno schema chiaro. Tutte le informazioni dei dati strutturati possono essere visualizzate nei rispettivi campi del database. I dati non strutturati, invece, non consentono di trarre conclusioni sul contenuto, ma rivelano esclusivamente il tipo di dati.

I Binary Large Object sono memorizzati da diversi tipi di database in modi diversi. Poiché la struttura dei database spesso non è adeguata alla memorizzazione diretta dei BLOB, essi vengono esternalizzati. A tale scopo, il database stesso contiene solo un riferimento dove il file esternalizzato viene effettivamente memorizzato. A seconda del particolare sistema di database, ci sono anche termini alternativi per nominare gli oggetti binari di grandi dimensioni, con alcune soluzioni come MySQL che danno anche nomi diversi per file di dimensioni particolari. Alcuni dei sistemi più noti, inclusi i termini per oggetti binari di grandi dimensioni, sono mostrati nella tabella seguente:

Database Tipo di dati
MySQL Fino a 0,255kb: TINYBLOBFino a 64kb: BLOBFino a 16MB: MEDIUMBLOBFino a 4GB: LONGBLOB
PostgreSQL BYTEA e Object Identifier
Oracle BLOB
DB2 BLOB
Microsoft SQL Server binary, varbinary, text, ntext

Dove si utilizzano i BLOB?

I BLOB sono utilizzati principalmente nell’industria del big data. I dati grezzi di massa raccolti dai visitatori del sito web sono raggruppati sotto forma di raccolte di dati e memorizzati in database in tutto il mondo. Questi dati grezzi non presentano alcun tipo di schema e rappresentano il metodo di raccolta più semplice per i sistemi di database. I BLOB possono anche essere utilizzati per memorizzare film o programmi televisivi in database in forma criptata.

Oggetti binari di grandi dimensioni sono richiesti anche in ambiente open source: per impostazione predefinita tutti i componenti di un progetto open source possono essere generati da un codice sorgente pubblicamente accessibile, ma non è sempre così. In vari casi sono inclusi anche elementi proprietari (in particolare i driver dei dispositivi), disponibili esclusivamente in forma binaria. Il termine “BLOB” si è affermato anche per questi dati, anche se l’inclusione di questi oggetti in progetti open source è piuttosto controversa.

Vantaggi e svantaggi dei Binary Large Objects

L’opportunità di utilizzare i BLOB per un progetto deve essere considerata per ogni caso specifico, per considerarne i vantaggi e gli svantaggi.

Vantaggi Svantaggi
I BLOB offrono una buona possibilità di integrare dati binari di grandi dimensioni in un database e possono essere facilmente consultabili Non tutti i database consentono l’uso di BLOB
I diritti di accesso possono essere facilmente impostati dalla gestione dei diritti I BLOB sono inefficienti a causa della quantità di spazio su disco richiesto e del tempo di accesso
Tutti i dati sono contenuti in backup o dump di database La creazione di backup richiede molto tempo a causa delle dimensioni dei file dei BLOB

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.