Cos'è lo storage a oggetti?

Uomo rilassato nell'ufficio di casa con i piedi sulla scrivania

Autori

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Cos'è lo storage a oggetti?

L'object storage, spesso chiamato anche storage basato su oggetti, è un'architettura di data storage ideale per memorizzare, archiviare, eseguire il backup e gestire elevati volumi di dati non strutturati statici in modo affidabile, efficiente e conveniente.

I moderni dati sulle comunicazioni digitali sono in gran parte non strutturati, il che significa che non sono conformi a un database tradizionale relazionale tradizionale con righe e colonne, né possono essere facilmente organizzati in un database di questo tipo. Includono e-mail, video, foto, pagine web, file audio, dati dei sensori e altri tipi di contenuti multimediali e web (testuali o non testuali).

Tutti questi contenuti provengono continuamente da social media, motori di ricerca, telefoni cellulari e dispositivi intelligenti. Ad esempio, i servizi di streaming come Netflix utilizzano l'object storage per memorizzare e fornire le loro vaste librerie di film e programmi agli utenti di tutto il mondo, consentendo l'accesso istantaneo da qualsiasi dispositivo e luogo.

L'object storage consente di memorizzare e gestire volumi di dati che vanno da terabyte (TB) a petabyte (PB) e oltre, comprese le implementazioni con exabyte di dati che alimentano le più grandi e moderne piattaforme cloud e le applicazioni ad alta intensità di dati.

Le aziende devono attualmente affrontare continue sfide legate alla memorizzazione e alla gestione di enormi volumi di dati in modo efficiente ed economico. L'object storage fornisce una soluzione robusta per le moderne esigenze di data storage, in quanto offre una scalabilità praticamente illimitata rispetto allo storage tradizionale basato su file o blocchi.

Uno studio di DataIntelo valuta il mercato globale dell'object storage circa 6,8 miliardi di dollari USA nel 2023. Lo studio prevede anche una crescita fino a quasi 25 miliardi di dollari entro il 2032, con un tasso di crescita annuale composto (CAGR) del 15,7%1. Questa crescita riflette la crescente necessità di gestire dati non strutturati, una maggiore adozione del cloud e la crescente dipendenza dall'analytics dei big data.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

L'evoluzione dell'object storage

L'object storage si è evoluto notevolmente dalla sua introduzione nei primi anni 2000. Le tappe principali includono il lancio di S3 da parte di Amazon nel 2006, che ha stabilito lo standard di fatto per le application programming interface (API) del cloud object storage. Sono poi seguite soluzioni open source come OpenStack Swift nel 2010 e l'aumento delle implementazioni di hybrid cloud negli anni successivi.

Sviluppato inizialmente per le applicazioni su scala web, il moderno object storage è diventato parte integrante del cloud computing e degli ambienti basati su container. Le implementazioni attuali supportano funzionalità avanzate come il tiering intelligente dei dati, il controllo delle versioni e l'integrazione con Kubernetes e altre piattaforme che automatizzano l'orchestrazione dei container. Le innovazioni recenti includono la gestione dei dati basata su AI, in cui gli algoritmi di machine learning (ML) aiutano a ottimizzare i costi e le prestazioni dello storage, e le funzionalità di object storage all'edge avvicinano i dati al posto in cui vengono consumati.

Più o meno nello stesso periodo in cui l'object storage stava prendendo piede negli ambienti cloud-native, molte organizzazioni hanno iniziato a ripensare alla dipendenza dalle architetture di storage tradizionali.

Storicamente, le aziende utilizzavano costose storage area network (SAN) per gestire l'aumento dei volumi di dati, richiedendo spesso ingenti investimenti di capitale a livello di hardware e infrastruttura IT. Con l'aumento della domanda di dati, questo approccio è diventato sempre più difficile da sostenere. I servizi di cloud storage offrivano un'alternativa più flessibile, che consentiva alle organizzazioni di scalare la capacità in base alle necessità.

Invece di mantenere grandi reti di storage interne, le aziende possono ora accedere allo Storage as a Service (STaaS), riducendo i costi e guadagnando velocità e scalabilità. Tutti i principali provider di servizi cloud pubblici, tra cui Amazon Web Services (AWS), Google Cloud, IBM® Cloud e Microsoft Azure offrono funzionalità di object storage. Questo passaggio si è ulteriormente evoluto verso approcci multicloud ibridi, in cui le organizzazioni combinano strategicamente lo storage on-premise con più provider di cloud per ottimizzare le prestazioni, i costi e i requisiti di conformità.

AI Academy

Prepararsi all'AI con l'hybrid cloud

Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.

Object storage, file e block storage

Il cloud comprende varie architetture, tra cui l'archiviazione di file, blocchi e object storage. Ognuno offre approcci diversi alla gestione dei dati e all'accessibilità. Le organizzazioni moderne utilizzano architetture di storage diverse a seconda delle esigenze e dei tipi di dati specifici.

Sebbene i dati strutturati e i workload transazionali si basino spesso sullo storage tradizionale basato su file e blocchi, la proliferazione dei contenuti digitali non strutturati ha reso l'object storage essenziale per l'attuale panorama dei dati. Comprendere questi tre metodi di storage ti aiuta a scegliere l'approccio giusto per le tue esigenze.

Ecco una ripartizione tra object storage, file e block storage.

File storage

Il file storage organizza e memorizza i dati all'interno di una cartella. I file sono denominati, etichettati con metadati (solitamente il nome del file, il tipo di file e la data di creazione e ultima modifica) e organizzati in cartelle in una gerarchia di directory e sottodirectory.

Possiamo immaginare l'archiviazione di file come qualcosa di analogo al modo in cui i documenti cartacei fisici sono conservati all'interno di un archivio. Esistono più cassetti (directory) e, all'interno di ciascun cassetto, cartelle di documenti etichettate (sottodirectory).

Per individuare una specifica cartella di documenti nel tuo archivio, ti basta aprire il cassetto corretto e scorrere le etichette delle cartelle. Allo stesso modo, per accedere ai dati in un sistema di file storage, al sistema informatico occorre solo il percorso (directory e sottodirectory) in cui trovarli.

Un sistema di archiviazione gerarchica come questo funziona bene con quantità di dati relativamente ridotte e facilmente organizzabili. Tuttavia, con l'aumentare del numero di file, il processo di ricerca e recupero può diventare lungo e complesso.

Block storage

Il block storage offre un'alternativa allo storage basato su file, con efficienza e prestazioni migliorate. Il block storage suddivide un file in blocchi di dati di dimensioni uguali e memorizza questi blocchi di dati separatamente, con un indirizzo univoco. Non serve una struttura file-cartella, poiché la raccolta di blocchi può essere memorizzata ovunque nel sistema, aumentando così al massimo l'efficienza.

Per accedere a un file, un sistema operativo server utilizza l'indirizzo univoco per rimettere insieme i blocchi, assemblandoli nel file. Questo sistema consente una maggiore efficienza, perché non ha bisogno di sfogliare le directory e le gerarchie di file per accedere ai blocchi di dati. Il block storage è perfetto per applicazioni di business critiche, database transazionali e macchine virtuali che richiedono bassalatenza, accesso granulare o più dettagliato ai dati e prestazioni elevate coerenti.

Object storage

Invece di suddividere i file in blocchi o organizzarli in cartelle gerarchiche, l'object storage tratta ogni dato come un'unità discreta e indirizzabile. A differenza dei file system che si basano su strutture di directory o su un block storage che frammenta i dati, l'object storage mantiene la completa integrità dei dati all'interno di ogni unità di storage.

L'object storage offre uno storage economico e scalabile per dati non strutturati che supera i limiti pratici delle soluzioni a blocchi e dei file. È ideale per l'archiviazione di dati statici, come registri di conformità, librerie multimediali e dati di backup che non richiedono modifiche frequenti.

Come funziona l'object storage?

Gli oggetti sono unità distinte di dati memorizzate in un ambiente di dati strutturalmente semplice tipico dei sistemi di object storage. A differenza dei file system tradizionali, non esistono vere cartelle, directory o gerarchie complesse, sebbene le strutture simili a cartelle possano essere simulate utilizzando le convenzioni di denominazione.

Ogni oggetto è un'unità autonoma che include i dati stessi, i metadati associati (informazioni descrittive sull'oggetto) e un identificatore univoco, spesso chiamato chiave dell'oggetto. Questo identificatore univoco distingue l'oggetto all'interno del sistema di storage e può assomigliare a un percorso di file, ma non rappresenta un'effettiva struttura di directory.

Le informazioni del repository consentono a un'applicazione di individuare l'oggetto e di accedervi. È possibile aggregare i dispositivi di object storage in pool di storage più grandi e distribuire questi pool tra le varie posizioni. Questa funzionalità consente di avere una scalabilità illimitata, una maggiore resilienza dei dati e un migliore processo di disaster recovery.

L'object storage elimina la complessità e i vincoli di scalabilità derivanti da un file system gerarchico. Gli oggetti possono essere archiviati localmente all'interno di data center on-premise, su server cloud o in ambienti ibridi e multicloud, con accessibilità da qualsiasi parte del mondo. Le implementazioni moderne utilizzano spesso l'orchestrazione dei container e l'infrastruttura distribuita per gestire i sistemi sottostanti che alimentano l'object storage.

Gli oggetti, ciascuno costituito da dati, metadati e da un identificatore univoco, sono accessibili in un object storage tramite API. L'API nativa per l'object storage è in genere una API RESTful basata su HTTP (nota anche come servizio web RESTful). La maggior parte dei provider offre anche dei kit di sviluppo software (SDK) che semplificano l'interazione con queste API in vari linguaggi di programmazione.

Queste API utilizzano l'identificatore univoco (o la chiave) dell'oggetto per recuperare l'oggetto e possono inoltre consentire l'esecuzione di query sui relativi metadati. Poiché le API sono basate su Internet, è possibile accedere agli oggetti da qualsiasi luogo e su qualsiasi dispositivo con la connettività di rete.

Le API RESTful utilizzano comandi HTTP come "PUT" o "POST" per caricare un oggetto, "GET" per recuperarlo e "DELETE" per rimuoverlo. (HTTP sta per "Hypertext Transfer Protocol" e indica un insieme di regole per il trasferimento di testo, immagini grafiche, audio, video e altri file multimediali su internet.)

Su un'istanza di object storage è possibile memorizzare un numero qualsiasi di file statici, da richiamare poi tramite un'API. Stanno emergendo altri standard API RESTful che vanno oltre la creazione, il recupero, l'aggiornamento e l'eliminazione di oggetti. Questi standard consentono alle applicazioni di gestire l'object storage, i relativi container, gli account, il multitenancy, la sicurezza, la fatturazione e molto altro.

Ipotizziamo, ad esempio, di voler memorizzare tutti i libri in un sistema di libreria di grandi dimensioni su un'unica piattaforma. Dovremo memorizzare il contenuto dei libri (dati), ma anche le relative informazioni, come l'autore, la data di pubblicazione, la casa editrice, l'argomento, i copyright e altri dettagli. Potresti memorizzare tutti questi dati e metadati in un database relazionale, organizzato in cartelle in una gerarchia di directory e sottodirectory.

Tuttavia, con milioni di libri il processo di ricerca e recupero diventa complesso e dispendioso in termini di tempo. Un sistema di object storage funziona bene perché i dati sono statici o fissi. In questo esempio, il contenuto del libro non cambierà.

Gli oggetti vengono memorizzati come "pacchetti" in una struttura semplice e possono essere facilmente individuati e recuperati attraverso una singola chiamata API. Inoltre, via via che il numero di libri continua ad aumentare, puoi aggregare i dispositivi di storage in pool di storage più grandi, distribuendoli per una scalabilità illimitata.

Che cos'è un database di storage degli oggetti?

Può utilizzare semplici chiamate API per caricare e recuperare file in un object storage, ma un'applicazione necessita anche dei metadati dell'oggetto per localizzare l'oggetto corretto nello storage. È qui che entra in gioco un database di object storage. Questo database fornisce una sorta di directory che utilizza i metadati dell'oggetto per individuare i file di dati appropriati in un sistema di storage distribuito.

Ogni gruppo di object storage possiede un apposito database che contiene due tabelle:

  • Tabella della directory a oggetti
  • Tabella di object storage

La tabella della directory a oggetti

La tabella della directory degli oggetti contiene informazioni descrittive su ciascun oggetto (i metadati). Questa directory tiene traccia di tutti gli oggetti nella gerarchia di storage registrando l'identificativo del nome della raccolta, il nome dell'oggetto e altre informazioni pertinenti. Ad esempio, nelle metodologie di object storage più comuni, la tabella della directory degli oggetti include tre indici principali:

  • La data/ora di creazione dell'oggetto
  • L'identificativo del nome della raccolta (nome ID) e la data/ora di creazione dell'oggetto
  • Il nome dell'oggetto e l'identificativo del nome della raccolta

La tabella di object storage

La tabella di object storage contiene il contenuto dei dati o il file stesso (gli oggetti). I dati (contenuti digitali fissi come file video e di immagini o grandi librerie di documenti) si trovano nell'archivio a oggetti. Nel frattempo, i metadati (informazioni contestuali sui dati, incluso l'ID del nome) risiedono in un database o in una tabella di directory a oggetti.

Quando un'applicazione "pubblica" un file, crea i metadati e li memorizza nella tabella della directory degli oggetti all'interno del database di object storage, oltre a "mettere" il file nella tabella di object storage. Per recuperare il file in un secondo momento, l'applicazione richiede i metadati alla directory o al database degli oggetti e utilizza queste informazioni identificative descrittive per individuare o "ottenere" i dati.

Soluzioni di object storage open source

Le tecnologie open source offrono flessibilità e controllo sulla gestione dei dati e sullo storage, sia come alternative oppure come integrazione di soluzioni proprietarie di cloud service e altri fornitori.

Con gli strumenti open source e l'accesso ad API aperte puoi personalizzare il codice in base alle esigenze specifiche della tua organizzazione, mantenendo al contempo la compatibilità con i sistemi proprietari esistenti. Questo approccio offre la libertà di utilizzare l'hardware che potresti già possedere o di combinare hardware di diversi fornitori, beneficiando al contempo dei contributi della più ampia comunità di sviluppatori.

Tutte le principali soluzioni di object storage open source rispettano il protocollo di object storage Simple Storage Service (Amazon S3) di Amazon. È stato introdotto per la prima volta nel 2006 e da allora è diventato lo standard di fatto per le API di cloud storage.

Le soluzioni open source più diffuse includono Ceph, MiNIO e OpenStack Swift. Sebbene queste soluzioni offrano funzionalità, opzioni di policy e metodologie diverse, ognuna persegue lo stesso obiettivo, ovvero consentire lo storage su larga scala di dati digitali non strutturati con API RESTful compatibili con S3.

Molti offrono anche le proprie API come alternative a S3. OpenStack Swift, ad esempio, non solo supporta l'API S3 di Amazon, ma offre anche una propria API Swift con funzionalità esclusive. Ceph Object Storage è compatibile con S3 ma supporta anche un ampio sottoinsieme dell'API OpenStack Swift, così da offrire flessibilità nel modo in cui le applicazioni interagiscono con il sistema di storage.

I benefici dell'object storage

  • Scalabilità: il vantaggio più significativo offerto dall'object storage è forse la scalabilità illimitata. Gli oggetti, o unità distinte di dati (in qualsiasi quantità), sono memorizzati in un ambiente di dati strutturalmente semplice, all'interno di una periferica di memoria, come un server. È sufficiente aggiungere altri dispositivi o server in parallelo a un cluster di object storage per l'ulteriore elaborazione e per supportare le velocità di elaborazione più elevate richieste da file di grandi dimensioni, come video o immagini.
  • Minore complessità: l'object storage elimina la complessità derivante da uno sistema di file gerarchico con cartelle e directory. Il potenziale ritardo nelle prestazioni è minore e l'efficienza nel recupero dei dati è maggiore, perché non ci sono cartelle, directory o gerarchie complesse da esplorare. Questa funzionalità migliora le prestazioni, in particolare quando si gestiscono grandi quantità di dati.
  • Alta disponibilità e durata: i sistemi di object storage possono essere configurati per replicare i dati su più nodi o cluster. Se un disco o un nodo si guasta, il sistema può continuare a funzionare senza perdita di dati a causa di questa ridondanza. La replica dei dati può avvenire all'interno dello stesso data center o in modo distribuito geograficamente, garantendo sia l'alta disponibilità che il disaster recovery off-site.
  • Funzionalità di ricerca: ogni oggetto è un repository autonomo che include metadati o informazioni descrittive a esso associate. Questi metadati migliorano la ricercabilità, rendendo più facile individuare e recuperare gli oggetti in base ad attributi specifici o a tag personalizzati. Oltre a supportare la gestione del ciclo di vita dei dati e le strategie di protezione dei dati, i metadati possono essere personalizzati per aggiungere contesto, consentendo la ricerca avanzata, il filtraggio e l'analytics per insight aziendali sulle tendenze di mercato e altro ancora.
  • Efficienza dei costi: in genere, i fornitori di servizi di object storage offrono prezzi che eliminano gli investimenti di capitale iniziali. I costi si basano sull'utilizzo effettivo: storage, recupero dei dati, larghezza di banda e richieste API. I prezzi sono a più livelli o basati sul volume, con diverse classi e livelli di storage, progettati per ridurre i costi per i dati a cui si accede raramente o per i grandi volumi. Molte soluzioni di object storage possono essere eseguite su hardware standard e indipendente dal fornitore, riducendo la necessità di infrastrutture nuove o proprietarie. Questa flessibilità consente alle organizzazioni di riutilizzare i server esistenti e scalare in modo conveniente.
  • Compatibilità cloud: l'object storage è strettamente collegato ad ambienti cloud o in hosting che forniscono storage as a service multi-tenant. Ciò consente a molte aziende o reparti all'interno di un'azienda di condividere lo stesso repository di storage, con accesso individuale a una parte separata dello spazio di storage. Questo approccio con storage condiviso ottimizza intrinsecamente scala e costi. Utilizzando uno storage cloud a basso costo è possibile ridurre l'infrastruttura IT on-site dell'organizzazione, pur mantenendo i dati accessibili quando necessario. La tua azienda, ad esempio, può utilizzare una soluzione di object storage basata sul cloud per raccogliere e memorizzare grandi quantità di dati non strutturati, generati dall'Internet of Things (IoT) e da rete mobile per le app dei dispositivi intelligenti.

Casi d'uso dell'object storage

Backup e disaster recovery

L'object storage è utile per backup e disaster recovery perché rappresenta un'alternativa più efficiente alle soluzioni di backup fisiche. Ad esempio, le soluzioni di backup fisiche come le unità a nastro e i dischi rigidi richiedono che i dati vengano caricati, rimossi e trasportati fuori sede per la ridondanza geografica.

È possibile utilizzare l'object storage per eseguire automaticamente il backup dei database on-premise sul cloud e per replicare i dati a costi contenuti tra i data center distribuiti. Per garantire il disaster recovery, basta aggiungere un ulteriore backup offsite o anche in diverse aree geografiche.

Archiviazione dei dati

L'object storage basato sul cloud è ideale per la retention dei dati a lungo termine. Può sostituire gli archivi tradizionali come il Network-Attached Storage (NAS) e contribuire a ridurre i costi dell'infrastruttura IT. Inoltre, consente di conservare in modo conveniente grandi volumi di contenuti multimediali, come immagini e video, a cui si accede raramente.

Data lake

L'object storage offre una soluzione scalabile ed economica per la creazione di data lake centralizzati. Questi data lake possono memorizzare volumi illimitati di dati strutturati e non strutturati provenienti da varie fonti. I dati memorizzati possono quindi essere interrogati per supportare l'analytics dei big data e generare insight relativi a clienti, operazioni e tendenze di mercato.

Applicazioni cloud-native

L'object storage basato sul cloud funge da data store persistente per lo sviluppo di applicazioni cloud. Supporta la creazione di nuove applicazioni cloud-native e la modernizzazione di quelle legacy. Con l'object storage puoi gestire in modo efficiente grandi volumi di dati IoT e mobile non strutturati e semplificare l'aggiornamento dei componenti dell'applicazione.

Generative AI

L'object storage supporta l'AI generativa memorizzando grandi set di dati per l'addestramento e la generazione di output. È inoltre scalabile per gestire grandi quantità di dati e utilizza metadati per organizzare e monitorare i dati, rendendo i workflow più veloci e l'accesso ai dati più rapido durante l'inferenza.

Gestione contenuto

Le organizzazioni utilizzano l'object storage per gestire grandi volumi di documenti, file multimediali e altri asset con molti metadati, per semplificarne l'organizzazione e il recupero.

IoT ed edge

I dispositivi IoT generano grandi quantità di dati dai sensori che l'object storage può raccogliere, memorizzare e rendere disponibili per l'analisi in modo efficiente. Include anche scenari di edge computing in cui il trattamento dei dati avviene più vicino alla fonte.

Soluzioni correlate
IBM Cloud Object Storage

Archivia i dati in qualsiasi formato, ovunque, con scalabilità, resilienza e sicurezza.

Scopri IBM Cloud Object Storage
Soluzioni di storage cloud

Accedi ai servizi di storage cloud per soluzioni di data storage scalabili, sicure e convenienti.

Esplora le soluzioni di storage cloud
Servizi di consulenza cloud

Sblocca nuove funzionalità e promuovi l'agilità aziendale con i servizi di consulenza cloud di IBM.

Esplora i servizi cloud
Prossimi passi

Scopri come IBM Cloud Object Storage aiuta le organizzazioni a memorizzare e proteggere i dati non strutturati su larga scala.

Scopri IBM Cloud Object Storage Ottieni maggiori informazioni
Note a piè di pagina