Em 21/06/07, Leandro Guimaraes Faria Corcete DUTRA<[EMAIL PROTECTED]> escreveu:
Em Qui, 2007-06-21 às 13:52 -0300, Tiago José Adami escreveu:
> >>Uma das heranças dos SGBDOO são as interfaces de dados, ou as
> camadas
> >> de persistência, como o Hibernate.
>
> >       Que são uma das grandes dores de cabeça dos ADs e ABDs.
>
> Quais, exatamente, são estas dores de cabeça? Uma vez que existe uma
> camada própria para tratamento dos dados, isto não facilitaria a vida
> de um DBA?

        Basicamente essas camadas dão pouquíssimo ganho e geram muita confusão.

        Elas servem para evitar que o programador tenha de escrever SQL, que é
trivial, e acabam escrevendo Java ou outra linguagem, que não é tanto.
E o programador acaba não sabendo exatamente que SQL está sendo
executado, o que gera problemas como, por exemplo, mau desempenho.

        Mas o mais grave é na modelagem.  O desenvolvedor fica tentado a
simplesmente traduzir seu diagrama de classes, sem nunca entender
modelagem de dados.  O modelo fica complexo, ruim, perde informação, tem
péssimo desempenho.

        Bem típico são aplicações sem controle de transações — porque muitas
camadas de persistência têm AUTOCOMMIT por default — e bases sem
restrições de integridade, porque as camadas só 'conhecem' chaves
primárias e estrangeiras, e implementam as primárias como campos de
autoincremento.

        Claro, muito disso é cultura.  Um bom desenvolvedor pode até usar bem
uma camada dessas; o problema é que as camadas estão atrapalhando que os
desenvolvedores aprendam o suficiente para se tornarem bons.


Hum... isso me lembra a febre das ferramentas RAD no começo da década
de 90. Tive o desprazer de conhecer uma aplicação enorme (mais de 2
mil tabelas) inteirinha desenvolvida em Genexus. O gerende de
desenvolvimento da empresa que desenvolveu a aplicação teve a cara de
pau de me dizer um dia que com o Genexus a equipe era mais "analista
de negócio" que desenvolvedora!!! Acho que temos coisas que são bem
melhores que as feramentas para arrastadores de mouse que se
popularizaram na década passada.

De qualquer forma, estas ferramentas tem o péssimo hábito de serem
vendidas como capazes de tornar o desenvolvimento coisa de criança....
e compram estas ferramentas e colocam crianças para desenvolver. Um
bom desenvolvedor saberá até onde a ferramenta, framework, ide,
receita de bolo ou o que seja, ajuda e quando é melhor fazer as coisas
na mão mesmo.

O fato é que ninguém quer gastar com bons desenvolvedores... aí as
aplicações nunca ficam mais de dois anos sem arriar... que é
justamente quando o volume de dados cresce o suficiente para todas as
deficiências no modelo de dados gritarem com um desempenho horrível,
time outs e outras coisas que eu não quero nem lembrar.

Realmente, um pesadelo!
--
site: http://www.midstorm.org/~telles/
e-mail: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]
sip:[EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a