Che cos'è l'archiviazione di oggetti binari di grandi dimensioni (BLOB)?

Oggi le organizzazioni producono e gestiscono enormi quantità di dati non strutturati. Questi dati comprendono tutto, dalle immagini e dai video ai backup, ai file di log e ai grandi set di dati per l'analisi. L'archiviazione, la gestione e l'accesso efficaci a questi file diversi e spesso molto grandi richiedono soluzioni di archiviazione specializzate. L'archiviazione di oggetti binari di grandi dimensioni (BLOB) è emersa come tecnologia chiave per affrontare queste sfide, fornendo un modo scalabile e potenzialmente conveniente per gestire i dati non strutturati.

Definizione dell'archiviazione di oggetti binari di grandi dimensioni

I sistemi di archiviazione di oggetti binari di grandi dimensioni sono progettati per una scalabilità massiccia, un'elevata durabilità e contribuiscono alla convenienza economica, aiutando a memorizzare grandi volumi di dati non strutturati.

Per comprendere appieno l'archiviazione di oggetti binari di grandi dimensioni, è utile definire innanzitutto i suoi componenti principali: l'archiviazione di oggetti e l'oggetto binario di grandi dimensioni (BLOB).

Che cos'è l'archiviazione di oggetti?

L'archiviazione di oggetti è un'architettura di archiviazione dei dati che gestisce i dati come unità distinte, chiamate oggetti. A differenza dei file system che organizzano i dati in una struttura di directory gerarchica (cartelle e file) o dell'archiviazione a blocchi che gestisce i dati come blocchi di dimensioni fisse, i sistemi di archiviazione di oggetti trattano ogni dato come un oggetto autonomo.

Ogni oggetto include in genere:

  • I dati stessi: possono essere un'immagine, un video, un documento, un file di backup o qualsiasi altro tipo di dati non strutturati.
  • Metadati: sono informazioni descrittive sui dati. I metadati standard possono includere il nome, le dimensioni, il tipo e la data di creazione dell'oggetto. Fondamentalmente, l'archiviazione di oggetti consente anche metadati estesi e personalizzabili, che possono essere molto efficaci per l'indicizzazione, la ricerca e la gestione dei dati su larga scala.
  • Un identificatore univoco: a ogni oggetto viene assegnato un ID univoco a livello globale (spesso un URI o un URL) che consente alle applicazioni di accedervi direttamente su una rete, in genere utilizzando API basate su HTTP.

Che cos'è un BLOB?

Un BLOB, che sta per "binary large object" (oggetto binario di grandi dimensioni), si riferisce a una raccolta di dati binari archiviati come singola entità. Il termine "binario" indica che i dati possono essere di qualsiasi tipo; non sono limitati a testo o formati specifici. Potrebbe trattarsi di un file eseguibile, un'immagine, contenuti audio o video, un archivio compresso, un backup di un database o qualsiasi altro tipo di informazione digitale. La parte "large" del nome indica che i BLOB vengono in genere utilizzati per file troppo grandi per essere archiviati in modo conveniente o efficiente direttamente all'interno di un campo di database tradizionale insieme a dati strutturati.

Pertanto, l'archiviazione di oggetti binari di grandi dimensioni (BLOB) è essenzialmente la pratica di archiviare questi BLOB come singoli oggetti all'interno di un sistema di archiviazione di oggetti. Invece di incorporare un file video di grandi dimensioni direttamente in un record di database, ad esempio, il file video viene archiviato in un sistema di archiviazione di oggetti e quindi viene archiviato un riferimento (l'identificatore univoco o l'URL dell'oggetto) a quel BLOB nel database.

Come funziona l'archiviazione di oggetti binari di grandi dimensioni?

Il processo di utilizzo dell'archiviazione di oggetti binari di grandi dimensioni (BLOB) prevede in genere alcuni passaggi chiave, facilitati dal sistema di archiviazione di oggetti:

Quando un utente o un'applicazione deve archiviare un file binario di grandi dimensioni, invia i dati, insieme a tutti i metadati associati, al sistema di archiviazione degli oggetti tramite una chiamata API (in genere API RESTful su HTTP/S). Il sistema di archiviazione riceve questi dati.

Il sistema di archiviazione di oggetti prende i dati binari caricati e i relativi metadati e li incapsula in un "oggetto". Quindi assegna a questo nuovo oggetto un identificatore univoco. Questo identificatore è fondamentale perché è il modo in cui l'oggetto verrà indirizzato e recuperato in seguito.

Il sistema archivia l'oggetto, spesso distribuendolo e replicandolo su più dispositivi di archiviazione fisica e talvolta anche su diversi data center. Questo approccio distribuito migliora la durabilità dei dati (proteggendoli dai guasti hardware) e l'affidabilità. La strategia di replica specifica può variare in base alla classe di archiviazione scelta o alle norme del fornitore.

I metadati associati al BLOB vengono indicizzati. Ciò consente di cercare o classificare gli oggetti in base ai tag dei metadati, anche se ne hai miliardi.

Quando un utente o un'applicazione deve accedere al BLOB, invia una richiesta al sistema di archiviazione di oggetti utilizzando l'identificatore univoco dell'oggetto. Il sistema individua l'oggetto e trasmette i dati binari al richiedente.

I sistemi di archiviazione degli oggetti forniscono meccanismi per controllare chi può leggere, scrivere o eliminare i BLOB. In genere, questo aspetto viene gestito tramite policy Identity and Access Management (IAM), elenchi di controllo degli accessi (ACL) o URL firmati che concedono l'accesso temporaneo.

Vantaggi dell'archiviazione di oggetti binari di grandi dimensioni

L'utilizzo dell'archiviazione di oggetti binari di grandi dimensioni offre vantaggi significativi per la gestione dei dati non strutturati:

Scalabilità

I sistemi di archiviazione di oggetti sono progettati per scalare fino a exabyte e oltre, ospitando grandi quantità di dati e oggetti. Questo può renderli adatti ad applicazioni che generano enormi volumi di dati.

Convenienza

L'archiviazione di dati di grandi dimensioni a cui si accede raramente in file system o database tradizionali ad alte prestazioni può essere costosa. L'archiviazione di oggetti spesso fornisce opzioni a più livelli con costi variabili in base alla frequenza di accesso e ai requisiti di durabilità che possono consentire l'ottimizzazione dei costi.

Durabilità e disponibilità

I principali servizi di archiviazione di oggetti possono offrire elevati livelli di durabilità dei dati, spesso archiviando in modo ridondante gli oggetti su più dispositivi o posizioni geografiche. In questo modo puoi ridurre al minimo il rischio di perdita di dati a causa di guasti hardware e supportare l'alta affidabilità.

Metadati avanzati

La possibilità di associare metadati estesi e personalizzati a ogni BLOB può consentire una migliore organizzazione dei dati, una ricerca più semplice e funzionalità di gestione e analisi dei dati più sofisticate.

Accesso semplificato ai dati

L'accesso ai BLOB tramite API HTTP standard può semplificare l'integrazione con applicazioni web, app per dispositivi mobili e altri servizi cloud. Gli identificatori univoci per ogni oggetto consentono l'accesso diretto senza dover navigare tra percorsi di file complessi.

Disaccoppiamento

L'archiviazione dei BLOB esternamente ai database o ai server delle applicazioni può migliorare le prestazioni e la scalabilità di questi sistemi primari. I database non devono più gestire tipi di dati di grandi dimensioni e difficili da gestire e le applicazioni possono scaricare la distribuzione di contenuti statici.

Tipi di archiviazione di oggetti binari di grandi dimensioni

I servizi di archiviazione degli oggetti che ospitano BLOB spesso forniscono classi o livelli di archiviazione diversi, classificati in base alla frequenza di accesso, ai tempi di recupero e al costo. Questi livelli possono aiutare le organizzazioni a ottimizzare i costi di archiviazione in base alla modalità di utilizzo dei dati. I tipi più comuni includono:

Standard/hot storage

Progettato per dati a cui si accede frequentemente e che richiedono bassa latenza e throughput elevato. Questo livello può essere adatto per i contenuti attivi di un sito web, i dati di un'applicazione mobile o i dati elaborati attivamente dai carichi di lavoro di analisi. In genere ha costi di archiviazione più elevati, ma può contribuire a ridurre i costi di accesso.

Archiviazione con accesso infrequente/nearline

Pensata per i dati a cui si accede meno frequentemente (ad esempio, una volta al mese), ma che devono comunque essere facilmente disponibili quando richiesti. Può offrire costi di archiviazione inferiori rispetto all'archiviazione standard, ma potrebbe avere costi di accesso o tariffe per recupero leggermente più elevati. È ideale per i backup a lungo termine, l'archiviazione dei dati in cui è necessario un accesso rapido occasionale o i file di disaster recovery.

Coldline/archive storage

Progettato per l'archiviazione, la conformità e la conservazione dei dati a lungo termine, in cui i dati vengono consultati raramente (ad esempio, una volta all'anno o meno). Questo livello può fornire costi di archiviazione bassi. I tempi di recupero possono essere più lunghi, da minuti a ore, e i costi di accesso possono essere più elevati. Può essere adatto per archivi normativi o dati che devono essere conservati per scopi storici ma non sono necessari per le operazioni quotidiane.

Archive/deep archive storage

Alcuni fornitori offrono livelli ancora più "freddi" per i dati a cui si accede molto raramente e che possono tollerare tempi di recupero più lunghi (ad esempio, molte ore). Questi livelli offrono i costi di archiviazione più bassi in assoluto.

Casi d'uso per l'archiviazione di oggetti binari di grandi dimensioni

La versatilità e la scalabilità dell'archiviazione BLOB possono renderla adatta a un'ampia gamma di applicazioni in vari settori:

Casi d'uso

Funzionalità

Distribuzione di contenuti multimediali

Archiviazione e distribuzione di immagini, video, file audio e altri contenuti multimediali avanzati per siti web, servizi di streaming e applicazioni mobili.

Data lake e analisi

Archiviazione di grandi quantità di dati non elaborati in un data lakehouse (strutturati, semistrutturati e non strutturati) provenienti da varie fonti nel loro formato nativo per l'elaborazione di big data, l'addestramento di modelli di machine learning e la business intelligence.

Archiviazione dei file di log

Archiviazione dei log del server delle applicazioni, dei log di sicurezza e dei log di controllo per la risoluzione dei problemi, l'analisi della sicurezza e la conformità.

Sistemi di gestione dei documenti

Archiviazione e gestione di grandi volumi di documenti, PDF, immagini scansionate e altri documenti aziendali.

Hosting di siti web statici

Hosting degli asset statici (HTML, CSS, JavaScript, immagini) di un sito web direttamente dall'archiviazione di oggetti, che può essere altamente scalabile ed economicamente vantaggiosa.

Distribuzione software

Archiviazione e distribuzione di pacchetti software, aggiornamenti e programmi di installazione di grandi dimensioni.

Gestione dei dati sanitari

Archiviazione di immagini mediche (radiografie, risonanze magnetiche), cartelle cliniche e dati genomici in modo sicuro e conforme.

Ricerca scientifica

Archiviazione di set di dati di grandi dimensioni provenienti da esperimenti, simulazioni e reti di sensori per l'analisi e la collaborazione.

Casi d'uso

Funzionalità

Distribuzione di contenuti multimediali

Archiviazione e distribuzione di immagini, video, file audio e altri contenuti multimediali avanzati per siti web, servizi di streaming e applicazioni mobili.

Data lake e analisi

Archiviazione di grandi quantità di dati non elaborati in un data lakehouse (strutturati, semistrutturati e non strutturati) provenienti da varie fonti nel loro formato nativo per l'elaborazione di big data, l'addestramento di modelli di machine learning e la business intelligence.

Archiviazione dei file di log

Archiviazione dei log del server delle applicazioni, dei log di sicurezza e dei log di controllo per la risoluzione dei problemi, l'analisi della sicurezza e la conformità.

Sistemi di gestione dei documenti

Archiviazione e gestione di grandi volumi di documenti, PDF, immagini scansionate e altri documenti aziendali.

Hosting di siti web statici

Hosting degli asset statici (HTML, CSS, JavaScript, immagini) di un sito web direttamente dall'archiviazione di oggetti, che può essere altamente scalabile ed economicamente vantaggiosa.

Distribuzione software

Archiviazione e distribuzione di pacchetti software, aggiornamenti e programmi di installazione di grandi dimensioni.

Gestione dei dati sanitari

Archiviazione di immagini mediche (radiografie, risonanze magnetiche), cartelle cliniche e dati genomici in modo sicuro e conforme.

Ricerca scientifica

Archiviazione di set di dati di grandi dimensioni provenienti da esperimenti, simulazioni e reti di sensori per l'analisi e la collaborazione.

Risolvi le tue sfide aziendali con Google Cloud

I nuovi clienti ricevono 300 $ di crediti gratuiti da spendere su Google Cloud.

Come archiviare in modo sicuro i BLOB

La protezione degli oggetti binari di grandi dimensioni è importante, soprattutto quando si tratta di dati sensibili o mission critical. Le strategie di sicurezza efficaci di solito prevedono più livelli di sicurezza:

Crittografia

La crittografia in transito utilizza HTTPS (TLS/SSL) per tutte le richieste API. La crittografia dei dati inattivi (at rest) garantisce che i BLOB siano crittografati in fase di archiviazione, con opzioni per la crittografia lato server (chiavi gestite dal fornitore) o chiavi gestite/fornite dal cliente (CMEK/CSEK) per un controllo avanzato.

Identity and access management (IAM):

Implementa le policy di controllo dell'accesso granulari per definire chi (utenti, gruppi o service account) può eseguire quali azioni (lettura, scrittura, eliminazione, elenco) su BLOB specifici o raccolte di BLOB (spesso chiamati bucket o container). Segui il principio del privilegio minimo, concedendo solo le autorizzazioni necessarie.

elenchi di controllo dell'accesso (ACL)

Gli ACL possono fornire un ulteriore livello di controllo, consentendoti di concedere autorizzazioni specifiche a singoli utenti o gruppi per singoli oggetti o bucket. Potrebbero essere più adatti alle esigenze di controllo granulare rispetto alla gestione su larga scala, offrendo un approccio granulare per impostazioni di autorizzazione specifiche e dettagliate.

URL firmati/URL prefirmati

Per gli scenari in cui è necessario concedere un accesso temporaneo e limitato a un BLOB specifico (ad esempio, consentire a un utente di scaricare un file che ha acquistato), gli URL firmati sono un meccanismo sicuro. Questi URL concedono autorizzazioni a tempo limitato per eseguire un'azione specifica senza richiedere all'utente di avere credenziali complete

Controllo delle versioni

Abilita il controllo delle versioni degli oggetti per conservare più versioni di un BLOB. In questo modo puoi proteggerti da sovrascritture o eliminazioni accidentali, poiché puoi ripristinare le versioni precedenti se necessario.

Audit logging

Abilita la registrazione degli audit per monitorare le richieste di accesso e le azioni eseguite sui BLOB e sui bucket di archiviazione. Ciò è utile per l'analisi della sicurezza, la creazione di report di conformità e l'identificazione di eventuali tentativi di accesso non autorizzati.

Che tipo di problema stai cercando di risolvere?
What you'll get:
Guida passo passo
Architettura di riferimento
Soluzioni predefinite disponibili
Questo servizio è stato creato con Vertex AI. Devi avere almeno 18 anni per utilizzarlo. Non inserire informazioni sensibili, riservate o personali.

Fai il prossimo passo

Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.

Google Cloud