I COOKIE CI PERMETTONO DI MIGLIORARE LA TUA ESPERIENZA UTENTE CONTINUANDO A NAVIGARE SU QUESTO SITO ACCETTI IL LORO IMPIEGO 

Martedì, 22 Novembre 2011 17:25

Servizio di archiviazione (Storage) In evidenza

Scritto da
Letto 4289 volte Ultima modifica il Mercoledì, 23 Novembre 2011 08:43
Vota questo articolo
(0 Voti)

Poiché le applicazioni gestiscono i dati in modi molto diversi tra loro, il servizio di archiviazione di Windows Azure fornisce varie opzioni, illustrate nella figura 4.

 Figura4: il servizio di archiviazione di Windows Azure offre blob, tabelle e code.

Il modo più semplice per archiviare dati in Windows Azure consiste nell'utilizzo dei blob. Un blob contiene dati binari e, come indica la figura 4, presenta una gerarchia semplice: ogni contenitore può contenere uno o più blob. I blob possono essere di grandi dimensioni, fino a un terabyte, e possono includere metadati, ad esempio informazioni sul luogo in cui è stata scattata una foto in formato JPEG o il nome del cantante di un brano MP3. Forniscono inoltre l'archiviazione sottostante per le unità Windows Azure, un meccanismo che consente a un'istanza di ruolo di Windows Azure di interagire con l'archivio permanente come se fosse un file system NTFS locale.

I blob sono molto adatti in certe situazioni, ma sono troppo poco strutturati per altre. Per poter elaborare i dati in modo più dettagliato, Windows Azure fornisce tabelle per l'archiviazione. Il nome "tabella" non deve fuorviare: non si tratta infatti di tabelle relazionali. I dati contenuti in ogni tabella sono in realtà archiviati in un gruppo di entità che contengono a loro volta proprietà. Inoltre, anziché utilizzare SQL, un'applicazione può eseguire query sui dati di una tabella utilizzando le convenzioni definite da OData. Questo approccio consente la scalabilità orizzontale dell'archiviazione, ovvero la capacità di sfruttare la distribuzione dei dati su più computer, in modo più efficiente rispetto a un normale database relazionale. Di fatto, una singola tabella di Windows Azure può contenere miliardi di entità con terabyte di dati.

Sia i blob che le tabelle sono utilizzati per l'archiviazione e l'accesso ai dati. La terza opzione di archiviazione in Windows Azure, ovvero le code, ha uno scopo totalmente diverso. Tra i compiti principali delle code vi è quello di garantire alle istanze di ruolo Web la possibilità di comunicazione asincrona con le istanze di ruolo di lavoro. Ad esempio, un utente potrebbe inviare una richiesta per una determinata attività di elaborazione intensiva tramite un'interfaccia Web implementata da un ruolo Web di Windows Azure. L'istanza di ruolo Web che riceve la richiesta può scrivere un messaggio in una coda con la descrizione del lavoro da svolgere. Un'istanza di ruolo di lavoro in attesa nella coda può quindi leggere il messaggio ed eseguire l'attività specificata. Il risultato può infine essere restituito tramite un'altra coda o essere gestito in altri modi.

A prescindere dalla modalità di archiviazione dei dati (in blob, tabelle o code), tutte le informazioni contenute nell'archivio di Windows Azure vengono replicate tre volte. Questo garantisce la tolleranza di errore, dal momento che la perdita di una copia dei dati non risulta fatale. Il sistema assicura allo stesso tempo grande coerenza, pertanto un'applicazione che legge immediatamente i dati che ha appena scritto ottiene esattamente gli stessi dati. Windows Azure mantiene inoltre una copia di backup di tutti i dati in un altro data center ubicato nella stessa area del pianeta. Se il data center che ospita la copia principale non è disponibile o addirittura viene distrutto, la copia di backup rimarrà accessibile.

L'archivio di Windows Azure è accessibile da applicazioni Windows Azure, on-premises o eseguite presso un provider di servizi di hosting o su un'altra piattaforma cloud. In ogni caso, tutti e tre gli stili di archiviazione di Windows Azure utilizzano le convenzioni REST per identificare ed esporre i dati, come illustrato nella figura 4. Blob, tabelle e code vengono tutti denominati utilizzando URI e sono accessibili tramite normali operazioni HTTP. A tale scopo, un client .NET può utilizzare una libreria fornita da Windows Azure, sebbene ciò non sia necessario, dal momento che un'applicazione può anche effettuare chiamate HTTP non elaborate.

Creare applicazioni Windows Azure che utilizzano blob, tabelle e code è certamente utile. Le applicazioni che si avvalgono dell'archiviazione relazionale possono invece utilizzare SQL Azure, un altro componente della piattaforma Windows Azure. Le applicazioni eseguite in Windows Azure (o su altre piattaforme) possono utilizzare questa tecnologia per ottenere un familiare accesso basato su SQL all'archiviazione relazionale nella cloud.

Torna all'articolo principale

Articolo succassivo

Letto 4289 volte

Lascia un commento

Assicurati di aver digitato tutte le informazioni richieste, evidenziate da un asterisco (*). Non è consentito codice HTML.