View a markdown version of this page

GAMECOST03-BP02 Ottimizza i database per i backend di gioco - Games Industry Lens

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

GAMECOST03-BP02 Ottimizza i database per i backend di gioco

I giochi fanno molto affidamento sui database per archiviare un'ampia gamma di dati critici, dai profili e gli inventari dei giocatori alle microtransazioni e alle metriche di progressione all'interno del gioco. I database svolgono anche un ruolo cruciale nella gestione degli aspetti sociali dei giochi, come la creazione e il mantenimento di gruppi di giocatori, feste e l'applicazione delle politiche di moderazione. Man mano che la base di giocatori di un gioco cresce, i costi associati ai database aumenteranno inevitabilmente per soddisfare le crescenti richieste di dati e utilizzo.

Livello di rischio associato se questa best practice non fosse adottata: medio

Guida all’implementazione

Per i backend di gioco in esecuzione su Amazon Aurora, è possibile utilizzare diverse strategie di ottimizzazione dei costi. Una raccomandazione fondamentale è quella di ridimensionare automaticamente le repliche di lettura in base ai modelli di utilizzo, aumentando o diminuendo dinamicamente il numero di repliche per gestire le fluttuazioni del traffico. Ciò significa che paghi per le risorse di cui hai veramente bisogno. Un'altra tattica di ottimizzazione consiste nel sostituire le repliche di lettura utilizzate per l'analisi dei giochi con l'esportazione di snapshot DB in Amazon S3, poiché il servizio di storage S3 è generalmente più conveniente rispetto alle istanze di database Aurora fornite. Per ulteriori informazioni, consulta Esportazione di dati di snapshot DB in Amazon S3 per Amazon RDS.

L'esplorazione dell'uso di istanze DB riservate per Amazon Aurora per le istanze di database principali e la transizione alla configurazione Aurora Serverless possono anche portare a notevoli risparmi sui costi a lungo termine fornendo maggiore flessibilità e controllo granulare sull'utilizzo delle risorse.

Analogamente, per i backend di gioco che utilizzano Amazon DynamoDB, l'utilizzo della modalità di capacità on-demand di DynamoDB può essere una scelta efficace, soprattutto per carichi di lavoro nuovi o imprevedibili, in quanto consente di pagare solo per le risorse consumate senza la necessità di fornire eccessivamente. Man mano che i modelli di traffico di gioco diventano più stabili e prevedibili nel tempo, puoi passare alla modalità di capacità fornita da DynamoDB, che può offrire risparmi sui costi attraverso una migliore pianificazione della capacità. L'attivazione dell'auto-scaling sulle tabelle DynamoDB è un'altra ottimizzazione chiave, che consente al servizio di regolare dinamicamente la capacità fornita in base alle fluttuazioni del traffico. Testa la struttura dei dati del gioco in un ambiente di sviluppo prima del lancio per trovare e rimuovere gli indici secondari locali () e gli indici secondari globali () non necessari. LSIs GSIs Ciò può portare a notevoli risparmi sui costi per l'archiviazione e le operazioni dei dati di gioco. La rimozione di operazioni di scansione inefficienti dal codice di backend di gioco a favore di query più mirate, l'acquisto di capacità riservata di Amazon DynamoDB e l'utilizzo di DynamoDB Streams con AWS Lambda trigger per elaborare gli eventi di backend di gioco possono ottimizzare ulteriormente i costi di DynamoDB. Per ulteriori informazioni, consulta Best practice per l'interrogazione e la scansione dei dati in DynamoDB.

Implementando queste strategie di ottimizzazione dei costi sia per Amazon Aurora che per DynamoDB, gli sviluppatori e gli editori di giochi possono ridurre in modo significativo la spesa per i database di backend di gioco.

Passaggi dell’implementazione

  • Usa l'auto-scaling delle repliche di lettura di Aurora e le esportazioni di snapshot DB su Amazon S3 per una gestione efficiente in termini di costi delle fluttuazioni del traffico e delle esigenze di analisi.

  • Ottimizza i costi di DynamoDB iniziando con la capacità su richiesta per nuovi carichi di lavoro, passando alla capacità fornita con auto-scaling per traffico prevedibile e rimuovendo i e inutilizzati. LSIs GSIs

  • Evita operazioni di scansione inefficienti a favore di query mirate, utilizza le istanze riservate o la capacità riservata e utilizza DynamoDB Streams per l'elaborazione degli eventi. AWS Lambda