Partizioni e distribuzione dei dati

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Con la release di the data structure MemoryStoreHashMap , Roblox ha rimosso tutti i limiti esistenti per le singole strutture di dati e li ha sostituiti con un singolo limite di MemoryStoreHashMap di throttling. Il limite esatto fluttua in base ai valori interni e come il processo di partitionamento automatico distribuisce i tuoi dati, ma generalmente consente un uso molto più elevato prima di throttling, in

Partizioni

L'API StorageMemories memorizza i dati su partizioni , che sono solo sottodivisioni dello storage. Ogni volta che scrivi un oggetto in un'Negoziodi memoria, quell'area viene memorizzata esattamente su una partizione. Le partizioni sono gestite interamente dall'API StorageMemories; non è necessario gestirle manualmente.

Assignazione delle parti

Il salvataggio delle parti è diverso a seconda della struttura dei dati su cui viene archiviato un oggetto. Per le mappe e le code classifiche, ogni struttura dei dati viene assegnata a una sola partizione.

Ad esempio, considera un gioco di carnevale con una mappa ordinata chiamata PlayerScores e una coda chiamata PlayerLine di giocatori in attesa di Gioco:

A differenza delle mappe e delle code classifiche, le mappe hashed sono assegnate a più parti, e i dati vengono distribuiti automaticamente su queste parti. Se aggiungi una mappa hashed chiamata Prizes, le parti potrebbero sembrare come segue:

Nota come la mappa di hashing esiste su tutte le partizioni e ogni partizione ha alcuni sottoinsieme di oggetti.

Limitazioni

Avere un limite per partiizione consente di avere un flusso di dati maggiore per tutte le strutture di dati. Inoltre, favoreggia le mappe hash, poiché sono distribuite su tutte le partiizioni.

Ad esempio, considera un limite per partizione di 150.000 richieste al minuto (RPM):

  • Nel caso migliore, una mappa ordinata e una coda sono limitate a 150.000 RPM, poiché ognuna vive in una singola partition.
  • Le richieste per generare mappe vengono distribuite su tutte le chiavi dell'elemento, che a loro volta sono distribuite su più parti, il che significa che le mappe di generazione possono avere un limite effettivo molto più elevato prima di essere limitate, molte volte rispetto alle altre strutture di dati.

Per questo motivo, se non hai bisogno di funzionalità di ordinamento o "primo in, primo fuori", le mappe di hash sono di solito la migliore scelta per una struttura dei dati della memoria. Per ulteriori informazioni, vedi Migliori Pratiche .