09/06/2021 01:45
(Esta mensagem foi modificada pela última vez a: 09/06/2021 01:48 por willttoonn.)
Eu optaria transferir para MySQL e não para SQLite.
O banco de dados do meu gamemode é MySQL e extremamente pesado e atualmente tem 2.16gb, mas isso não afeta em nada relacionado a processamento durante a jogatina em horários de pico. Eu criei um ciclo para amenizar o impacto de ter um banco de dados extremamente pesado.
O principal deles é que os dados brutos (o que o servidor oferece aos jogadores) só carregam uma vez no dia, isso inclui casas, empresas, garagens, itens dropados, mobílias (só aqui são 200,000 linhas de dados com mais de 30 campos cada uma). O meu servidor tem quase 45.000 veículos cadastrados, como eu sei que nem 1.000 vão ser usados diariamente eu impus um limite de carregamento similar ao SA-MP, diariamente o servidor apenas carrega até 2.000, isso já tem 2 anos que fiz essa adaptação. As mobílias eu não posso fazer o mesmo, pois custaria processamento, se cada propriedade carregasse apenas a mobília quando alguém entrasse nela haveriam picos de processamento, pois o limite atualmente em cada uma é de até 550 mobílias, diferente dos veículos que são em média 5-6 por jogador e o limite atual é 6. Apesar do meu servidor ser de roleplay, o que é bem diferente e faz necessário esse acumulo de informações, a lógica é aplicável em todos os tipos de gamemode.
O ideal é você separar o carregamento de dados em dois tipos: bruto e livre. O bruto é os dados que tem que ta no servidor, inclusive se ele estiver vazio. O livre é os dados inerentes a um player, só são carregados quando ele entra no jogo e quando sai são descarregados da memória.
O tamanho de 100mb em um banco de dados no MySQL é bem pequeno para falar a verdade, eu não estou acostumado com o SQLite, mas em comparação com o MySQL eu prefiro o MySQL pois a aplicação dele é bem mais ampla que apenas o SA-MP e mais fácil de obter ajuda.
O banco de dados do meu gamemode é MySQL e extremamente pesado e atualmente tem 2.16gb, mas isso não afeta em nada relacionado a processamento durante a jogatina em horários de pico. Eu criei um ciclo para amenizar o impacto de ter um banco de dados extremamente pesado.
O principal deles é que os dados brutos (o que o servidor oferece aos jogadores) só carregam uma vez no dia, isso inclui casas, empresas, garagens, itens dropados, mobílias (só aqui são 200,000 linhas de dados com mais de 30 campos cada uma). O meu servidor tem quase 45.000 veículos cadastrados, como eu sei que nem 1.000 vão ser usados diariamente eu impus um limite de carregamento similar ao SA-MP, diariamente o servidor apenas carrega até 2.000, isso já tem 2 anos que fiz essa adaptação. As mobílias eu não posso fazer o mesmo, pois custaria processamento, se cada propriedade carregasse apenas a mobília quando alguém entrasse nela haveriam picos de processamento, pois o limite atualmente em cada uma é de até 550 mobílias, diferente dos veículos que são em média 5-6 por jogador e o limite atual é 6. Apesar do meu servidor ser de roleplay, o que é bem diferente e faz necessário esse acumulo de informações, a lógica é aplicável em todos os tipos de gamemode.
O ideal é você separar o carregamento de dados em dois tipos: bruto e livre. O bruto é os dados que tem que ta no servidor, inclusive se ele estiver vazio. O livre é os dados inerentes a um player, só são carregados quando ele entra no jogo e quando sai são descarregados da memória.
O tamanho de 100mb em um banco de dados no MySQL é bem pequeno para falar a verdade, eu não estou acostumado com o SQLite, mas em comparação com o MySQL eu prefiro o MySQL pois a aplicação dele é bem mais ampla que apenas o SA-MP e mais fácil de obter ajuda.