View a markdown version of this page

GAMESUS01-BP01 Utilisez des technologies de stockage adaptées aux modèles adaptés au contenu utilisateur, aux informations des abonnés et aux achats dans le jeu - Lens de l'industrie du jeu

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GAMESUS01-BP01 Utilisez des technologies de stockage adaptées aux modèles adaptés au contenu utilisateur, aux informations des abonnés et aux achats dans le jeu

Vous devez classer vos données par type, par besoin de conservation et par fréquence d'accès. Cela vous permet de sélectionner la solution de stockage la plus optimisée pour la myriade de types de données produits par votre jeu ou vos services backend. Les données qui changent rapidement doivent être stockées dans des services de base de données clé-valeur ou en mémoire. Les données transactionnelles doivent être stockées dans des services de bases de données relationnelles. Les fichiers volumineux, les ressources de jeu ou le contenu généré par les utilisateurs doivent être stockés dans des services de stockage d'objets.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé

Directives d’implémentation

Les jeux produisent et consomment une grande variété de types de données qui nécessitent des solutions de stockage optimisées en termes de fréquence d'accès, de latence et de coût. Les données stockées doivent être classées à l'aide de balises pour différencier les données qui peuvent être supprimées ou qui doivent être stockées à long terme.

Les services suivants fonctionnent bien pour de nombreux cas d'utilisation des jeux :

Amazon Aurora (compatible avec MySQL et PostgreSQL) offre une haute disponibilité, une faible latence et une mise à l'échelle automatique, ce qui en fait un excellent choix pour gérer de grandes quantités de données transactionnelles, telles que la gestion et l'authentification des comptes des joueurs, les économies du jeu, les classements et les classements des joueurs, la persistance de l'état du jeu, la gestion des événements et des campagnes, ainsi que le déploiement multirégional et à haute disponibilité.

Amazon DynamoDB est une base de données NoSQL entièrement gérée connue pour sa faible latence, son haut débit et son évolutivité fluide, ce qui en fait la solution idéale pour gérer les données des joueurs en temps réel, la gestion des sessions, l'inventaire, l'économie du jeu, l'état des parties multijoueur en temps réel, le matchmaking, la journalisation des événements et la mise à l'échelle pour une audience mondiale.

Amazon DocumentDB (compatible avec MongoDB) fournit un service de base de données évolutif et à faible latence orienté documents, idéal pour stocker des données flexibles et semi-structurées, telles que le système d'inventaire, les profils et les personnalisations des joueurs, les mondes de jeu et le contenu généré de manière procédurale, les interactions sociales et avec les joueurs, les analyses et le suivi du comportement, ainsi que les métadonnées et les configurations du jeu.

Amazon ElastiCache prend en charge la mise en cache en mémoire avec Redis ou Memcached, offrant un accès rapide aux données et des temps de réponse réduits, ce qui est essentiel pour les jeux multijoueurs en temps réel où la vitesse et les performances sont essentielles pour une expérience utilisateur fluide. ElastiCache est utilisé dans les jeux pour les classements en temps réel, la gestion des sessions, la mise en cache des métadonnées des jeux, le chat et la messagerie en jeu, le matchmaking, les analyses et la télémétrie en temps réel, ainsi que la mise à l'échelle pour les événements à fort trafic.

Amazon Simple Storage Service (S3) peut être utilisé pour stocker des objets tels que des actifs de jeu, des vidéos, des images, des fichiers journaux de texte, etc. S3 est un service de stockage d'objets offrant une évolutivité, une disponibilité des données, une sécurité et des performances de pointe.

S'il propose plusieurs classes de stockage qui prennent en charge un accès fréquent et occasionnel aux données, et un stockage d'archives rentable. Pour les données fréquemment consultées tout au long du développement, les studios doivent stocker les objets dans S3 Standard pour des performances à faible latence et à haut débit. Pour les données qui passent fréquemment du chaud au froid ou vice versa, les studios devraient étudier S3 Intelligent-Tiering. Intelligent-Tiering surveille les modèles d'accès à vos données et déplace automatiquement les données vers le niveau d'accès le plus rentable.

Pour les studios qui ont besoin d'un débit élevé, d'une faible latence et qui acceptent de vivre dans une seule zone de disponibilité, utilisez S3 Express One Zone. Cela permet de répliquer les données vers une seule zone de disponibilité et peut améliorer les vitesses d'accès aux données par rapport à la norme S3. Pour les besoins d'archivage approfondis des données historiques, Amazon propose également Amazon Glacier. Les classes de stockage Amazon Glacier sont spécialement conçues pour l'archivage des données, vous offrant des performances élevées, une flexibilité de récupération et un stockage d'archives à faible coût dans le cloud.

Amazon Elastic Block Store peut être utilisé pour stocker les fichiers binaires, les fichiers exécutables et les configurations dont vos serveurs de jeux ou vos référentiels de ressources ont besoin pour fonctionner. Vous devez créer une capture d'écran et supprimer les volumes inutilisés qui ne sont pas attachés à une instance EC2. Cela vous permet d'éviter les frais de stockage tout en réduisant l'utilisation de services et de matériel inutiles.

Étapes d’implémentation

  • Classez les données de jeu par type, besoins de conservation et fréquence d'accès, en étiquetant les données pour faire la distinction entre les besoins de stockage à court terme et à long terme.

  • Utilisez Amazon Aurora pour les données transactionnelles, DynamoDB pour les données des joueurs en temps réel, DocumentDB pour les données semi-structurées et ElastiCache pour la mise en cache à faible latence des informations de jeu critiques en termes de temps.

  • Stockez les actifs de jeu, les journaux et le contenu généré par les utilisateurs dans Amazon S3, en sélectionnant les classes de stockage appropriées (par exemple Intelligent-Tiering, One Zone et Glacier) en fonction des modèles d'accès et des besoins d'archivage, et utilisez EBS pour les fichiers binaires et les configurations des serveurs de jeu avec une gestion régulière des instantanés.