[firebase-br] RES: Opinião: IBX (Delphi 7) é INcompatível com Firebird 2.x?

Eduardo Bahiense eduardo em icontroller.com.br
Sáb Abr 12 18:24:28 -03 2008


Fellipe Henrique escreveu:
> Justamente Eduardo, acho que você não entendeu o que quis dizer... não 
> sou contra o DBX, mas há de convir que:
> 
> DBX -> dbexpint -> fbclient.dll
> IBX/IBO/FibPlus -> fbclient.dll
> 
> O caminho é maior no DBX, por consequência, mais demorado. Eu nunca 
> defendi o IBO, pois particularmente não gosto dele, pelo que você 
> disse... ele até é "compativel" com o TDataSet.. mas... estou usando 
> FibPlus e IBDAC, agora.. simplesmente ótimo.

Bem, o uso de dll's não significa absolutamente lentidão no processo, 
mais isolamento de funções acessíveis externamente ao aplicativo. Uma 
vez carregadas, dll's se comportam como se fossem módulos do próprio 
executável (claro que existe alguma discussão sobre rodar no mesmo 
espaço de memória do aplicativo ou não).
Assim, pense no seguinte isolamento:

IBO/IBX etc

Componente = funções intrínsecas + funções de comunicação com o FB

DBX

Componente = funções intrínsecas + dll de funções de comunicação com 
qualquer outro banco.

É só uma questão de isolamento, parte do código compilado na dbexpint, 
certamente, terá que existir nativamente nos componentes que acessam a 
fbclient diretamente.

Naturalmente, um componente desenvolvido para apenas um SGDB obterá, ou 
poderá obter, vantagens por não ter que manter qualquer compatibilidade 
com outros bancos, mas em tese, o desenvolvimento de drivers DBX para FB 
concentra-se apenas nas características específicas deste banco.

Isolando-se a variável "performance", que, como já disse, não parece ter 
diferença relevante entre todos, restam as variáveis de estabilidade, 
portabilidade e escalabilidade. Desta forma, no meu entender, e não 
dizendo que outros componentes não atendam, vejo no DBX o seguinte:

Estabilidade: Uso Delphi 7 com o FB do 1 ao 2.1 com a mesma dbexpint sem 
ter qualquer tipo de problema.

Portabilidade: Tenho a liberdade de trocar de banco ou componente de 
acesso pois estarei sempre programando no nível do TDataset, sem me 
preocupar se o banco é FB ou Oracle, ou se o componente é DBX ou outro.

Escalabilidade: Como disse, até agora não tive que esperar um release de 
uma dbexpint para uma nova versão do FB, mas se tivesse, tenho empresas 
terceiras que acompanham o desenvolvimento e poderia comprar um driver 
de terceiros.

Desta forma, sabendo, pelos meus testes, que já foram feitos há muito 
tempo, há cerca de 4 anos, que não há diferença significativa de 
performance entre um e outro, no conjunto, continuo com o DBX.

Observe que esta análise é em função das demandas de nossa empresa e 
objetiva estabilidade nos processos de produção, pois o custo da troca 
de BD ou componente de acesso já se mostrou muito elevado no passado. 
Cada um analise e decida a partir da sua realidade.

Abs

Eduardo





Mais detalhes sobre a lista de discussão lista