La risposta è Impaginazione. Utilizzare top_size
- numero massimo di risultati o record nel risultato - in combinazione con next_partition_key
e next_row_key
i token di continuazione. Ciò comporta una differenza di prestazioni significativa persino fattoriale. Per uno, i risultati sono statisticamente più propensi a provenire da una singola partizione. I risultati chiari mostrano che i set sono raggruppati per la chiave di continuazione della partizione e non per la riga continua.
In altre parole, è anche necessario pensare all'interfaccia utente o all'uscita del sistema. Non preoccupatevi di restituire più di 10 a 20 risultati max. 50. L'utente probabilmente non utilizzerà o esaminerà più.
Suoni folli. Fai una ricerca su Google per "cane" e nota che la ricerca restituisce solo 10 elementi. Non piu. I prossimi record sono disponibili per te se ti preoccupi di premere 'continua'. La ricerca ha dimostrato che quasi nessun utente si avventura oltre quella prima pagina.
il select
(restituendo un sottoinsieme dei valori-chiave) può fare la differenza; ad esempio, utilizzare select
= "PartitionKey,RowKey"
o 'Name'
qualunque sia il minimo necessario.
"Credo, che l'effetto di attraversare questi confini si traduce anche in gettoni continuazione, che richiedono ulteriore round-viaggi in stoccaggio per recuperare i risultati. Ciò si traduce quindi nella riduzione prestazioni, così come un aumento dei conteggi delle transazioni (e costi successivi). "
... è leggermente errato. il token di continuazione non viene utilizzato a causa dei confini di attraversamento, ma perché le tabelle azzurre non consentono più di 1000 risultati; quindi i due token di continuazione sono usati per il prossimo set. default top_size è essenzialmente 1000.
Per il piacere della visualizzazione, ecco la descrizione per le query sulle entità azure python api. gli altri sono più o meno gli stessi.
'''
Get entities in a table; includes the $filter and $select options.
table_name: Table to query.
filter:
Optional. Filter as described at
http://msdn.microsoft.com/en-us/library/windowsazure/dd894031.aspx
select: Optional. Property names to select from the entities.
top: Optional. Maximum number of entities to return.
next_partition_key:
Optional. When top is used, the next partition key is stored in
result.x_ms_continuation['NextPartitionKey']
next_row_key:
Optional. When top is used, the next partition key is stored in
result.x_ms_continuation['NextRowKey']
'''
fonte
2013-12-08 21:24:29
Hai detto "il livello di prestazioni che ti è garantito è impostato a livello di partizione". Dove è questo set/dove posso trovare informazioni su questo? –
Quanto segue è un collegamento al post del blog da parte di un membro del team del prodotto che specifica questa e altre informazioni. Scorri la maggior parte del modo e troverai il target della scala Partition della tabella singola che elenca 500 transazioni per partizione. http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx – BrentDaCodeMonkey