Melhores práticas são diretrizes que ajudam você a gerenciar seus dados de forma mais eficiente.
Melhores práticas gerais
Crie menos data stores
Data stores têm um comportamento semelhante ao de tabelas em bancos de dados. Quando você minimiza o número de data stores em um jogo e coloca dados relacionados no mesmo data store, você consegue configurar cada data store individualmente e melhorar a eficiência do serviço para operar os dados.
Use um único objeto para dados relacionados
Para utilizar melhor o limite de tamanho de objeto de 4 MB, busque todos os dados relevantes em uma única chamada. SetAsync() atualiza todos os dados, de modo que todos os dados do mesmo usuário estejam sempre em sincronia.
O sistema de versionamento versão objetos individuais em vez do data store inteiro. Isso significa que objetos autocontidos são consistentes quando você restaura data stores para versões anteriores.
Use prefixos de chave para organizar seus dados
Filtre chaves com um prefixo específico ao chamar ListKeysAsync(). Por exemplo, você pode salvar chaves com um prefixo como /User_1234/profiles/warrior e /User_1234/profiles/mage em jogos que suportam usuários com múltiplos perfis de personagens. Você pode então usar uma busca por prefixo com /User_1234/profiles para obter uma lista de todos os perfis pertencentes a esse usuário.
Melhores práticas de otimização
Data stores têm limites de armazenamento que se aplicam por jogo. Quando seu jogo se aproxima ou excede sua cota, você deve tomar medidas para reduzir o uso e evitar potenciais custos adicionais.
Monitore o uso de armazenamento
Use estas ferramentas para observabilidade de data store:
Painel de Data Stores, que fornece uma visão visual do seu uso de armazenamento ao longo do tempo. Use este painel para monitorar como seu armazenamento escala e para identificar períodos de crescimento inesperado no uso.
Gerenciador de Data Stores, que oferece uma visão direta dos dados armazenados do seu jogo. O Gerenciador inclui métricas chave, como seu uso atual de armazenamento e o total de chaves que você tem armazenadas em todos os seus data stores. Se seu jogo exceder sua cota, o Gerenciador exibirá um alerta e seu novo custo mensal estimado.
Se seu jogo tiver mais de 100 data stores, o Gerenciador pode não exibir suas métricas detalhadas. Nesse caso, considere usar análise programática através do Open Cloud ou operações em lote.
Notificações, que notificam você quando seu jogo se aproxima ou excede os limites de armazenamento. As notificações incluem orientações e links para painéis onde você pode revisar e reduzir seu uso.
Resolva o uso excessivo de cota
Se seu jogo exceder seus limites de armazenamento, você pode:
- Excluir data stores não utilizados. Se você está testando ou tem stores temporários, excluí-los regularmente ajuda a manter um uso saudável de armazenamento. Quando você exclui um data store, pode levar até 30 dias para que o Roblox processe sua solicitação.
- Excluir chaves individuais. Isso é útil quando você precisa remover itens temporários ou os dados de um certo jogador.
- Use o Processador em Lote. Em casos onde a exclusão de dados manualmente não é eficiente, você pode usar o Processador em Lote ou a API do Open Cloud Data Stores para excluir dados em massa.
Use versões de data store em vez de novas chaves
Ao salvar atualizações ou novas versões de dados de jogadores ou configurações, você pode usar o sistema de versionamento de data stores em vez de criar uma nova chave para cada versão. O versionamento permite que você reverta ou inspecione saves anteriores sem aumentar sua contagem total de chaves ou a pegada de armazenamento.
Use data stores de memória para dados temporários
Use data stores de memória em vez de data stores para caches ou dados efêmeros. Os dados em data stores de memória expiram automaticamente após 45 dias, o que reduz o crescimento do seu armazenamento a longo prazo.
Limpe seus dados após os testes
Depois de concluir os testes, exclua data stores de teste através do Gerenciador de Data Stores. Evite criar novos escopos ou novos data stores inteiros apenas para dados de teste.
Armazene dados de jogadores por chave
Em vez de armazenar dados de jogadores por data store, armazene-os por chave. Excluir uma chave é mais rápido do que excluir um data store.
Remova dados após eventos
Após eventos sazonais ou recursos temporários, exclua dados não utilizados através do Processador em Lote ou das APIs do Open Cloud.
Revise o uso regularmente
Certifique-se de revisar seu uso regularmente e detectar anomalias precocemente com o Painel de Data Stores.