Warning: fopen(logs/log_ouvindo_opinioes.txt) [function.fopen]: failed to open stream: No such file or directory in /home/storage/6/a1/fc/edudelphipage/public_html/includes/edp_log.php on line 6

Warning: fwrite(): supplied argument is not a valid stream resource in /home/storage/6/a1/fc/edudelphipage/public_html/includes/edp_log.php on line 8

Warning: fclose(): supplied argument is not a valid stream resource in /home/storage/6/a1/fc/edudelphipage/public_html/includes/edp_log.php on line 9
 EduDelphiPage - Ouvindo Opiniões | Qual Banco de Dados (SGDB) utilizar?

Ouvindo Opiniões

Qual Banco de Dados (SGDB) utilizar?

Opinião escrita por Thiago Borges

Sobre o autor: Bacharel em Ciência da Computação e atualmente cursa Mestrado em Sistemas Distribuídos na UFG (Universidade Federal de Goiás). Trabalha com desenvolvimento de soluções ERP em Delphi desde 2002. É o autor dos drivers DBX4 para Firebird e PostgreSQL disponíveis em:
http://www.tbosystems.bluehosting.com.br/dbx4

Contato: thborges at gmail.com

Tive oportunidade de trabalhar com alguns SGDB's, dois deles com grande nível de detalhes: Oracle e Firebird. Obviamente, escolher entre um e outro depende muito das necessidades de cada projeto em particular.

O Firebird é um projeto que está evoluindo, não tão rápido quanto desejado, mas está. Porém, algumas limitações são gritantes quando se considera um ERP de grande porte, com um considerado crescimento da base de dados. Enumerando alguns, por ordem de importância:

1. O escalamento do banco. Não existe um suporte real a máquinas com vários núcleos e processadores. Existe a versão classic, mas não resolve o problema completamente. Embora a versão 2.5 esteja vindo com promessa do suporte parcial (SuperClassic) e a 3.0 com a finalização (evolução do SuperServer), ainda estou em dúvida quanto a real solução do problema. Mas as promessas são boas.

2. O otimizador de consultas pena pela falta de recursos para ajudá-lo a acertar. Está previsto o uso de histogramas para a versão 3.0, mas acredito que há um longo caminho para usar mais estatísticas, a fim de gerar melhores planos de execução. "Quase" que a única métrica utilizada é a seletividade do índice!

3. Não há um cache de cursores preparados no banco. Esse recurso está sendo adiado há um bom tempo.

Não é que o Oracle não tenha problemas quanto ao otimizador. Mas a geração de planos dele é a mais "experta" que já conheci. A quantidade de recursos para fazê-lo acertar são grandes: Hints nas consultas, histogramas, análise mais profunda de colunas, valores mínimos e máximos de colunas, dentre outros.

Dos três bancos que construí drivers DBX (Firebird, PostgresSQL e Oracle), o Firebird tem a API mais "fácil" de manusear e distribuir, e que não muda com frequência, o que garante compatibilidade quase entre todas as versões de fbclient.dll. Não posso dizer o mesmo do Oracle, que só libera bibliotecas para linkagem em compiladores específicos. Aí de você se trocar/não verificar as versões das dll (oci.dll e occi.dll)!

Necessidades à parte, o Firebird atende muito bem projetos de pequeno/médio porte. E sem dúvida, é o banco da maioria dos Brasileiros.

Comentários

Nenhum comentário foi feito ainda
 

"Ouvindo" Opiniões (as mais lidas)

Em breve, aguarde!!!

Pharetra Sed Tempus

Morbi sit amet mauris Nam vitae nibh eu sapien dictum pharetra. Vestibulum elementum neque vel lacus. Lorem ipsum dolor sit dolore phasellus pede lorem proin auctor dolor loremmassa phasellus sit. More…

Outras edições da Revista Active Delphi