Partitions et distribution de données

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Avec la sortie de la structure de données MemoryStoreHashMap, Roblox a supprimé tous les limites existantes pour les données individuelles et les a remplacées par un seul limite de MemoryStoreHashMap d'allègement. La limite exacte varie en fonction des valeurs internes et de la façon dont le processus de partition automatique distribue vos données, mais généralement permet d'utiliser beaucoup plus de ressources avant de lim

Partitions

L'API de stockage des mémoires stocke les données sur partitions, qui sont simplement des sous-divisions de l'espace de stockage. Lorsque vous écrivez un élément dans un boutiquemémoire, cet élément est stocké sur exactement une partition. Les partitions sont gérées entièrement par l'API de stockage des mémoires ; vous n'avez pas besoin de les gérer vous-même.

Rotation des partitions

Le stockage des partitions est différent selon la structure des données sur laquelle un élément est stocké. Pour les cartes et les file d'attente triées, chaque structure de données est attribuée une seule partie.

Par exemple, considérez un jeu de carnaval avec une carte triée nommée PlayerScores et une file d'attente nommée PlayerLine de joueurs en attente de jouer au jeu :

Contrairement aux cartes triées et aux files d'attente, les cartes hachées sont attribuées à plusieurs partitions, et les données sont distribuées automatiquement sur ces partitions. Si vous ajoutiez une carte hachée appelée Prizes, les partitions pourraient ressembler à ceci :

Notez comment la carte de hachage existe sur toutes les partitions, et chaque partition a un certain nombre d'éléments sous-jacents.

Limites

Avoir une limite par partie permet d'obtenir une plus grande vitesse de traitement pour toutes les structures de données. Cela favorise également les cartes de hachage, car elles sont distribuées sur toutes les parties.

Par exemple, considérez une limite par partie de 150 000 demandes par minute (RPM) :

  • Dans le cas le plus favorable, une carte triée et une file d'attente sont limitées à 150 000 RPM, car chacune réside sur une seule partition.
  • Les demandes d'hachage de cartes sont réparties sur les clés de l'article, qui sont elles-mêmes réparties sur les partitions, afin que les cartes d'hachage puissent avoir une limite efficace beaucoup plus élevée avant d'être limitée, de nombreuses fois que les autres structures de données.

Pour cette raison, si vous n'avez pas besoin de fonctionnalités de tri ou de « premier à, premier à » dans le stockage de données, les tableaux de hachage sont généralement le meilleur choix pour une structure de données de stockage. Pour plus d'informations, voir Meilleures pratiques.