[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