firebird ou postgresql?
qual eh melhor? firebird ou postgresql??
Linhares
Curtidas 0
Melhor post
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+
|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
22/01/2004
Colega,
Desses dois só conheço um pouco do Firebird, mas posso assegurar que pode atender diversas soluções corporativas.
Desses dois só conheço um pouco do Firebird, mas posso assegurar que pode atender diversas soluções corporativas.
GOSTEI 0
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 !!!!!!
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
22/01/2004
obrigrado!
GOSTEI 0
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
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
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
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]
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
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+
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
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
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
22/01/2004
Onde você conseguiu o PostGreSql para windows? pagou a licença? Se não, diz aí....
GOSTEI 0
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!
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
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.
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
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
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.
>-- 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
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+
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
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.
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