[firebase-br] Drive dbExpress

Daisson daisson em gmail.com
Qui Jul 24 10:34:08 -03 2008


Kleber Caneva wrote:

> Estou pensando em adiquirir, mas a versão Trial que tem no site, não
> me permite fazer um teste definitivo.

Olá Kleber.

Conforme prometido, abaixo vão comentários a respeito do driver.

Nosso maior problema com o driver até o momento foi a implementação do
controle de transação realizado pelo driver. Explicando melhor: temos
vários pontos no sistema onde buscamos informações do banco de dados
sem iniciar, explicitamente, uma transação. Teoricamente o driver
deveria iniciar/confirmar a transação dessa consulta. Porém acima de 5
usuários conectados ao sistema, o controle fica "perdido". Observamos
isso quando instalamos pela primeira vez o FB Classic num cliente. E
como todos sabem o controle transacional do FB no Classic é diferente
do SuperServer.  O intervalo entre a OIT e OAT chevaga a centenas de
milhares, e a performance ficava péssima. Isso tudo já está bem melhor
implementado na versão 2.0.3 do driver (possivelmente essa que você
baixou). Esses problemas estavam em versões anteriores a 2.0.3.

Dependendo do controle transacional utilizado por você, esses problemas
podem não acontecer. Segundo a palestra do Dmitry Kouzmenko no último
FDD, deveríamos ter em todas as transações, um controle explícito. E
com um controle dessa forma o driver se comporta muito bem. É claro que
um controle dessa forma pode tornar o tempo de desenvolvimento maior,
porque são mais detalhes a considerar, coisa que o driver poderia
fazê-lo. Nos testes que fiz o driver dbexpint (Borland) tem um controle
transacional melhor que o InterXpress quando as transações não são
explícitas.

Outro detalhe que você poderá perceber com relação a outros drivers é o
tempo de carregamento de um Select. O driver dbexpint tem um desempenho
melhor no carregamento, mas é mais lento no ApplyUpdates do que o
InteXpress. Segundo o Martijn isso é problema no controle transacional,
e depois da palestra do Dmitry quero fazer novos testes em cima disso.

O suporte deles é bom, sempre nos atenderam muito bem. O Martijn é um
cara legal, sempre responde as dúvidas/sugestões. O newsgroup
(news.upscene.com) deles é pouco frequentado, mas ainda assim é
interessante postar dúvidas lá. Com relação a implementação do controle
transacional do driver você poderá acompanhar os posts da época.

Como já falei acima, pretendo refazer alguns testes utilizando um
controle transacional explícito, para verificar a performance do
driver. Dependendo dos resultados poderemos entrar em contato novamente
com o Martijn solicitando que ele melhore as implementações do
início/fim das transações que o driver controla (não explícitas).

Acredito que isso possa ajudar você na definição de qual driver
utilizar.

Qualquer dúvida, estarei a disposição.

-- 
Daisson





Mais detalhes sobre a lista de discussão lista