As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
GAMECOST03-BP02 Otimize bancos de dados para back-ends de jogos
Os jogos dependem muito de bancos de dados para armazenar uma ampla variedade de dados críticos, desde perfis e inventários de jogadores até microtransações e métricas de progressão no jogo. Os bancos de dados também desempenham um papel crucial no gerenciamento dos aspectos sociais dos jogos, como criar e manter grupos de jogadores, festas e aplicar políticas de moderação. À medida que a base de jogadores de um jogo cresce, os custos associados ao banco de dados aumentarão inevitavelmente para acomodar as crescentes demandas de dados e uso.
Nível de risco exposto se esta prática recomendada não for estabelecida: Médio
Orientação para implementação
Para back-ends de jogos executados no Amazon Aurora, há várias estratégias de otimização de custos que podem ser empregadas. Uma recomendação importante é escalar automaticamente suas réplicas de leitura com base nos padrões de uso, aumentando ou diminuindo dinamicamente o número de réplicas para lidar com as flutuações no tráfego. Isso significa que você está pagando pelos recursos de que realmente precisa. Outra tática de otimização é substituir as réplicas de leitura usadas para análise de jogos por exportações de snapshots de banco de dados para o Amazon S3, já que o serviço de armazenamento do S3 geralmente é mais acessível do que as instâncias de banco de dados provisionadas do Aurora. Para obter mais informações, consulte Exportação de dados de snapshot de banco de dados para o Amazon S3 para Amazon RDS.
Explorar o uso de instâncias de banco de dados reservadas do Amazon Aurora para suas instâncias de banco de dados principais e fazer a transição para a configuração sem servidor do Aurora também pode levar a uma economia substancial de custos a longo prazo, fornecendo mais flexibilidade e controle granular sobre a utilização de recursos.
Da mesma forma, para back-ends de jogos que usam o Amazon DynamoDB, empregar o modo de capacidade sob demanda do DynamoDB pode ser uma opção eficaz, especialmente para cargas de trabalho novas ou imprevisíveis, pois permite que você pague somente pelos recursos que consome sem a necessidade de provisionar em excesso. À medida que seus padrões de tráfego de jogos se tornam mais estáveis e previsíveis com o tempo, você pode então fazer a transição para o modo de capacidade provisionada do DynamoDB, que pode oferecer economia de custos por meio de um melhor planejamento de capacidade. Ativar o escalonamento automático em suas tabelas do DynamoDB é outra otimização importante, permitindo que o serviço ajuste dinamicamente a capacidade provisionada com base nas flutuações no tráfego. Teste a estrutura de dados do seu jogo em um ambiente de desenvolvimento antes do lançamento para encontrar e remover índices secundários locais (LSIs) e índices secundários globais (GSIs) desnecessários. Isso pode levar a uma economia substancial de custos para operações e armazenamento de dados de jogos. Remover operações ineficientes de digitalização do código de back-end do jogo em favor de consultas mais direcionadas, comprar capacidade reservada do
Ao implementar essas estratégias de otimização de custos para o Amazon Aurora e o DynamoDB, os desenvolvedores e editores de jogos podem reduzir significativamente seus gastos com bancos de dados de back-end de jogos.
Etapas de implementação
-
Use o escalonamento automático da réplica de leitura do Aurora e as exportações de snapshots de banco de dados para o Amazon S3 para lidar com as necessidades flutuantes de tráfego e análise.
-
Otimize os custos do DynamoDB começando com a capacidade sob demanda para novas cargas de trabalho, fazendo a transição para a capacidade provisionada com escalabilidade automática para tráfego previsível e removendo LSIs e GSIs não utilizados.
-
Evite operações de digitalização ineficientes em favor de consultas direcionadas, use instâncias reservadas ou capacidade reservada e use o DynamoDB Streams com para processamento de eventos. AWS Lambda