Partições e Distribuição de Dados

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Com a liberação da estrutura de dados MemoryStoreHashMap, o Roblox removeu todos os limites existentes para estruturas de dados individuais e as substituiu com um único limite de "per-partição" global. O limite exato flutua com base em valores internos e como o processo de partição automática distribui seus dados, mas geralmente permite um uso muito maior antes de o limite ser ativado, especialmente para mapas

Partições

A API StorageMem storea dados em partições, que são apenas subdivisões do armazenamento. Sempre que você escreve um item em um lojade memória, esse item é armazenado exatamente em uma partição. As partições são gerenciadas completamente pela API (Interface de Programação para Aplicações)StorageMem; você não precisa gerenciá-las diretamente.

Atribuição de Partição

O armazenamento de partição é diferente, dependendo da estrutura de dados em que um item está sendo armazenado. Para mapas e filas classificados, cada estrutura de dados é atribuída uma única partição.

Por exemplo, considere um jogo de carnaval com um mapa classificado chamado PlayerScores e uma fila chamada PlayerLine de jogadores esperando para jogar o jogo:

Ao contrário de mapas classificados e filas, mapas de hashes são alocados para várias partes, e os dados são distribuídos automaticamente entre essas partes. Se você adicionar um mapa de hashes chamado Prizes, as partes podem parecer como esta:

Observe como o mapa de hashes existe em todas as partições e cada partição tem alguns subconjuntos de itens.

Limites

Ter um limite de per-parteira permite um maior desempenho para todas as estruturas de dados. Isso também favorece mapas de hashes, porque eles são distribuídos por todas as partes.

Por exemplo, considere um limite de 150.000 pedidos por minuto (RPM):

  • No melhor dos casos, um mapa classificado e uma fila têm o limite de 150.000 RPM, porque cada um deles reside em uma única partição.
  • Solicitações para hashar mapas são espalhadas por todas as chaves do item, que são, por sua vez, espalhadas por partes, para que os mapas de hashes possam ter um limite de efeito muito maior antes de serem limitados, muitas vezes, que as outras estruturas de dados.

Por esta razão, se você não precisa de funcionalidades de classificação ou "primeiro em, primeiro fora" geralmente, os mapas de hashes são a melhor escolha para uma estrutura de dados de armazenamento de memória. Para mais informações, see Melhores Práticas.