2013-01-07 18 views

risposta

8

La risposta breve è dipende. Nell'applicazione a cui sto lavorando ci sono alcune informazioni che utilizziamo il caching per gestire sia la latenza del recupero dei dati da Table Storage sia il numero desiderato di transazioni al secondo.

Abbiamo iniziato a fornire le informazioni da Table Storage e siamo passati alla memorizzazione nella cache solo quando i nostri requisiti di prestazione lo dettavano. Consiglierei un approccio simile: farlo funzionare, quindi renderlo veloce.

+0

Ok, buon punto. Molte grazie! – MaxWillmo

5

In aggiunta a quanto Robert detto, si dovrebbe anche prendere in considerazione i seguenti punti:

Windows Azure Storage Table permette di memorizzare fino a 100 TB di dimensione (in blocchi). A prima vista, la dimensione dei dati potrebbe sembrare schiacciante. Tuttavia, Table Storage può essere partizionato. Ogni partizione di Table Storage può essere spostata su un server separato dal controller di Azure riducendo in tal modo il carico su ogni singolo server e migliorando le prestazioni.

Se si ha un carico molto elevato sull'applicazione, si memorizza nella cache con inserimenti frequenti che si avvicinano alla dimensione massima della cache molto rapidamente e quindi viene avviato il processo di rimozione degli elementi della cache. Nella maggior parte dei casi, gli inserimenti frequenti nella cache e i processi di espulsione della cache di frequente terminano con il degrado delle prestazioni anziché il miglioramento. Quindi è necessario aumentare la dimensione massima della cache, che a sua volta influirà sul costo dell'applicazione (a volte potrebbe essere un blocco).

Ultimo ma non meno importante, è possibile accedere ai dati di Archiviazione tabella di Windows Azure utilizzando il protocollo OData e le query LINQ con le librerie .NET del servizio dati WCF; non hai questa capacità con Azure Cache.

Si prega di tenere presente che quei punti possono o non possono essere validi nel tuo caso. Tutto dipende dalla tua architettura di sistema; carico atteso, ecc.

Spero che la mia risposta ti aiuti a prendere decisioni sull'architettura del sistema.

Problemi correlati