Quote:
Originally Posted by Mutuka_XTreme
E aн pessoal, firmeza?
Bom, й o seguinte, eu nunca programei PWN usando MySQL, e agora quero usar. Na minha graduaзгo, dentro das linguagens que estudo estгo SQL e PHP (PHP pode ser bem ъtil tambйm na criaзгo de um site com integraзгo com o server), mas estou com algumas dъvidas quando o assunto й integraзгo MySQL com PWN.
Dъvidas:
1) Usando MySQL o servidor pode ficar mais leve?
2) Й preferнvel o armazenamento em MySQL ou arquivos?
3) Registros cadastrados, atualizados e removidos do banco de dados й automaticamente atualizado no server tambйm?
Andei dando umas lidas, vendo alguns tutorias disponibilizados aqui no fуrum e em outros lugares, li na wiki, vendo posts aqui no fуrum e tudo mais, mas nгo encontrei nada que tirasse as minhas dъvidas, entгo recorri a este post.
Desde jб agradeзo galera! Muito obrigado! Abraзos
|
1 - Bem se formos ver, o servidor pode ficar mais leve, mas isso depende do que vocк quer dizer com o mais leve, porque nгo tem problema vocк ter 1GB de dados na pasta scriptfiles, tem problema й vocк carregar esses dados, porque isso vai sobrecarregar o servidor e pronto ele acaba por crashar o que nгo acontece com o MySQL.
2 - Й claro que й preferнvel usar MySQL, mas temos de saber quais os motivos, nгo vamos dizer que usamos sу MySQL sу porque й mais bonito, mais fбcil e todos usam, isso nгo й motivo, segundo os meus aspetos o que eu considero motivo para usar MySQL й:
- Dinвmica: Vocк pode fazer tudo bem estruturado e bem organizado, ou seja, vocк pode fazer por exemplo: vocк tem duas tabelas a users e a cars, para vocк conectar e poder identificar qual й o veiculo do jogador vocк simplesmente necessita de colocar uma field que iria dizer, owner_id, o owner id seria o id da row em auto-increment, ou seja, mysql permite vocк organizar tudo com ligaзхes e nos arquivos isso torna-se mais complicado.
- Trabalha com grandes dados: O MySQL й usado por grandes empresas, por isso o tamanho dos arquivos do mysql sгo muito, mas quando eu digo muito, й que й mesmo muito pequenos, por exemplo a minha database (que eu usava no meu servidor) com 10 tabelas tem 160,KBytes, como pode ver o tamanho й pequeno.
- Conexгo externa: Vocк pode usar MySQL com PHP, C++, Python, etc...
Do meu ponto de vista esses sгo os motivos pelo qual eu uso MySQL.
3 - Bem isso depende da forma que vocк carrega os dados, se vocк carregar em variбveis estбticas isso nгo serб possнvel pois elas serгo carregadas ao server iniciar ou quando um jogador entrar, caso nгo use variбveis estбticas isso й possнvel, quando me refiro a variбveis estбticas nгo й static, mas sim variбveis que jб sгo definidas para receber certos dados. Nгo sei se vocк entendeu muito bem, mas caso tenha mais duvidas sobre essa coisa que acabei de dizer mande-me uma PM.
@Edit
Pronto aqui estб uma explicaзгo melhor sobre o ponto 3.
Entгo й assim, do ponto de vista para editar dados, eles atualizam a database й obvio, mas nem sempre vai atualizar os dados do servidor, por exemplo:
Vocк quer fazer o carregamento de dados do jogador, entгo vocк vai criar uma enumeraзгo e em seguida vai criar uma variбvel, digamos que ela se chama, gPlayerInfo[MAX_PLAYERS][ENUM_PLAYER_INFO];
Como vocк pode ver, quando o jogador logar no servidor os dados serгo carregados apenas uma vez, entгo apуs o decorrer do jogo digamos que vocк vai no servidor e troca o dinheiro dele para 1000, isso nгo irб afetar o jogador, visto que ele fez apenas 1 carregamento de dados.
Agora vamos supor que vocк quer fazer o carregamento de veнculos do servidor, vocк vai criar uma enumeraзгo e criar uma variбvel chamada gVehicleInfo[MAX_CARS][ENUM_VEHICLE_INFO];
Da mesma forma como o jogador os dados sу serгo carregados 1 vez, porйm o carregamento serб apуs o servidor carregar.
Entгo vamos para a parte final, digamos que vocк quer algumas informaзхes das armas que o jogador guardou na sua casa, entгo em vez de vocк carregar em variбveis vocк sу necessita de fazer 1 carregamento apуs a chamada, como sabemos que nгo estarб dependente de nada vocк sу precisa de mandar um Query e pegar os dados e mostrar ao jogador, entгo desta forma vocк pode editar os dados ao decorrer do servidor, visto que os carregamentos sу sгo feitos apуs as devidas chamadas e nгo sгo armazenados vocк pode alterar os dados.