Skip site navigation (1) Skip section navigation (2)

Re: [pgsql-es-ayuda] ¿Que opinan de esto?

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>, "alvherre(at)alvh(dot)no-ip(dot)org" <alvherre(at)alvh(dot)no-ip(dot)org>, "jalmaguer(at)estudiantes(dot)uci(dot)cu" <jalmaguer(at)estudiantes(dot)uci(dot)cu>
Subject: Re: [pgsql-es-ayuda] ¿Que opinan de esto?
Date: 2011-11-21 23:50:07
Message-ID: CAJKUy5iG5ZrFii6ZPaZNJjwvWi8EFc5aKL-v=a5jfaddK9Y+ww@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2011/11/21 Alejandro Carrillo <fasterzip(at)yahoo(dot)es>:
>
> http://kartones.net/blogs/coco/archive/2009/11/27/la-capa-de-negocio-ii-aspectos-de-implementaci-243-n.aspx
[...]
>
> El procedimiento almacenado anterior muestra un ejemplo de como no deberían
> hacerse las cosas, en su lugar, debemos crear 3 procedimientos almacenados,
> uno por cada DELETE y orquestar la transacción de borrado en la capa de
> negocio.

lo cual es obviamente incorrecto si es que un registro depende del
otro (aunque claro te podrias ahorrar trabajo si el FK fue creado en
la base como ON DELETE CASCADE), de lo contrario podrias dejar
registros sueltos o le puede salir un error al usuario si el
programador olvido llamar alguna de las funciones

> Los procedimientos almacenados deberían ser una herramienta para persistir
> datos, no un repositorio de lógica de negocio,

esta, a todas luces erronea idea, es realmente un problema social...
"la gente estaba forzada a usar herramientas privativas"

que pasaba si tenias tu sistema en Oracle y mañana necesitabas
replicar? tenias que comprar la licencia de replicacion y si querias
algo mas posiblemente debias comprar alguna otra licencia... y eso
pasaba con todas las herramientas privativas. La solucion fue agregar
una capa de abstraccion para que la aplicacion fuera independiente a
la base de datos y asi poder cambiarla libremente (de modo que
pudieras comprar una con licencias mas baratas o mas rapida, etc, etc,
etc)

quienes usamos postgres no tenemos este problema porque no hay version
comercial, algunos (como la corte de Wisconsin de USA) han decidido
que el depender de una base de datos (postgres en este caso) no es tan
malo y que el eliminar esa capa implementada en Java llevo a mejorar
el rendimiento y a simplificar código (ellos tuvieron que agregar una
caracteristica a postgres para poder hacer eso y tal parece que ha
sido tan beneficioso que le han permitido a Kevin Gritner agregar mas
cosas a postgres para simplificar aun mas el codigo de ellos).

No, no es porque la base de datos sea el cuello de botella sino que
para mantener el codigo independiente los ORM deben hacer solo mas
simple o consultas mas complejas de lo necesario (por ejemplo, con
montones de LEFT JOINs innecesarios)... ademas como *los discos* son
el mayor cuello de botella y la base es la que accede a los discos es
mejor dejarla hacer su trabajo en cuanto a que tabla leer primero en
lugar de llenarla de miles consultas repetidos en bucles inutiles

-- 
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación

In response to

Responses

pgsql-es-ayuda by date

Next:From: Francisco Javier Morosini EgurenDate: 2011-11-22 00:13:21
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] ¿Que opin!#¼óŸu…¸‘”•ÍѼü
Previous:From: wilson del rosarioDate: 2011-11-21 23:19:19
Subject: Configuración de Postgres en producción

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group