Pessoal, tem mais uma coisinha, imaginem aih, trabalhei em locais que tem
aplicacoes criticas com parte da logica em banco e em transacoes mainframe.
Um exemplo eh um Detran, aplicacoes altamente criticas, transacoes altamente
complexas, mudancas frequentes nas legislacoes. 

Durante o tempo que passei no Detran-CE imaginei o caos que seria se a
logica estivesse na aplicacao, imagine da noite pro dia ter que aletrar,
recompilar e distribuir a aplicacao em fase de uma decisao judicial sobre
suspensao de mulas aplicadas por radares e foto-sensores.

Isso aih eh o minimo do CAOS que eu pude imaginar para essa situacao. Agora
imaginemos mais, um hibernate ou mesmo um activeRecord::base do rails
gerenciado o fluxo de dados desse banco com a aplicacao, onde simplesmente 1
campo a mais ou a menos no recordset faz toda a diferenca.

Agora imagine uma aplicacao critica como essa, e alogica de negocio sendo
tratada num model e/ou num controller rails ou java. Onde toda a informacao
eh preciso ir a aplicacao primeiro para que depois se trabalhe em cima dela.

Ex:
Trazer um calculo qualquer de multas de um veiculo.

Para isso poderiamos chamar uma funcao que traria o resultado mastigado para
a aplicacao.

Ou poderiamos colocar a logica na aplicacao, e para isso a aplicacao iria
buscar no banco informacoes, sobre:

proprietario
veiculo
multas emitidas
extrato do pagamento das multas

aih depois disso tudo vindo a aplicacao ela pode calcular o que precisa.

Agora os amigos me respondam:

Isso funcionaria no detran das 4 aiores capitais do Brasil?
Isso funcionaria no metro de sao paulo?
Isso funcionaria no controle de trafego aereo? (alias, pelo jeito acho que
estao usando assim)




ricardo.cardim wrote:
> 
> A questo tem sempre que ser levantada com uma justificativa. Por exemplo
> se
> fazer algo na camada control pode facilitar a manutenço isso deveria ser
> feito. Se retirar isso do banco otimiza o desempenho, isso deveria ser
> feito.
> 
> A questao e que vc deve sempre desacoplar o sistema cada vez mais. Se
> todas
> as suas regras de negocio estao no banco, a migracao para outro banco
> torna-se dispendiosa (e pq nao impossivel).
> 
> Deve ser moderado mesmo. Afinal para o cliente o que importa mesmo e o
> sistema rodando. Como isso sera feito e um problema nosso. Mas eu vejo que
> colocar "inteligencia" demais no banco faz o desempenho dele piorar...
> Quanto ao ruby fazer chaves estrangeiras... Esse nao e um papel do proprio
> banco? Seria interessante se ele tiver uma camada que converse com qq
> banco
> de dados...Caso contrario seria um tiro no pe
> 
> 
> On 11/30/06, Nelson Pereira Júnior <[EMAIL PROTECTED]> wrote:
>>
>> A questão é performance!
>>
>> Imagine... ao se excluir um pedido com 100 itens, em vez de enviar apenas
>> um
>> comadno SQL ao SGDB, teria que enviar 101.
>>
>> Isso se o desenvolver não esquecer alguma coisa... pois se ele esquece o
>> banco vira uma zona.
>>
>> Sou a favor da moderação, mais pro lado da performance.
>>
>> ----- Original Message -----
>> From: "Rodrigo Hjort" <[EMAIL PROTECTED]>
>> To: "Grupo de Usuários do PostgreSQL no Brasil"
>> <[email protected]>
>> Sent: Thursday, November 30, 2006 2:52 PM
>> Subject: Re: [PostgreSQL-Brasil][off topic] Inteligência em banco de
>> dados
>>
>>
>> 2006/11/30, Walter Cruz <[EMAIL PROTECTED]>:
>> > Há uns meses atrás, no rails-br, algumas pessoas
>> > sugeriram que se o rails for o único a acessar o banco, o mesmo poderia
>> > ser
>> > feito sem chave estrangeira(já que daria pra usar o rails pra controlar
>> > isso).
>>
>> Veja se o DBA aceitaria... :D
>> (Eu não.)
>>
>> --
>> Rodrigo Hjort
>> http://icewall.org/~hjort
>> _______________________________________________
>> Grupo de Usuários do PostgreSQL no Brasil
>> Antes de perguntar consulte o manual
>> http://pgdocptbr.sourceforge.net/
>>
>> Para editar suas opções ou sair da lista acesse a página da lista em:
>> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>>
>>
>>
>> _______________________________________________
>> Grupo de Usuários do PostgreSQL no Brasil
>> Antes de perguntar consulte o manual
>> http://pgdocptbr.sourceforge.net/
>>
>> Para editar suas opções ou sair da lista acesse a página da lista em:
>> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>>
> 
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
> 
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
> 

-- 
View this message in context: 
http://www.nabble.com/-off-topic--Inteligncia-em-banco-de-dados-tf2703163.html#a7873175
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a