Object storage: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
correzioni |
m clean up, replaced: |dataaccesso= → |accesso= (19), L'''' → L{{'}}''' |
||
(13 versioni intermedie di 10 utenti non mostrate) | |||
Riga 1:
L{{'}}'''object storage''' (conosciuto anche come '''archiviazione basata su oggetti'''<ref>{{Cita pubblicazione|autore=Mesnier|nome=M.|autore2=Ganger|autore3=Riedel|nome2=G.R.|nome3=E.|data=August 2003|titolo=Storage area networking - Object-based storage|rivista=[[IEEE Communications Magazine]]|volume=41|numero=8|pp=
Lo storage di oggetti è utilizzato per vari scopi tra cui la memorizzazione di oggetti come video e foto su [[Facebook]], canzoni su [[Spotify]] o file nei servizi di collaborazione online, come [[Dropbox]].
▲L''''object storage''' (conosciuto anche come '''archiviazione basata su oggetti'''<ref>{{Cita pubblicazione|autore=Mesnier|nome=M.|autore2=Ganger|autore3=Riedel|nome2=G.R.|nome3=E.|data=August 2003|titolo=Storage area networking - Object-based storage|rivista=[[IEEE Communications Magazine]]|volume=41|numero=8|pp=84–90|doi=10.1109/mcom.2003.1222722}}</ref>) è una tipologia di [[Memoria (elettronica)|memorizzazione]] che gestisce i dati come oggetti, al contrario di altre architetture di storage come i [[file system]] che gestiscono i dati come una gerarchia di file, e l'archiviazione a blocchi all'interno di settori e tracce.<ref>{{Cita web|url=http://www.druva.com/blog/object-storage-versus-block-storage-understanding-technology-differences/|dataaccesso=19 January 2015}}</ref> Ogni oggetto in genere include i dati stessi, una quantità variabile di [[Metadato|metadati]], e un [[Universally unique identifier|identificatore univoco globale]]. Lo storage a oggetti può essere implementato a più livelli, tra cui il livello di dispositivo (dispositivo di archiviazione a oggetti), il livello di sistema e il livello di interfaccia. In ogni caso con l'object storage si ha la possibilità di abilitare funzionalità non indirizzate da altre architetture di storage, come interfacce direttamente programmabili dall'applicazione, uno spazio dei nomi che può estendersi su più istanze di hardware fisico e funzioni di gestione dei dati come [[Replicazione|replica dei dati]] e distribuzione degli stessi a livello di granularità.
▲Lo storage di oggetti è utilizzato per vari scopi tra cui la memorizzazione di oggetti come video e foto su [[Facebook]], canzoni su [[Spotify]] o file nei servizi di collaborazione online, come [[Dropbox]]. <ref>{{Cita web|url=http://www.gartner.com/technology/reprints.do?id=1-1R78PJ9&ct=140226&st=sb|autore=Chandrasekaran, Arun|sito=[[Gartner Research]]}}</ref>Una delle limitazioni dello storage di oggetti è che non è destinato a dati transazionali, poiché il sistema non è stato progettato per sostituire l'accesso e la condivisione di file [[Network Attached Storage|NAS]], non supporta i meccanismi di blocco e condivisione necessari per mantenere una singola versione aggiornata di un file.<ref name="objectstorage">{{Cita web|url=https://qumulo.com/blog/block-storage-vs-object-storage-vs-file-storage/|citazione="Object storage can work well for unstructured data in which data is written once and read once (or many times). Static online content, data backups, image archives, videos, pictures, and music files can be stored as objects."|dataaccesso=8 February 2022}}</ref>
== Storia ==
=== Origini ===
Nel 1995, una ricerca condotta da Garth Gibson sui NAS promoveva per la prima volta il concetto di dividere le operazioni meno comuni, come le manipolazioni dello [[Namespace|spazio dei nomi]], dalle operazioni comuni come la lettura e la scrittura, per ottimizzare le prestazioni e la scalabilità di entrambe.
=== Sviluppo ===
[[Seagate Technology]] ha svolto un ruolo centrale nello sviluppo dello storage di oggetti. Secondo la Storage Networking Industry Association SNIA "''L'archiviazione di oggetti ha avuto origine alla fine degli anni '90: le specifiche di Seagate dal 1999 introdussero alcuni primi comandi e la rimozione effettiva del sistema operativo dai consumi dello storage''".<ref>''Object Storage: What, How and Why?'', NSF (Networking Storage Forum), SNIA (Storage Networking Industry Association), Live [https://www.snia.org/sites/default/files/ESF/Object-Sorage-What-How-Why-Final.pdf Webcast] February 19, 2020</ref>
Una versione preliminare della "OBJECT Based Storage Devices Command Set Proposal" del 25 ottobre 1999 è stata presentata da [[Seagate]] ed edita da Dave Anderson ed è stata il prodotto di lavoro del National Storage Industry Consortium (NSIC) che comprende i contributi di [[Università Carnegie Mellon|Carnegie Mellon University]], [[Seagate]], [[IBM]], Quantum e StorageTek.
== Architettura ==
Riga 18 ⟶ 16:
=== Astrazione dello storage ===
Uno dei principi di progettazione dello storage di oggetti è quello di astrarre alcuni livelli inferiori, quelli lontani dagli amministratori e dalle applicazioni.
L'object storage consente anche l'indirizzamento e l'identificazione di singoli oggetti da più di un semplice nome del file e dal percorso: viene aggiunti infatti un identificatore univoco all'interno di un bucket, o nell'intero sistema, per supportare spazi dei nomi molto più grandi ed eliminare le collisioni dei nomi.
Riga 35 ⟶ 33:
* I client del [[file system]] contattano i server dei [[metadati]] solo una volta aperti e poi ottengono il contenuto direttamente tramite server di archiviazione di oggetti (per contro, [[file system]] basati su blocchi richiedono un accesso costante ai [[metadati]]);
* Gli oggetti possono essere definiti per file con lo scopo di
I '''dispositivi di archiviazione basati su oggetti''' ('''OSD''') e alcune implementazioni software (ad esempio, DataCore Swarm) gestiscono i metadati e i dati a livello di dispositivi di archiviazione:
Riga 45 ⟶ 43:
=== Gestione programmatica dei dati ===
Object storage fornisce interfacce programmatiche per consentire alle applicazioni di manipolare i dati. A livello base, questo include funzioni minime per creazione, lettura, aggiornamento ed eliminazione di dati ([[CRUD]]). Alcune implementazioni di object storage vanno oltre, supportando funzionalità aggiuntive come [[Controllo versione|controllo delle versioni di oggetti/file]], replica di oggetti, gestione del ciclo di vita e movimento di oggetti tra diversi livelli e tipi di storage. La maggior parte delle implementazioni [[Application programming interface|API]] sono [[Representational state transfer|REST]] <nowiki/>permettendo l'utilizzo di molte chiamate standard [[Hypertext Transfer Protocol|HTTPS]].
== Implentazione ==
=== Storage cloud ===
La stragrande maggioranza dello storage cloud disponibile sul mercato utilizza un'architettura di archiviazione di oggetti. Alcuni esempi notevoli sono [[Amazon S3|Amazon Web Services S3]], che è debuttato nel marzo 2006, [[Microsoft Azure]] Blob Storage, Rackspace Cloud Files (il cui codice è stato donato nel 2010 al progetto OpenStack e rilasciato come [[OpenStack|OpenStack Swift]]) e Google Cloud Storage rilasciato nel maggio 2010.
=== I
Alcuni [[file system]] distribuiti utilizzano un'architettura basata su oggetti, in cui i [[metadati]] dei file sono memorizzati nei server
=== Sistemi di archiviazione degli oggetti ===
Riga 61 ⟶ 58:
=== Storage unificato di file e oggetti ===
Alcuni sistemi di archiviazione di oggetti supportano la memorizzazione unificata di file e di oggetti, consentendo ai clienti di memorizzare oggetti su un sistema di memorizzazione, mentre altri clienti memorizzano simultaneamente file sullo stesso sistema di memorizzazione.
=== Storage di oggetti "captive" ===
Alcune grandi aziende di servizi digitali hanno sviluppato il proprio software quando i prodotti di archiviazione di oggetti non erano ancora disponibili in commercio o quando i casi d'uso erano molto specifici. Facebook ha inventato il proprio software di archiviazione di oggetti, denominato in codice Haystack, per soddisfare in modo efficiente le proprie esigenze di gestione delle foto su larga scala.<ref name="haystack">{{Cita web|url=https://engineering.fb.com/2009/04/30/core-data/needle-in-a-haystack-efficient-storage-of-billions-of-photos/|
=== Dispositivi di archiviazione basati su oggetti ===
== Adozione sul mercato ==
Uno dei primi prodotti di archiviazione di oggetti, [[Lustre]], è utilizzato nel 70% dei primi 100 supercomputer e circa il 50% dei [[TOP500|Top 500]].
I sistemi di archiviazione di oggetti hanno avuto un buon impiego nei primi anni 2000 come piattaforma di archivio, in particolare a seguito delle leggi di conformità come [[Sarbanes-Oxley Act|Sarbanes-Oxley]]. Dopo cinque anni di attività sul mercato, il prodotto Centera di EMC ha ottenuto oltre 3.500 clienti e 150 [[Byte|petabytes]] di spedizione fino al 2007.
I sistemi di archiviazione di oggetti "captive" come ''Haystack'' di Facebook sono cresciuti in modo impressionante. Nell'aprile 2009, gestiva 60 miliardi di foto e 1,5 petabyte di spazio di archiviazione, aggiungendo 220 milioni di foto e 25 terabyte a settimana.
Lo storage cloud è diventato diffuso in quanto molte nuove applicazioni web e mobile lo scelgono come metodologia comune per memorizzare dati binari.
== Analisi del mercato ==
[[International Data Group|IDC]] ha iniziato a valutare annualmente il mercato dello stoccaggio basato su oggetti utilizzando la sua metodologia MarketScape. IDC descrive il MarketScape come: "...una valutazione quantitativa e qualitativa delle caratteristiche che valutano il successo attuale e futuro di un venditore in tale mercato o segmento di mercato e forniscono una misura della sua ascendenza per diventare un leader o mantenere una leadership. Le valutazioni di IDC MarketScape sono particolarmente utili nei mercati emergenti che sono spesso frammentati, hanno diversi attori e non hanno leader chiari".<ref>{{Cita web|url=https://www.idc.com/getdoc.jsp?containerId=US45354219|sito=idc.com|
Nel 2019, IDC ha classificato [[EMC Corporation|Dell EMC]], [[Hitachi Data System]], [[IBM]], [[NetApp]] e Scality come leader.
== Standards ==
=== Dispositivi per archiviazione di oggetti ===
==== OSD versione 1 ====
Nella prima versione dello standard OSD,<ref>{{Cita web|url=http://www.techstreet.com/cgi-bin/detail?product_id=1204555|
Un insieme estensibile di attributi descrive gli oggetti. Alcuni attributi vengono implementati direttamente dall'OSD, come il numero di byte in un oggetto e il [[timestamp]] di modifica di un oggetto. C'è inoltre una speciale politica di etichettatura che fa parte del meccanismo di sicurezza. Altri attributi non sono stati interpretati dall'OSD. Questi sono impostati su oggetti dai sistemi di archiviazione di livello superiore che utilizzano l'OSD per lo storage persistente. Ad esempio, gli attributi potrebbero essere utilizzati per classificare oggetti o per individuare le relazioni tra diversi oggetti memorizzati su diversi OSD.
Riga 96 ⟶ 92:
==== OSD versione 2 ====
Una seconda generazione del set di comandi SCSI, "Object-Based Storage Devices - 2" (OSD-2), ha aggiunto il supporto per le snapshot, le raccolte di oggetti ed è stata miglioratala gestione degli errori.<ref>{{Cita web|url=http://www.techstreet.com/products/1801667|
Un'[[Snapshot|istantanea]] è una copia puntuale di tutti gli oggetti di una partizione in una nuova partizione. L'OSD può implementare una copia efficiente nello spazio utilizzando tecniche di [[copy-on-write]] in modo che le due partizioni condividano oggetti che non sono cambiati tra diversi istanti, oppure potrebbe copiare fisicamente i dati nella nuova partizione. Lo standard definisce i cloni, che sono scrivibili, e gli [[Snapshot|istantanei]], che sono solo leggibili.
Riga 109 ⟶ 105:
Con un archivio chiave-valore, i dati vengono identificati da una chiave anziché da un LBN. Una chiave potrebbe essere "gatto" o "olivo" o "42". Può essere una sequenza arbitraria di byte di lunghezza variabile. I dati (chiamati "valori" in questo contesto) non devono essere di dimensioni fisse e possono essere anche una sequenza arbitraria di byte di lunghezza variabile. Si memorizzano i dati presentando la chiave e i dati (valore) si possono recuperare in seguito presentando la sola chiave. Questo concetto è impiegato nei linguaggi di programmazione. [[Python]] li chiama dizionari, [[Perl]] li chiama hash, [[Java (linguaggio di programmazione)|Java]] e [[C++]] li chiamano mappe, ecc. Molti archivi dati implementano anche archivi di tipo chiave-valore come [[Memcached]], [[Redis]] e [[CouchDB]].
Gli object-store sono simili ai sistemi di archiviazione chiave-valore per due aspetti: in primo luogo, l'identificatore di oggetto o [[Uniform Resource Locator|URL]] (l'equivalente della chiave) può essere una stringa arbitraria,
Ci sono tuttavia alcune differenze tra object-storage e chiave-valore: i primi consentono anche di associare un insieme limitato di attributi (metadati) a ciascun dato. La combinazione di una chiave e di un valore e relativi di attributi definisce un oggetto. In secondo luogo, l'archiviazioni di oggetti sono ottimizzati per grandi quantità di dati (centinaia di [[
==
<references />
== Voci correlate ==
* [[File system|Storage dei file]]
* [[Cloud storage|Storage cloud]]
* [[Clustered file system]]
{{Portale|informatica}}
[[Categoria:Software per la gestione dei dati]]
[[Categoria:Gestione dei dati]]
|