Archiviazione di Azure per l'applicazione multi-tenant. Stiamo lavorando per sviluppare un'applicazione multi-tenant su Azure, con circa 10.000 tenant e una memoria dati approssimativa da 100 GB a 1 TB per tenant. L'applicazione è di mantenere i documenti e il contenuto binario insieme ai metadati per ciascun titolare separatamente. Stiamo pensando allo storage Azure Block Blob per archiviare i dati. Poiché il requisito è mantenere i dati separati per ciascun titolare, ci siamo imbattuti nel seguente approccio.Limitazione e filtro di archiviazione BLOB di Azure
- Creare un account di archiviazione separato per ogni inquilino
- che aiuta a mantenere l'inquilino utilizzo sapiente, che aiuta ancora una volta sulla fatturazione e
- creare un contenitore separato in ogni account di archiviazione segregare in base alla categoria
- Memorizza il documento nella memoria BLOB a blocchi insieme ai metadati.
Abbiamo seguente query rispetto al nostro approccio:
- E 'buona idea per archiviare documenti o contenuto binario nel blocco blob insieme con i metadati? O c'è un modo migliore per ottenerlo (probabilmente usando SQL Azure per i metadati e blob per il contenuto, o meglio )?
- Come interrogare i dati con alcune condizioni di filtro sui metadati? ad esempio recupera tutto il blob in cui metadat1 = value1 e metadata2 = value2
- È consigliabile creare un account di archiviazione separato per ogni titolare?
a. In caso contrario, quale sarebbe il modello attraverso il quale possiamo archiviare dati specifici dei titolari nell'archiviazione e nell'applicazione di Azure in modo efficiente? - Esiste una larghezza di banda o qualsiasi altra limitazione sul numero di richieste di lettura/scrittura dei dati sull'archiviazione BLOB in termini di scalabilità e disponibilità elevata?
- Come per il modello di prezzo azzurro, fanno pagare la lastra per lo stoccaggio, vale a dire il primo 1 TB $ 0,095/GB, il prossimo 49 TB $ 0,08/GB. Questi addebiti sono l'applicazione per account di archiviazione o per abbonamento?
a. Allo stesso modo, il costo della transazione è applicabile per account di archiviazione o per abbonamento?
Grazie Gaurav. Volevo solo chiarire un paio di cose: in primo luogo, dato che sei più incline alla memorizzazione dei tavoli, immagino che questo sia per i metadati e il contenuto andrà comunque in blob, giusto? In secondo luogo, hai menzionato che il limite dell'account di archiviazione è 200 TB, intendi 100 TB, giusto? Perché non ho trovato 200 TB ovunque. – Hitesh
Questo è corretto. Il contenuto sarà effettivamente nella memoria BLOB, ma i metadati su cui si desidera eseguire la query entreranno nella memoria della tabella (o in sql azure) poiché l'archiviazione BLOB non supporta le query. Vedi qui per il limite di 200 TB sull'account di archiviazione: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/04/windows-azure-s-flat-network-storage-and-2012-scalability -targets.aspx. Il limite di 200 TB è menzionato nella sezione degli obiettivi di scalabilità, tuttavia si applica solo agli account di archiviazione creati dopo il 7 giugno 2012. –