[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OFF] comparação entre SQLs



On 3/21/07, Rúben Lício <rubenlr@gmail.com> wrote:
Boa noite,

Eu não tenho gráficos, mas recentemente em aula, eu mostrei para os alunos
um exemplo de como o mysql é rápido.
fiz um script para inserir 100mil registros.
demorou cerca de 5s para executar.

 Para testar o select, eu deixei 3milhões de registros em uma tabela com 3
colunas e 1 auto increment.
Um select um campo int sem indexar levou cerca de 400ms para ser executado,
depois indexei o campo e passou a demorar 20ms para ser executado.
Eu acho este o maior erro dos testes disponíveis atualmente, tanto
INSERT, UPDATE, DELETE e SELECT devem ser testados simultaneamente e
não um por vez, afinal na realidade o banco não executa uma operação
por vez e sim todas. Se puder fazer algo com threads (ai PHP não é tão
util quanto se pensa...) fazendo estas operações assincrona e
randomicamente com dados que possam se assemelhar com a realidade ai
tem um resultado preciso, senão pode ser uma decepção.

Outra coisa importante é dizer a _storage engine_ utilizada no MySQL,
MyISAM, InnoDB, Memory e etc. Cada uma tem seus pontos fortes e
fracos, minha dica para sistemas de grande tráfego de dados é o
InnoDB, que faz um lock por registro ao contrário do MyISAM que trava
a tabela.


Eu, sinceramente, dúvido que o MySQL não aguente. O postgres também aguenta.
Ambos aguentam, mas não depende só do banco, há coisas como o SO que
interferem *e muito* nisso.


O cara que disse que é necessário um SQLServer, provavelmente está
insatisfeito porque vocês usam linux e ele não é capaz de aprender linux. SE
o trafego realmente necessitasse de muito, mas muito mesmo, o suficiente
para o postgres não aguentar, não seria o SQL Server que aguentaria.
Discordo em parte. O SQL Server é um dos poucos produtos da Microsoft
que eu já usei e gostei (o outro é o Visio :), para mim o problema de
usar o SQL Server é ter de usar exclusivamente Windows. Mas eu
acredito que tanto Postgres quanto MySQL estão no msmo nível que o SQL
Server e o Oracle em nível de SGDBs. Todos que citei tem suas
vantagens e desvantagens, cabe a cada um fazer a sua escolha por
questões técnicas e não "eu uso o bando ABCD porque eu gosto mais
dele". ;)


Agora, sinceramente, eu acho que não é você que tem que provar que o MySQL
aguenta, afinal, ela já está rodando e funcionando bem. E segundo tudo
indica, isso não vai mudar. Se o cara realmente acha que o MySQL é ruim,
porque ele não prova que vocês precisaram do SQL Server? Acredito que ele
deve ter ouvido falar, ou no máximo lido que o SQL Server é o melhor. Então,
não vejo porque você também não pode ter ouvido falar que o MySQL é melhor.
Não é bem assim que as coisas funcionam... Se ele mostrar que o MySQL
supre as necessidades da Universidade pode conseguir (não somente para
ele, mas para outros interessados) mais fundos para uma eventual
pesquisa cujo tema é aumento de performance ou alguma outra
necessidade da Universidade. Comprovando que o SGDB livre se saiu tão
bem ou melhor que os proprietários com certeza ajuda o projeto, seja
com um simples case ou com o apoio mais "técnico" que disse
anteriormente. ;)


Lembrando que, usar o SQL Server implica em usar um servidor windows. E,
sinceramente, querer alta disponibilidade em windows, é muito mais difícil
que em linux. Quando a segurança do sistema se mostrar necessário, ele vai
customizar o kernel do windows para fechar possíveis locais de invasão?
Uh, isso é relativo e fede a flame war... Já vi linux tão ou mais
"arregassados" que o Windows ME, como já disse, segurança e
disponibilidade são recursos do *administrador* e não do SO. :D

Eu sei que estou sendo um tanto agressivo com relação a isso, mas o ponto é
que fico inconformado das pessoas acreditarem na palavra da M$ mesmo sem ela
ser capaz de provar nada, e quando alguém de SL da uma responsta pensada,
porque entende que deve ser coerente, é como se não tivesse um produto bom o
suficiente. Quando na verdade, poderiamos mentir descaradamente igual a M$
faz muitas vezes, mas não o fazemos porque a maioria de nós é ético e
coerente o suficiente para entender as limitações do que está fazendo, e de
divulgar informações reais e não meros números para marketing.
Mais um motivo para ele provar que o MySQL dá conta das necessidades
deles. Não existe melhor "get the facts" que um case de sucesso. ;)
--
Maxwillian Miorim <miorimmax@gmail.com>
----
The answer is 42.



Reply to: