firebird ou postgresql?

Delphi

22/01/2004

qual eh melhor? firebird ou postgresql??


Linhares

Linhares

Curtidas 0

Melhor post

Afarias

Afarias

24/01/2004

|Concordo sobre PostgreSQL ser melhor que Firebird, ele tem qualidade
|consolidada. A evolução do Firebird diante do Borland Interbase 7x deixa
|dúvidas qto ao futuro, pelo da Borland ser mais garantido e evoluído. É
|pago, mas os dados da empresa valem muito mais do que a compra do
|Interbase, do que for ficar com um SGDB duvidoso.

O q tem haver alhos com bugalhos?? -- não quero entrar neste mérito (qual o melhor) pois ambos bancos são ótimos.

Particularmente, prefiro o FB (atualmente) pq é mais fácil de lidar, é mais maduro (herança do IB), tem suporte a mais plataformas e tem muito mais suporte de terceiros (ferramentas, etc) -- mas principalmente, pq se adequa bem a minhas aplicações atuais.


|como por exemplo campo NUMERIC(5) virar INTEGER....

isto está no MANUAL -- se vc ler vai ver q isto é feito como uma forma de otimizar automaticamente o banco -- esta crítica não tem fundamento!

o tipo numeric ´não existe´ -- quando vc define um campo como numeric, o INTERBASE (ou FB) escolhe o tipo interno de dados mais adequado (otimizado) para o tamamho/precisão q vc deseja.

Se não deseja q isto ocorra, não use numéric -- use FLOAT ou DOUBLE PRECISION por exemplo.


|Em Delphi isso fere a compatibilidade com outros SGDBs... pois se vc
|está usando Firebird/Interbase com um DataSet com TFields
|TIntegerField, esse não vai ser compatível com TBCDField, que é usado
|para NUMBER(5) (Oracle) por exemplo.

fala sério... novamente alhos por bugalhos!


T+


GOSTEI 1

Mais Respostas

Aroldo Zanela

Aroldo Zanela

22/01/2004

Colega,

Desses dois só conheço um pouco do Firebird, mas posso assegurar que pode atender diversas soluções corporativas.


GOSTEI 0
Misael

Misael

22/01/2004

Postgresql sem dúvida é o melhor bd open que existe porém muito dificil de se trabalhar para usuario final, em caso de um sistema grande usando postgresql sem duvida a empresa vai precisar de um DBA para dar um suporte em caso de alguma ´ Pani ´
No caso do firebird além de ser um banco mais facil para o proprio usuario final mexer é um bd open onde vc encontra muito mais suporte e leitura do banco também é um bd em constante evolução.

Minha Opiniâo
Sou FireBird !!!!!!


GOSTEI 0
Linhares

Linhares

22/01/2004

obrigrado!


GOSTEI 0
Oadventista

Oadventista

22/01/2004

Linhares sem querer colocar mais lenha na fogueira, mas eu também estava com esta dúvida e então andei olhando algumas repostas que fizeram em um fórum com o seguinte assunto : Motivos p/ deixar o Firebird´ e veja estas, pelo menos foi a q eu ache mais interessante, e o que me fez mudar para o postgre.

Mensagem:
O Firebird não garante a caracterisca ACID.
Se houver queda de energia durante uma transação, a base pode, e
provavelmente vai, se corromper.
O firebird permite que uma base corrompida seja acessada
normalmente.
Diversas vezes já peguei bases que tinham chave primaria
duplicada.
Ou seja, o firebird, as vezes, manda a consistencia pro limbo (*)
junto com as transações pendentes.

(*) o firebird usa o termo ´limbo transactions´ para as transações
que estavam abertas quando o banco caiu ou foi encerrado.

Valeu.

Paulo


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

22/01/2004

O Firebird não garante a caracterisca ACID.


Atomicidade, Consistência, Isolamento, Duração (ACID) - Tem certeza que esta referência é para o Firebird?

Se houver queda de energia durante uma transação, a base pode, e provavelmente vai, se corromper.


Isto acontece com qualquer SGBDR, inclusive com o sistema operacional. Por isto, parte da estratégia de segurança é uso de backups, nobreaks, etc.

O firebird permite que uma base corrompida seja acessada normalmente.


Podendo inclusive ser recuperada, as vezes. Outros bancos apenas informam: Restaure o último backup.


Diversas vezes já peguei bases que tinham chave primaria duplicada. Ou seja, o firebird, as vezes, manda a consistencia pro limbo (*) junto com as transações pendentes.


Nunca ví isso acontecer nem com bancos desktop.

Se alguém mais puder adicionar mais informações.


GOSTEI 0
Rômulo Barros

Rômulo Barros

22/01/2004

Acho que não podemos comparar o Firbird com o PostgreSql, pois o primeiro é freeware, já o segundo não é freeware (Para Windows) e sua licença tem que ser adquirida junto a DBExperts(Empresa que desenvolveu a versão do PostgreSql para Windows).
Agora, caso vc queiro rodar o postgresql no windows através de um emulador unix, não aconselho também, pois a peformance do banco cairá em até 50¬, ou seja, ele ficará 50¬ mais lento.
Já desenvolvi um software que utilizava como base de dados o PostgreSql e Plataforma Linux, juntamente com PHP. Gostei muito do banco de dados e, no kylix, já fiz diversos testes que me deixaram surpreso, não tendo dúvidas de que o [size=18:9905a902b3][color=red:9905a902b3]POSTGRESQL É O MELHOR SGBDR PARA SE TRABALHAR NO LINUX.[/color:9905a902b3][/size:9905a902b3]


GOSTEI 0
Afarias

Afarias

22/01/2004

|Se alguém mais puder adicionar mais informações.

Tudo q o Zanela informou está corretíssimo. As informações do oadventista são completamente infundadas.

O FIREBIRD vem do INTERBASE que é um banco extremamente capaz, testado e maduro -- ai está provavelmente a grande diferença em relação ao Postgresql -- mas o Postgresql é realmente um ótimo banco de dados.


|POSTGRESQL É O MELHOR SGBDR PARA SE TRABALHAR NO LINUX.

Infundado.

+

Bom, no final, ambos são muito bons e compartilham muitas características -- cabe ao desenvolvedor analisar as sutis diferenças entre eles para então escolher qual o melhor (para seu caso)


T+


GOSTEI 0
Oadventista

Oadventista

22/01/2004

Olha pessoal, eu deixei bem claro na mensagem que enviei, que eu vi aquilo em um fórum, não to falando que o firebird ou interbase seja ruim, mas o q vejo muita gente falar se baseia naquilo.

A opnião q dou é que gosto muito de trabalhar com o postgresql, e que seu projeto é muito bom, com constantes atuzalizações.

Valeu.

Paulo


GOSTEI 0
Rômulo Barros

Rômulo Barros

22/01/2004

Onde você conseguiu o PostGreSql para windows? pagou a licença? Se não, diz aí....


GOSTEI 0
Spider

Spider

22/01/2004

Trabalho o PostgreSQL a 1,5 Anos e nada tenho a reclamar.. tenho tabelas com quase 1 Milhão de Registros. O Retorno, se o Banco estiver bem configurado é rápido.

O FireBird(InterBase), que tb conheço, tem muito menos recursos que o PostgreSQL...
um exemplo Simples:

select tabela.codigo, tabela.descricao, tabela2.descricao2 from
tabela INNER JOIN (select tabela2.codigo, tabela2.descricao2 from
tabela2 where tabela2.status=true) as tabela2 ON tabela.codigo=tabela2.codigo

este tipo de consulta não é aceita pelo firebird, para se fazer isto deve-se criar uma view para que consiga o resultado esperado, e se precisar passar parametros para a SubSelect vc terá que criar Procedures
No PostgreSQL vc utiliza este tipo de recurso, facilitando até mesmo a programação com Delphi....

Lógico que recomendo que o PostgreSQL seja instalado em um servidor Linux, a máquina pode ser um Pentium 200MHz com 64MB Ram ou superior dependendo do uso do Banco(Meu servidor é um K6II 700MHz com 128 MB RAM Dedicado ao Banco)

espero ter Ajudado!


GOSTEI 0
Bon Jovi

Bon Jovi

22/01/2004

Concordo sobre PostgreSQL ser melhor que Firebird, ele tem qualidade consolidada. A evolução do Firebird diante do Borland Interbase 7x deixa dúvidas qto ao futuro, pelo da Borland ser mais garantido e evoluído. É pago, mas os dados da empresa valem muito mais do que a compra do Interbase, do que for ficar com um SGDB duvidoso.

Fora o que já disseram aqui, sobre Firebird/Interbase não seguir o padrão ACID, não ser estável e etc..., fora questões de qualidade, tem outras coisas estranhas q via nele tb... como por exemplo campo NUMERIC(5) virar INTEGER.... Em Delphi isso fere a compatibilidade com outros SGDBs... pois se vc está usando Firebird/Interbase com um DataSet com TFields TIntegerField, esse não vai ser compatível com TBCDField, que é usado para NUMBER(5) (Oracle) por exemplo.

Cada caso é um caso, mas essas são minhas críticas.



GOSTEI 0
Afarias

Afarias

22/01/2004

Olha pessoal, eu deixei bem claro na mensagem que enviei, que eu vi aquilo em um fórum, não to falando que o firebird ou interbase seja ruim, mas o q vejo muita gente falar se baseia naquilo.


Tudo bem, o q estamos falando é q a informação q vc pegou em um ´fórum´ é infundada e completamente equivocada.



T+


GOSTEI 0
Bon Jovi

Bon Jovi

22/01/2004

>´Se não deseja q isto ocorra, não use numéric
>-- use FLOAT ou DOUBLE PRECISION >por exemplo´

Não tem sentido isso. FLOAT ou DOUBLE PRECISION no Delphi são TBCDField? Obvio que não. Continuaria no mesmo problema...Onde por exemplo, um sistema Delphi/Oracle cheeiio de DataSets com Tfields TBCDField com precisão igual a 5 acusaria incompatibilidade de Tfields.

Se decidem trocar de banco ou fazer o sistema funcionar multidatabase, com esse FireBird ferrou cara. O sistema estando inicialmente em Oracle (que só trabalha com BCD) ou qualquer outro que tivesse nessa situação, o q seria feito com os TFields TBCDFields? Soluções teriam, mas seria muito trabalho e arriscado dependendo do tamanho do projeto. Uma das soluções chatas seria trocar os TFields em tempo de execução conforme a base conectada, o q eu chamo de “Tfields voadores”, e a outra seria não usar Tfields, mas que impossibilitaria o uso de Midas para atualizações, por causa dos Provider Flags.

Claro que cada banco tem suas otimizações, mas essa eu não aceito, e com PostgreSQL não haveria perca de tempo pra tentar ajustar essa incompatibilidade, que acho grave.


GOSTEI 0
Afarias

Afarias

22/01/2004

vc sabe o q é um BDC ??

BCDs existem para manipular valores (monetários por exemplo) com maior precisão que com tipos pontos-flutuantes -- no Interbase, quando vc define um NUMERIC(6,1) por exemplo, o valor será armazenado em um inteiro (e não ponto flutuante) -- o Interbase internamente fará as operações necessárias -- e vc terá seu TBCDField no Delphi (note q o Delphi usa Currency internamente para lidar com campos BCD pois o mesmo não possui um tipo BCD nativo)

Agora me diz uma coisa, um NUMERIC(5) seria BCD pq?? BCDs são para lidar com ponto-flutuante -- pra mim, se não tem casa decimal, não é ponto flutuante -- é inteiro!

Acho muito leviano de sua parte dizer q o Firebird ´não é bom´ por que VC não consegue ´transitar´ seu sistema entre outro banco e o FB!

Eu já desenvolvi muito para Oracle no passado e INTEIROs eram INTEIROs e BCDs eram BDCs.


T+


GOSTEI 0
Jamesfsilva

Jamesfsilva

22/01/2004

O melhor banco de dados é aquele que atende as necessidades de seu projeto e você consegue usar. De nada adianta ter um banco de dados que não serve ao seu projeto ou pior, o banco de dados serve porque é supercompleto, mas difícil de manter/usar e tornaria inviável seguir adiante. Também não vale ter um poderoso sgdb pirata.

MySQL, PostgreSQL, Firebird, etc. são bons e dependem apenas da análise do programador/analista de quando usar um deles.

Hoje uso o Firebird, amanhã pode ser o PostgreSQL ou MySQL, tudo depende da situação e nada é eterno. Alguns argumentam a falta de suporte de empresas para alguns sgdbs OpenSource. Se isto tivesse sentido, não se usaria Linux, componentes Freeware/Open, etc. e as comunidades seriam a maior furada. Posso te garantir que comunidades como esta é que fazem a diferença e este é O Suporte.

Resumindo : Achou um sgdb, serve para a sua aplicação, você se adaptou (consegue usá-lo) e não está sozinho (existem comunidades), não tenha dúvidas, use e seja feliz. Uma dica já citada aqui no fórum : Use No-break sempre (não é luxo, é segurança) e por mais maravilhoso que seja um sgdb, faltou energia elétrica... E uma empresa que não tiver grana para comprar um simples no-break, é incomodação na certa.

Boa sorte,

Anderson.


GOSTEI 1
POSTAR