L’ar­chi­tet­tu­ra basata su oggetti e a blocchi sono due ar­chi­tet­tu­re di ar­chi­via­zio­ne che dif­fe­ri­sco­no no­te­vol­men­te in termini di struttura, accesso e scopo d’uso. La dif­fe­ren­za è che il primo memorizza i dati come oggetti con metadati tramite un’API, mentre il secondo divide i dati in blocchi in­di­riz­za­bi­li gestiti di­ret­ta­men­te dal sistema operativo.

Cosa sono l’ar­chi­via­zio­ne basata su oggetti e a blocchi?

L’ar­chi­via­zio­ne basata su oggetti (object storage) è un’ar­chi­tet­tu­ra di ar­chi­via­zio­ne moderna in cui i dati vengono me­mo­riz­za­ti come oggetti. Ogni oggetto è composto dai dati effettivi, dai metadati e da un iden­ti­fi­ca­ti­vo univoco. Questi oggetti sono me­mo­riz­za­ti in uno spazio dei nomi piatto. Ciò significa che tutti gli oggetti me­mo­riz­za­ti sono or­ga­niz­za­ti allo stesso livello. Non esiste quindi una struttura ge­rar­chi­ca come cartelle o directory, come si conosce ad esempio dai file system. Gli oggetti nell’ar­chi­via­zio­ne basata su oggetti sono ge­ne­ral­men­te ac­ces­si­bi­li tramite un’API basata su HTTP.

L’ar­chi­via­zio­ne a blocchi (block storage), come sug­ge­ri­sce il nome, suddivide i dati in blocchi fissi di uguale di­men­sio­ne, ciascuno con un indirizzo univoco. Ogni blocco contiene solo i dati grezzi e nessun metadato ag­giun­ti­vo o in­for­ma­zio­ni con­te­stua­li. È compito del sistema che accede a questi dati (di solito un sistema operativo o una piat­ta­for­ma di vir­tua­liz­za­zio­ne) in­ter­pre­ta­re la struttura e il si­gni­fi­ca­to dei dati me­mo­riz­za­ti. Dal punto di vista del sistema operativo, un’ar­chi­via­zio­ne a blocchi si comporta come un disco rigido fisico o un SSD: può essere par­ti­zio­na­to, for­mat­ta­to e uti­liz­za­to per ap­pli­ca­zio­ni di qualsiasi tipo.

L’ar­chi­via­zio­ne basata su oggetti e a blocchi in sintesi

Nella seguente tabella di riepilogo troverai le prin­ci­pa­li dif­fe­ren­ze tra l’ar­chi­via­zio­ne basata su oggetti e a blocchi messe di­ret­ta­men­te a confronto.

Ca­rat­te­ri­sti­ca Ar­chi­via­zio­ne basata su oggetti Ar­chi­via­zio­ne a blocchi
Struttura dei dati Oggetti con metadati Blocchi di dati senza contesto
Accesso HTTP(S) (API REST) Diretto at­tra­ver­so il sistema operativo
Latenza Alta Bassa
Sca­la­bi­li­tà Alta (adatta per il cloud) Limitata, per lo più locale o tramite SAN
Metadati Ampi, per­so­na­liz­za­ti Poco o per niente presenti
Scenari di utilizzo Backup, file mul­ti­me­dia­li, Big Data Database, sistemi operativi, dischi VM
Costi Più con­ve­nien­te per TB con grandi quantità di dati Più costosa, in par­ti­co­la­re nei sistemi ad alte pre­sta­zio­ni
Fles­si­bi­li­tà Buona per dati non strut­tu­ra­ti, raramente uti­liz­za­ti Buona per dati strut­tu­ra­ti, fre­quen­te­men­te uti­liz­za­ti

Fun­zio­na­men­to

L’ar­chi­via­zio­ne basata su oggetti memorizza i dati come oggetti tri­par­ti­ti:

  • Dati effettivi (ad esempio un’immagine o un video)
  • Metadati (in­for­ma­zio­ni ag­giun­ti­ve come data di creazione, tipo di file o tag per­so­na­liz­za­ti)
  • Chiave univoca che funge da indirizzo

Questi oggetti sono me­mo­riz­za­ti in uno spazio dei nomi piatto. Tec­ni­ca­men­te, questo è più semplice e scalabile poiché non è ne­ces­sa­rio gestire una struttura di directory complessa. L’accesso avviene tramite il pro­to­col­lo HTTP, di solito at­tra­ver­so le API REST. Le ap­pli­ca­zio­ni in­te­ra­gi­sco­no con l’ar­chi­via­zio­ne come se fosse un servizio web. Molti servizi cloud, come Amazon S3 o Google Cloud Storage, si basano su questa tec­no­lo­gia. L’ar­chi­via­zio­ne basata su oggetti può essere di­stri­bui­ta a livello globale, per­met­ten­do ai dati di risiedere con­tem­po­ra­nea­men­te in più sedi. Ciò aumenta sia l’af­fi­da­bi­li­tà che la di­spo­ni­bi­li­tà globale.

L’ar­chi­via­zio­ne a blocchi funziona più come un drive o un disco fisso. In questo caso, i dati vengono suddivisi in blocchi di di­men­sio­ni uguali, ciascuno dei quali assegnato a un indirizzo. Questi blocchi non con­ten­go­no metadati. Ciò significa che il sistema operativo o un’ap­pli­ca­zio­ne so­vra­stan­te (ad esempio un file system o un database) è re­spon­sa­bi­le di sapere quali blocchi sono correlati tra loro. L’ar­chi­via­zio­ne a blocchi è spesso fornita tramite una Storage Area Network (SAN) o tramite il pro­to­col­lo di rete iSCSI. Allora, l’ar­chi­via­zio­ne appare al sistema operativo come un disco locale e può essere par­ti­zio­na­to, for­mat­ta­to e scritto nor­mal­men­te.

Object storage vs block storage: dif­fe­ren­ze e so­mi­glian­ze

Sebbene l’ar­chi­via­zio­ne basata su oggetti e a blocchi siano entrambe destinate all’ar­chi­via­zio­ne dei dati, si dif­fe­ren­zia­no fon­da­men­tal­men­te per struttura, modalità di accesso e utilizzo. La maggiore dif­fe­ren­za risiede nel modo in cui i dati sono or­ga­niz­za­ti. In termini di latenza e pre­sta­zio­ni, l’ar­chi­via­zio­ne a blocchi offre alcuni vantaggi grazie alla pos­si­bi­li­tà di accessi rapidi ai blocchi. Invece, l’ar­chi­via­zio­ne basata su oggetti si distingue per la sca­la­bi­li­tà e la me­mo­riz­za­zio­ne a lungo termine dei dati.

Ciò che entrambe le forme di ar­chi­via­zio­ne hanno in comune è che sono spesso uti­liz­za­te in ambienti cloud e, grazie alle loro spe­ci­fi­ci­tà, possono sup­por­ta­re ef­fi­ca­ce­men­te diversi carichi di lavoro. Entrambe possono far parte di un approccio di ar­chi­via­zio­ne ibrido. Anche per quanto riguarda l’af­fi­da­bi­li­tà e la tol­le­ran­za ai guasti, le im­ple­men­ta­zio­ni moderne di entrambe le tec­no­lo­gie offrono mec­ca­ni­smi im­por­tan­ti come la replica e la ri­don­dan­za. Mentre l’ar­chi­via­zio­ne a blocchi è più orientata alle pre­sta­zio­ni e al controllo diretto, l’ar­chi­via­zio­ne basata su oggetti offre una soluzione fles­si­bi­le e con­ve­nien­te per grandi quantità di dati. Nelle in­fra­strut­tu­re IT moderne, entrambi i tipi di ar­chi­via­zio­ne vengono spesso combinati per sfruttare al meglio i vantaggi di entrambi i modelli.

Tipici ambiti di ap­pli­ca­zio­ne

Casi d’uso per l’ar­chi­via­zio­ne basata su oggetti

L’ar­chi­via­zio­ne basata su oggetti viene spesso uti­liz­za­ta per soluzioni di backup e archivio. L’elevata sca­la­bi­li­tà e l’ar­chi­via­zio­ne a basso costo rendono questa soluzione ottimale per la me­mo­riz­za­zio­ne a lungo termine dei dati. Anche nelle Content Delivery Network (CDN), questo tipo di ar­chi­via­zio­ne è popolare, poiché i file mul­ti­me­dia­li di grandi di­men­sio­ni possono essere di­stri­bui­ti in modo semplice ed ef­fi­cien­te.

Un altro im­por­tan­te campo di ap­pli­ca­zio­ne è l’ar­chi­via­zio­ne dei Big Data, come ad esempio file di log, dati dei sensori o re­gi­stra­zio­ni video, poiché gli oggetti possono essere ar­chi­via­ti ed elaborati in­di­pen­den­te­men­te. Anche le moderne ap­pli­ca­zio­ni web e le ap­pli­ca­zio­ni mobili uti­liz­za­no l’object storage per l’ar­chi­via­zio­ne di file utente, immagini e documenti.

Casi d’uso per l’ar­chi­via­zio­ne a blocchi

L’ar­chi­via­zio­ne a blocchi è la soluzione preferita per database e sistemi tran­sa­zio­na­li. La pos­si­bi­li­tà di accedere di­ret­ta­men­te ai blocchi ga­ran­ti­sce pre­sta­zio­ni elevate e una bassa latenza. Queste ca­rat­te­ri­sti­che sono par­ti­co­lar­men­te im­por­tan­ti per carichi di lavoro con molti accessi di lettura e scrittura si­mul­ta­nei.

Le macchine virtuali e i sistemi operativi be­ne­fi­cia­no anche dell’uso di un’ar­chi­via­zio­ne a blocchi, poiché dipendono da un’ar­chi­via­zio­ne veloce e af­fi­da­bi­le. Anche nei data center tra­di­zio­na­li, dove è ne­ces­sa­ria una per­for­man­ce de­ter­mi­ni­sti­ca, questo tipo di ar­chi­via­zio­ne rimane am­pia­men­te diffuso.

N.B.

Oltre all’ar­chi­tet­tu­ra basata su oggetti e a blocchi, esiste un’altra ar­chi­tet­tu­ra di ar­chi­via­zio­ne chiamata ar­chi­via­zio­ne di file (file storage). In questa forma di ar­chi­via­zio­ne, i dati sono or­ga­niz­za­ti come di consueto in cartelle e file. L’ar­chi­via­zio­ne di file è par­ti­co­lar­men­te adatta per unità di rete condivise o file system classici.

Vantaggi e svantaggi

Nel confronto tra l’ar­chi­via­zio­ne basata su oggetti e a blocchi i ri­spet­ti­vi vantaggi e svantaggi giocano un ruolo fon­da­men­ta­le.

L’ar­chi­via­zio­ne basata su oggetti si distingue per la sua alta sca­la­bi­li­tà, facile in­te­gra­zio­ne tramite API web e la pos­si­bi­li­tà di ar­chi­via­re metadati det­ta­glia­ti per ogni oggetto. È quindi par­ti­co­lar­men­te adatta per dati non strut­tu­ra­ti e ap­pli­ca­zio­ni cloud native. Tuttavia, l’accesso è re­la­ti­va­men­te lento, quindi è meno indicata per le ap­pli­ca­zio­ni in cui è im­por­tan­te una bassa latenza.

L’ar­chi­via­zio­ne a blocchi, invece, offre una latenza si­gni­fi­ca­ti­va­men­te inferiore e pre­sta­zio­ni notevoli. Anche il col­le­ga­men­to diretto a macchine virtuali o container rende questo tipo di ar­chi­via­zio­ne la prima scelta per le in­fra­strut­tu­re IT classiche. Tuttavia, presenta costi più alti e una minore fles­si­bi­li­tà nella gestione di grandi quantità di dati di­stri­bui­ti.

Vai al menu prin­ci­pa­le