Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem pessoal, estou para lançar (em 1 ano rsrs) um jogo, porem, ele irá em varias vezes, fazer 500.000 (quinhentos mil) atualizações ou novos cadastros a cada SEGUNDO. Me disseram que isso, o mysql não suporta, e que vai travar, mas que o Oracle, poderia dar conta... Bem, o que vocês acham? Por favor, preciso de ajuda nisso, sei um pouco de mysql, mas se for ter que usar oracle, terei que iniciar do zero!
Outra pergunta, mysql mexo com php, e o oracle? Dá para fazer o mesmo com php? No mysql uso phpmyadmin, o oracle tem uma ferramenta boa assim?
Como chegou nesses números?
galera mysql tambem faz isto tranquilamente para ambos funcionarem corretamente voce vai precisar de um servidor parrudo e uma aplicação muito bem estruturada
tenho casos de mysql com tabelas maiores de 50gb trabalhando intensamente
você tem q ver a hospedagem primeiro, depois do mysql o mais comum é mssql 2008.
Por favor, preciso de ajuda nisso, sei um pouco de mysql, mas se for ter que usar oracle, terei que iniciar do zero!
Não é difícil portar um sistema do MySQL para o Oracle. A maioria das modificações envolve retirar um dos incontáveis tipos de campo que o mysql possui e colocar um mais geral.
... 500.000 (quinhentos mil) atualizações ou novos cadastros a cada SEGUNDO ...
Não acha que está superdimensionando seu sistema?
>
Não é difícil portar um sistema do MySQL para o Oracle. A maioria das modificações envolve retirar um dos incontáveis tipos de campo que o mysql possui e colocar um mais geral.
Não acha que está superdimensionando seu sistema?
Olá não tenho certeza disso... Tpw, se tiver 1 milhão de usuários, todos executando certas ações, pode ser que "aleatoriamente" uns 500 mil terminem esta ação no mesmo instante, mesmo que não sege no mesmo segundo, vai ser poucas diferenças. Ai tenho medo de mysql não dar conta. Na minha casa fica difícil testar, já que meu servidor local, é apenas um pc comum... o proseador influência muito né?
Pra banco relacional, o volume de dados é que afeta em todas as execuções de querys, ou seja se você tiver muitos dados, suas consultas devem ser bem definidas, com os melhores filtros, etc, isso pode acabar te limitando em certas coisas, mas se vai ter alteração constante em dados, etc ... eu sugiro um banco de dados NoSQL, além de ser bem mais flexível, é bem menos comprometedor do que um relacional.
Sei que não tá incluído aí na lista um banco NoSQL, mas é a melhor opção, ao menos pra mim.
>
Pra banco relacional, o volume de dados é que afeta em todas as execuções de querys, ou seja se você tiver muitos dados, suas consultas devem ser bem definidas, com os melhores filtros, etc, isso pode acabar te limitando em certas coisas, mas se vai ter alteração constante em dados, etc ... eu sugiro um banco de dados NoSQL, além de ser bem mais flexível, é bem menos comprometedor do que um relacional.
Sei que não tá incluído aí na lista um banco NoSQL, mas é a melhor opção, ao menos pra mim.
"NoSQL"! nossa, você poderia me dizer então quais são os tipo de servidores que têm. Pois pelo jeito, eu estou bem desatualizado!
>
"NoSQL"! nossa, você poderia me dizer então quais são os tipo de servidores que têm. Pois pelo jeito, eu estou bem desatualizado!
Dedicados. Servidores compartilhados não tem. ( eu nunca vi ).
Mas peralá, você quer rodar um banco com 500k de registros, em servidor compartilhado ? então esteja preparado para Crash Imediato.
Wesley,
Em quanto tempo você estima que o seu sistema que será lançado daqui 1 ano chegará em 1 milhão de usuários? :P
>
Dedicados. Servidores compartilhados não tem. ( eu nunca vi ).
Mas peralá, você quer rodar um banco com 500k de registros, em servidor compartilhado ? então esteja preparado para Crash Imediato.
"dedicado"e "compartilhado". Não sei a diferença, poderia explicar por favor? As vezes falo servidor, mas é banco de dados, certo? E quais são os tipos de Banco de dados, para internet que existe. Qual é recomendado para jogos com bastantes jogadores ativos?
>
Wesley,
Em quanto tempo você estima que o seu sistema que será lançado daqui 1 ano chegará em 1 milhão de usuários? :P
isso sem duvida vai demorar, estimo que dentro de 5 anos não chega á isso.... Mas, eu quero ficar preparado, para não ter que imigrar para outro BD, pois isso pode, ou não, ser trabalhoso.
"dedicado"e "compartilhado". Não sei a diferença, poderia explicar por favor? As vezes falo servidor, mas é banco de dados, certo? E quais são os tipos de Banco de dados, para internet que existe. Qual é recomendado para jogos com bastantes jogadores ativos?
Servidor dedicado é um que comporta apenas a sua aplicação, enquanto que os compartilhados se dividem entre a sua e outras várias.
Servidores dedicados custam em média 10x mais caro que os compartilhados. Entretanto, se o tráfego for muito grande numa hospedagem compartilhada, fatalmente sua aplicação sairá do ar.
Uma outra alternativa é utilizar servidores em nuvem e customizar tudo o que você precisa.
Mas já vou avisando: pra 1M de usuários um servidor dedicado só não basta... vais precisar de um cluster com algumas máquinas no mínimo...
#12
isso sem duvida vai demorar, estimo que dentro de 5 anos não chega á isso.... Mas, eu quero ficar preparado, para não ter que imigrar para outro BD, pois isso pode, ou não, ser trabalhoso
.
Não é o momento de se preocupar com isso..
Digamos que hoje você monte uma estrutura monstruosa para suportar até 1 milhão de conexões simultâneas
OK, digamos que isso ocorra daqui a uns 8 anos.
Até lá, novas tecnologias surgirão. O que você montar hoje estará 8 anos defasado, ou seja, terá um custo muito maior refazendo tudo do zero.
>
Não é o momento de se preocupar com isso..
Digamos que hoje você monte uma estrutura monstruosa para suportar até 1 milhão de conexões simultâneas
OK, digamos que isso ocorra daqui a uns 8 anos.
Até lá, novas tecnologias surgirão. O que você montar hoje estará 8 anos defasado, ou seja, terá um custo muito maior refazendo tudo do zero.
Hinom, eu concordo e discordo, pois tem um fator muito importante: ele não afirmou que o servidor chega a 1 milhão de conexões, mas aí estamos falando de "conexões", agora, se ver o mecanismo que um jogo trabalha, acredite ... não será apenas nas conexões, os dados não são guardados em uma tabela específica, talvez a junção de todas as tabelas necessárias, dê mais de 1 milhão de dados.
E nisso, você inclui, que persistência na conexão com o banco pode ser bom e ser ruim, se não houver persistência, será várias conexões, e outra que se ele tem em torno de 250.000 usuários em 1 ano, e 250.000 fazem várias coisas durante o jogo, do qual o uso do banco de dados é extremamente requerido, isso inclui: UPDATES, DELETES, INSERTS .. em várias linhas da tabela, sem falar dos relacionamentos, é muita coisa que o servidor vai ter que responder, portanto acredito eu que ter uma boa estrutura agora, por evitar problemas iniciais e talvez futuros ;
Agora, um servidor compartilhado, é péssimo pra esse tipo de coisa, a melhor opção mesmo seria o que o Henrique falou, um servidor cloud bem configurado pra trabalhar só com o que a aplicação pede.
>
Hinom, eu concordo e discordo, pois tem um fator muito importante: ele não afirmou que o servidor chega a 1 milhão de conexões, mas aí estamos falando de "conexões", agora, se ver o mecanismo que um jogo trabalha, acredite ... não será apenas nas conexões, os dados não são guardados em uma tabela específica, talvez a junção de todas as tabelas necessárias, dê mais de 1 milhão de dados.
E nisso, você inclui, que persistência na conexão com o banco pode ser bom e ser ruim, se não houver persistência, será várias conexões, e outra que se ele tem em torno de 250.000 usuários em 1 ano, e 250.000 fazem várias coisas durante o jogo, do qual o uso do banco de dados é extremamente requerido, isso inclui: UPDATES, DELETES, INSERTS .. em várias linhas da tabela, sem falar dos relacionamentos, é muita coisa que o servidor vai ter que responder, portanto acredito eu que ter uma boa estrutura agora, por evitar problemas iniciais e talvez futuros ;
Agora, um servidor compartilhado, é péssimo pra esse tipo de coisa, a melhor opção mesmo seria o que o Henrique falou, um servidor cloud bem configurado pra trabalhar só com o que a aplicação pede.
É complicado, realmente, eu posso ter uns 250k de jogadores, mas se contar todas as funções no BD, os dados pode passar de um milhão. Mas tambem tenho medo de fazer um grande investimento, e não ter um retorno satisfatorio.
Digamos que eu inicie em um servidor compartilhado mesmo. Mas depois queira imigrar tudo para outro BD, dá muito trabalho? no phpmyadmin tem como exportar bancos, vai dar para fazer o mesmo, ou o trabalho é todo manual? Qual host vcs me recomendão?
É complicado, realmente, eu posso ter uns 250k de jogadores, mas se contar todas as funções no BD, os dados pode passar de um milhão. Mas tambem tenho medo de fazer um grande investimento, e não ter um retorno satisfatorio.
exatamente por isso recomendei cautela de sua parte e também porque julguei que você não tem estrutura ou planejamentos sólidos
Digamos que eu inicie em um servidor compartilhado mesmo. Mas depois queira imigrar tudo para outro BD, dá muito trabalho?
quanto a isso.. nem pensar.. nenhum server compartilhado permitirá mesmo que seja pouco volume de operações.
sem contar que necessitará de velocidade.
procure os servers VPS cloud
Se almeja algo grande, elabore um projeto e apresente a algum investidor ou crie parceiros para ajudar no financiamento, estrutura, etc.
De uma pesquisada pelo Cassandra utilizado pelo twitter, facebook, google, digg.
Artigo interessante sobre testes de funcionalidades...
http://nivaldomjunior.blogspot.com.br/2010/07/entendendo-o-banco-de-dados-nosql.html
beleza pessoal, vou averiguar com bastante cautela as suas sugestões. Obrigado pelo apoio....
Aproveitando... já que vocês me ajudaram muito aqui, quem poder, dá uma olhada em outra duvida minha por favor... segue o link dela:
Para fazer 500.000/segundo Creio que oracle sua unica opção, só que como vai fazer isso com PHP? Creio que o meio deva ser outro mais otimizado, além de ter essa quantidade de acessos acho que nem o google recebe isso por segundo :) você precisaria de um rack (com boas máquinas)ou até mais num data center para fazer um cluster para suportar tal características, além das redundâncias necessárias.