MySQL x PostGree - Qual a melhor opção para trabalhar com o SC ?

Pessoal,

Eu usei, ou melhor, tentei usar, o SC na versão 3, naquela época a ferramenta não me empolgou, mas parece que atualmente a evolução é notável e estou pensando em dar uma nova chance ao ScriptCase, pretendo comprar a licença com um único banco de dados, hoje minhas aplicações desktop são todas usando o MySQL, mas vejo cada dia mais o pessoal da área recomendar o uso do Postgree em vez do MySQL, afinal, o que vocês, usuários do SC sugerem, compro a versão com qual banco de dados ???

Abraços.

São bancos diferentes com licenças de uso diferentes.

Mysql é mais fácil usar, ele não tem frescuras, você faz e ele não critica, mas a responsabilidade é sua, ganha-se performance e produtividade com isso

Postgres é mais crítico, da mais trabalho, mas é robusto e mais consistente.

Para meus sistemas uso o Mysql, e não tenho problemas, mas dou consultoria a clientes que usam o Postgres e a coisa anda bem também.

Haroldo,

Grato pela sua pronta-respostas. Com relação a superioridade do Postgree isso eu já tinha ouvido dizer, e trabalhei um pouco com bancos do PG, agora uma dúvida que tenho é com relação a licença de uso, sei que o PG é totalmente free, já o MySQL não é mais, mas a dúvida é a seguinte: Se eu contrato um serviço de Cloud em um provedor onde ele disponibiliza o MySQL com direito a 10 bases, isso significa que estou contratando a licença de uso do MySQL também, não é isso ???

Abraços,

Haroldo, o que você quis dizer com não critica?

Cocuroci, até onde eu sei, essa diferença de robustez do postgres só é perceptível para grandes volumes de dados.
Para os sistemas que são feitos na grande maioria com o SC o mysql e o postgres são equivalentes.
Sobre a minha experiência pessoal eu uso o mysql e nunca tive nenhum tipo de problemas.
Entretanto com o postgres, que tentamos usar uma vez em um projeto de grande porte, tivemos problemas com o fato dele ser case insensitive e accent insensitive, ou seja, nas buscas do SC “José” ficava diferente de Jose <> josé <> jose. Neste caso optamos pelo SQL Server.
O postgres tem a vantagem de ser um banco preparado para dados geográficos, se você for trabalhar com geoprocessamento.
[]s

para o MySql:

Update tabela set campo_int = 1
e
Update tabela set campo_int = ‘1’
vai beleza

No Postgres não, ele sabe que a coluna é int então não deixa colocar o valor atribuído mesmo sendo numérico entre aspas.

O MYSql deixa por conta do programador, se o resultado não for o esperado a responsabilidade em prever é do programador, entende?

Incluir ou alterar colunas em tabelas que tem triggers (que para o postgres são funções) é problema. Mysql não esta nem aí se quer incluir coluna na tabela ele deixa, ou seja ele não critica.

Um Cloud, a máquina é sua, você coloca o que quiser nela.
Quanto a licença do Mysql é livre para uso até uma determinada versão depois não sei como funciona.

Ok Haroldo.
Entendi e concordo.
[]s

Todas as consistências que existem no PostgreSQL hoje podem ser feitas também no MySQL, tudo depende de como você estrutura os seus dados. Então, tudo vai depender do volume de dados que você vai utilizar, mas se quer utilizar um banco com bastante consistências e bem estruturado (eu particularmente prefiro assim), e com velocidade para grande volume de dados, assim como disse o Allan, utilize o PostgreSQL.
Eu sempre utilizo PostgreSQL, seja para pequeno volume ou grande volume.

É, eu estou tendendo a usar o Postgree, o único senão e ter que fazer um conversor de banco para poder usar as minhas bases de dados já criadas e populadas, será que eu encontro um bom conversor MySQL-<Postgre e que seja free ???

Muito obrigado pelas informações.

Endrigo,
E com relação aos acentos no postgres+scriptcase, como vc resolveu?
[]s

Qual o problema com acentos no PostgreSQL+SC? Crio os meus bancos como LATIN1.

Dessa forma por exemplo:

CREATE DATABASE “fs-teste”
WITH ENCODING=‘LATIN1’
TEMPLATE=template0
LC_COLLATE=‘C’
LC_CTYPE=‘C’
CONNECTION LIMIT=-1;

Por exemplo:
Se no banco estiver gravado “Antônio” e você pesquisar por “Antonio” no filtro de uma consulta do Scriptcase, ele não traz a informação.
[]s

A NetMake poderia implementar isso para os sistemas desenvolvidos para PostgreSQL.

select * from cad_clientes where to_ascii(cli_razao_social) ilike '%importacao%'

Utiliza to_ascii() para ignorar acentuação e cedilha.
Utiliza ilike no lugar de like para não sensivel ao caso.

Utiliza to_ascii() para ignorar acentuação e cedilha. Utiliza ilike no lugar de like para não sensivel ao caso.
O case sensitive já foi resolvido. Na configuração do sql da aplicação você pode selecionar o checkbox Case Sensitive, quanto ao acento ainda não testei na versão 7, mas até a 6 não tinha jeito. []s

Mas é só para você ver que se a NetMake quiser ela coloca os dois bancos para ter o funcionamento no ambiente cliente idêntico independente do banco que se queira usar.
E minha preferência continua sendo PostgreSQL.

Amanhã ou depois devo fechar a aquisição do SC 7, e ainda não decidi qual banco trabahar, me parece que a grande maioria usa o MySQL, mas também parece claro que o PostgreSQL é superior, Ó Dúvida Cruel !!! rs

Alguém pode me ajudar a sair de cima do muro ??? :wink:

O MySQL é tão bom quanto o postgres para o uso nas aplicações comuns desenvolvidas com SC.
O postgres dá muito trabalho.
Eu recomento o MySQL.
[]s

Eu tenho um pdf que fala sobre Postgresql, Mysql e Firebird.
ANÁLISE DE DESEMPENHO DOS BANCOS DE DADOS MYSQL, POSTGRESQL E FIREBIRD: UM ESTUDO DE CASO1
Trabalho da disciplina Projeto Multidisciplinar, em 2008, no curso de Bacharelado em Sistemas de Informação pela Faculdade Expoente
http://www.simaoebuhler.com.br/downloads/estudodecaso.pdf
Espero que ajude na sua decisão, mas lembro que há estudos mais recentes e com outros resultados. Pois o volume de dados usado no estudo foi muito baixo.
veja este outro por exemplo:
http://blog.hallanmedeiros.com/2013/02/19/benchmark-h2-firebird-postgresql-mysql/
Para grande inserção de dados o mysql fica mais lento que os outros, o mysql so fica mais rápido em selects.
Fiz este teste com mais de 100.000.000 registros innodb.
Veja tb meu alerta aqui: http://www.scriptcase.com.br/forum/index.php/topic,5689.msg34780.html#msg34780

Obrigado a todos, optei pelo MySQL.