• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

Razões para usar ou não MYSQL

18 mensagens neste tópico

Boas malta , estive a ler este artigo e achei bastante curioso, foi pedido a alguns experts da comunidade open source para discutir as razões a favor/contra para usar/não usar MYSQL.

Vou colocar o artigo e pretendo com isto que seja elaborado uma discussão saudável aos membros do fórum.

Vamos a isso :

Artigo

Five reasons to use MYSQL : http://www.cio.com/article/113110

Eight reasons to not use MYSQL : http://www.cio.com/article/113111/Eight_Sound_Reasons_Not_to_Use_MySQL

Opiniões ?  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lets start the flame war, mysql sucks.

E que tal flames argumentados? Esses têm mais piada.

Não li os artigos, mas algo tenho a opinar. Para páginas simples, comunidades não muito grandes e afins, MySQL é uma excelente solução. Para algo mais profissional já começa a ser necessário algo mais poderoso também..., caso do Oracle.

Porque é que digo que o Oracle não é solução para projectos pequenos? Vão ver os requisitos do Oracle à página da Oracle..., vejam se há necessidade de um servidor dedicado para um projecto caseiro...

MySQL, enquanto não existir algo leve o quanto baste e eficaz, será sempre uma solução.

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Além disso temos de ter em conta os alojamentos disponiveis...

MySQL está presente na maior parte dos alojamentos de PHP, por isso logo ai tem vantagem para coisas pequenas/médias.

Quando são coisas grandes não vale a pena ir por ai, porque o mercado nem ia ser o mesmo :P

Eu concordo com a opinião do HecKel.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
lets start the flame war (...)

Espero sinceramente que não.

MySQL, enquanto não existir algo leve o quanto baste e eficaz, será sempre uma solução.

Na verdade existem mais que são também leves e tanto ou mais eficazes, mas infelizmente só se fala de MySQL.

A minha opinião, e é apenas isso, é que qualquer motor de bases de dados deve ser escolhido de acordo com o objectivo. MySQL pode ser válido para um projecto e não ser para outro, mesmo que o projecto seja um projecto pessoal, pequeno e simples.

No fim, são os requisitos de sistema que definem se MySQL é um opção a usar ou se outras opções devem ser consideradas.

Penso que discutir se se deve ou não usar MySQL é inútil pois isso dependerá do sistema a implementar.

Posso dizer que de todas as aplicações que fiz até agora, usei MySQL uma vez, e fui obrigado. Mas esta é apenas a minha experiência.

Quanto ao MySQL estar agarrado ao PHP considero isso uma desvantagem, senão vejamos, se quiser usar PHP tenho imensas funções que facilitam o acesso a bases de dados MySQL, mas se quiser usar PHP com outras bases de dados como é? Eu que gosto bastante de Java gostaria de migrar muitas bases de dados para um motor que use Java, mas se estiver a usar PHP não posso. Se quiser usar o MySQL com outra linguagem tenho problemas de acesso ao motor, existem bastantes formas de aceder a uma base de dados que usa MySQL mas a forma mais fácil é dentro de PHP e se quiser usar Java para fazer o cliente, como é?

Eu falo em Java, mas o problema existem para qualquer outra linguagem que não PHP. Essa integração promoveu o aparecimento de uma quase dependência entre as tecnologias, e dependência nunca é coisa boa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também nunca usei MySQL (a não ser no PHP Throwdown, mas nem sequer toquei em código SQL), na minha opinião é um motor de bases de dados pesado demais para o que preciso. Em tudo o que já desenvolvi em PHP usei sempre o SQLite, um motor de base de dados que já vem incluído com a versão 5 do PHP, é rápido, leve e eficaz. Mas tudo depende do tipo de projecto que se está a desenvolver, se estivesse a implementar alguma coisa que envolvesse muitas ligações à base de dados e que fosse bastante visitado, então já pensava duas vezes e usava o PostgreSQL, MySQL ou quem sabe Oracle.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um dos grandes problema que vejo em MySQL é só terem introduzido as SP ( Stored Procedures) na versão 5.0, ou seja, muito recentemente, o que para uma empresa que tem o seu negócio dependente de uma plataforma não é muito seguro apostar numa ferramenta que acabou de sair e que como todos os softwares , tem bugs a corrigir.

Desconheço totalmente quais são as ferramentas que os developers da MySQL disponibilizam para conseguir unir este SGBD com outra qualquer linguagem a não ser PHP que está riquíssimo( e ainda bem ) de ferramentas de ligação ao MySQL.

MySQL é gratuito sobre GPL embora à quem critique um pouco o funcionamento na versão enterprise.

Gosto muito de MySQL na verdade só trabalhei com MySQL / MS SQL mas acredito que Oracle/SAP para as empresas que tem capacidades a nível financeiro é capaz de ser um objecto incomparável com MySQL.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não tenho muita experiência com o MySQL, mas não gostei muito de trabalhar com ele. isto porque ao contrário do que acontece por exemplo com o SQLServer tenho que andar a meter lixo no meio do MySQL (para indicar o que quero usar o InnoDB, os charsets, etc.). depois também não gostei das opções disponíveis para backups, que não sei porquê, quando tentava copiar a BD para outro pc nunca funcionava direito. as versões com as quais trabalhei (4.x e 5.0) também tinham alguns bugs (penso que era na 5.0 que os 'DISTINCT' não funcionavam e havia outra "instrução" qualquer que já não me lembra o que era, que também não dava).

pessoalmente acho que é um software que ainda tem muito para melhorar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um dos grandes problema que vejo em MySQL é só terem introduzido as SP ( Stored Procedures) na versão 5.0, ou seja, muito recentemente, o que para uma empresa que tem o seu negócio dependente de uma plataforma não é muito seguro apostar numa ferramenta que acabou de sair e que como todos os softwares , tem bugs a corrigir.

Desconheço totalmente quais são as ferramentas que os developers da MySQL disponibilizam para conseguir unir este SGBD com outra qualquer linguagem a não ser PHP que está riquíssimo( e ainda bem ) de ferramentas de ligação ao MySQL.

MySQL é gratuito sobre GPL embora à quem critique um pouco o funcionamento na versão enterprise.

Gosto muito de MySQL na verdade só trabalhei com MySQL / MS SQL mas acredito que Oracle/SAP para as empresas que tem capacidades a nível financeiro é capaz de ser um objecto incomparável com MySQL.

Para utilizares o MySQL com qualquer linguagem podes instalar o driver ODBC para o MySQl (googla por MyODBC) e a partir daí podes criar uma ligação ODBC para o teu servidor MySQL e utilizá-la em qualquer linguagem. Existe também um driver OLEDB para o MySQL mas ainda não o experimentei.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não tenho muita experiência com o MySQL, mas não gostei muito de trabalhar com ele. isto porque ao contrário do que acontece por exemplo com o SQLServer tenho que andar a meter lixo no meio do MySQL (para indicar o que quero usar o InnoDB, os charsets, etc.). depois também não gostei das opções disponíveis para backups, que não sei porquê, quando tentava copiar a BD para outro pc nunca funcionava direito. as versões com as quais trabalhei (4.x e 5.0) também tinham alguns bugs (penso que era na 5.0 que os 'DISTINCT' não funcionavam e havia outra "instrução" qualquer que já não me lembra o que era, que também não dava).

pessoalmente acho que é um software que ainda tem muito para melhorar.

Acho que tiveste uma má experiencia com o MySQL ou então tens que estudar mais um bocadinho a ferramenta... O Distinct funciona perfeitamente e o "lixo" que te referes são opções que tornam o MySQL extremamente flexivel e te permitem personalizar o MySQL para o uso que lhe queres dar. Além disso os backups também funcionam perfeitamente assim como a importação desses backups noutro serviudor... Se calhar estás demasiado "viciado" no SQL Server e daí estarem-te de certa forma a chocar as diferenças de funcionamento.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
O Distinct funciona perfeitamente

não fui o único a detectar o problema, mas ainda vou ver qual era a versão em que isso acontecia. e havia mais coisas que não funcionavam.

e o "lixo" que te referes são opções que tornam o MySQL extremamente flexivel e te permitem personalizar o MySQL para o uso que lhe queres dar.

achas normal um SGBD não verificar as restrições de integridade referencial por defualt? eu não chamo a isso flexibilidade.

Além disso os backups também funcionam perfeitamente assim como a importação desses backups noutro serviudor...

não conheço muito bem as opções as disponíveis para backup no MySQL, aqui será provavelmente defeito meu.

Se calhar estás demasiado "viciado" no SQL Server e daí estarem-te de certa forma a chocar as diferenças de funcionamento.

hoje talvez, na altura usava mais o MySQL do que o SQLServer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
O Distinct funciona perfeitamente

não fui o único a detectar o problema, mas ainda vou ver qual era a versão em que isso acontecia. e havia mais coisas que não funcionavam.

e o "lixo" que te referes são opções que tornam o MySQL extremamente flexivel e te permitem personalizar o MySQL para o uso que lhe queres dar.

achas normal um SGBD não verificar as restrições de integridade referencial por defualt? eu não chamo a isso flexibilidade.

Além disso os backups também funcionam perfeitamente assim como a importação desses backups noutro serviudor...

não conheço muito bem as opções as disponíveis para backup no MySQL, aqui será provavelmente defeito meu.

Se calhar estás demasiado "viciado" no SQL Server e daí estarem-te de certa forma a chocar as diferenças de funcionamento.

hoje talvez, na altura usava mais o MySQL do que o SQLServer.

Acredito que nalguma versão antiga houvesse preoblemas com o Distinct. No entanto eu trabalho com o MySQL desde as vesões 4+ e nunca detectei problemas a esse nivel.

Não verifica a integridade referencial por default mas pode ser configurado para tal. No entanto esse é um bocado o trabalho do programador e as aplicações devem fazer esse tipo de verificações sem as "delegar" para o SGBD. (Na minha humilde opinião claro)

Os backups funcionam de forma diferente do "habitual". Os backups do SQL SERVER, por exemplo, são binarios. Os do MySQL geram ficheiros de texto (personalizaveis) com instruções SQL para "recriar" a base de dados.

Claro que não quero dizer com isto que o MySQL seja melhor ou pior que os outros SGBDs. Mas é hoje em dia (especialmente a partir da versão 5, já com stored procedures, triggers, replicação, etc...) uma opção extremamente válida, flexivel, com muitas funcionalidades e de grande performance.

Agora cabe ao cada programador ou analista, tendo em conta a aplicação e os seus objectivos e requisitos, analisar e escolher o SGBD cujas vantagens são mais adequadas aos fins em vista.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Agora cabe ao cada programador ou analista, tendo em conta a aplicação e os seus objectivos e requisitos, analisar e escolher o SGBD cujas vantagens são mais adequadas aos fins em vista.

Não foi até agora proferida frase com a qual concordasse mais! No fundo, os requisitos do sistema a desenvolver é que determinam qual o SGBD a usar e não a opinião que qualquer utilizador/administrador tenha do mesmo.

Não quero com isso dizer que goste de MySQL mas não o vou deixar de usar só porque não gosto muito dele :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Espero sinceramente que não.
MySQL, enquanto não existir algo leve o quanto baste e eficaz, será sempre uma solução.

Na verdade existem mais que são também leves e tanto ou mais eficazes, mas infelizmente só se fala de MySQL.

A minha opinião, e é apenas isso, é que qualquer motor de bases de dados deve ser escolhido de acordo com o objectivo. MySQL pode ser válido para um projecto e não ser para outro, mesmo que o projecto seja um projecto pessoal, pequeno e simples.

No fim, são os requisitos de sistema que definem se MySQL é um opção a usar ou se outras opções devem ser consideradas.

Penso que discutir se se deve ou não usar MySQL é inútil pois isso dependerá do sistema a implementar.

Posso dizer que de todas as aplicações que fiz até agora, usei MySQL uma vez, e fui obrigado. Mas esta é apenas a minha experiência.

Quanto ao MySQL estar agarrado ao PHP considero isso uma desvantagem, senão vejamos, se quiser usar PHP tenho imensas funções que facilitam o acesso a bases de dados MySQL, mas se quiser usar PHP com outras bases de dados como é? Eu que gosto bastante de Java gostaria de migrar muitas bases de dados para um motor que use Java, mas se estiver a usar PHP não posso. Se quiser usar o MySQL com outra linguagem tenho problemas de acesso ao motor, existem bastantes formas de aceder a uma base de dados que usa MySQL mas a forma mais fácil é dentro de PHP e se quiser usar Java para fazer o cliente, como é?

Eu falo em Java, mas o problema existem para qualquer outra linguagem que não PHP. Essa integração promoveu o aparecimento de uma quase dependência entre as tecnologias, e dependência nunca é coisa boa.

Concordo com QUASE TUDO o que disse, mas por ser ter experiência em php/mysql/mssql digo, que sim é verdade que o php, tem grandes vantagens em relação ao MSSQL, funcionando com MySQL. Está errado ao dizer que o php é mais fácil com mysql, os tempos de acesso, esses sim, podem ser diferentes quanto a facilidade de acesso pode ver aqui:

http://pt.php.net/mssql

http://pt2.php.net/manual/en/ref.mysql.php

que são "iguais" já para oracle... a coisa é bem diferente ^^.

Contudo acho mysql(Linux!) um bom motor, em acesso "directo"(gui: mysql query vs mSql ent. 2000/5) nota-se algum ganho em relação ás tabelas em memória... contudo, perde-se no tempo de ligação ao servidor.

Poderia-mos até falar da DEFECIENCIAS dos MySQL quando carga intensiva com SP's em servidores distintos(httpd numa maquina, mysql noutra)... mas também poderiamos dizer que outros motores têm lentidões imensas quando fazem indexação de text, coisa que o mysql está +/-...

Profisionalmente trabalho num sitio onde existe um grade sistema em MsSQL e digo-vos sinceramente, quando tiverem que brincar a sério, com alguns milhares de clientes... vão perceber que o MsSql tem GARANTIAS e NOME coisa que o MySQL não tem, ou não tem muito... é a insegurança (psicológica muitas vezes xD) que faz as versões de software pagas serem melhores para fins profissionais.

Agora imaginem fazer backup de 18GB(tamanho de uma BD), em texto para mysql como backups, contra passar em 1.5h tudo isso para tapes, onde está esse suporte no mysql?

Acreditem, só uso mysql ;). Sql server, só por obrigação.

Tudo depende daquilo que pretendemos fazer é claro!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ridiculo. Mas não se pode esperar muito de artigos jornalísticos. Aposto que, uma grande parte das respostas foram dadas por gestores. Justificar razões para user ou não usar 1 software pela licença... podiam fazer um artigo só dedicado a isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

Antes de mais, gostaria de chamar a vossa atenção para um aspecto.

Não ha produtos perfeitos, todos tem problemas, vantagens e desvantagens. Acima de tudo deve imperar o bom senso, e uma avaliação criteriosa sobre o produto.

O MySql tem vantagens, nomeadamete quando pretendemos utilizar plataformas Linux.

Em Windows ha outras opções.

Assim, guardem as vossas "Flames" e ponderem bem as vantagens e desvantagens de cada produto quando tiverem de decidir qual a melhor opção. Não esquecer que migrar de "engine" é tão ou mais complicado do que mudar de linguagem de programação!

Cumps,

Fcc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Razões para optar pelo MySQL:

- open source

- performance bastante aceitável

- drivers disponíveis para as plataformas mais comuns

Razões para não optar pelo MySQL:

- escalabilidade

- optimização da bd limitada

- componente procedimental (PSM, PL/SQL, etc.)

De forma simples, é isto.

Tenho mais algumas coisas a apontar, mas não tenho a certeza, como o facto de me parecer fraca para uso de business intelligence, mas como nunca a tentei usar para isso, não posso comentar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é naquela... está ali na indecisão entre uma coisa leve e eficaz e uma solução completa.

Acaba por ficar ali no meio o que acho que é mau.

Começa a suportar transacções, vistas, triggers, etc etc. mas vai tudo chegando a conta gotas e de forma um pouco atabalhoada.

Se tiver que desenvolver um projecto para um cliente que pague bem.... postgresql logo, tudo funciona de forma muito menos 'esquisita'. E as funcionalidades que são suportadas são suportadas verdadeiramente em toda a sua extensão.

Para esses projectos de uma só pessoa, para pequenos e medios sites, etc etc não vejo nenhuma vantagem do mysql em relação ao sqlite. Só introduz entropia desnecessária.

As vantagens são as que o m6 disse e o facto de estar em todo o lado.

Agarrado ao PHP... não concordo com isso, está tão agarrado ao php como o postges, oracle e outras para as quais há bibliotecas nativas php. O sqlite é que vem literalmente agarrado ao PHP5 pois é incluido na sua distribuição.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

(...) mas vai tudo chegando a conta gotas e de forma um pouco atabalhoada.

Se tiver que desenvolver um projecto para um cliente que pague bem.... postgresql logo, tudo funciona de forma muito menos 'esquisita'. E as funcionalidades que são suportadas são suportadas verdadeiramente em toda a sua extensão.

Ok! Concordo com a parte do PostgreSQL até pk é simplemente bombástico, rápido e cheio de funcionalidades! Muito mais à frente que o MySQL. O chegar a conta gotas... não é pago, mais uma vez, friso!

Outra coisa, o custo por processador é bem mais baixo do que qualquer outro SGBD que tem versão "paga". O PostgreSQL é sempre gratuito... só vantagens!

1 abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora