Re: Funciones y esquemas

From: Jose Vasquez <cibercol(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Carlos Bazán <infobaz(at)vtr(dot)net>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Funciones y esquemas
Date: 2009-06-04 22:08:31
Message-ID: 98a673a80906041508g6e67d4ccub3d243ffe374b46a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/6/4 Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

> Jose Vasquez escribió:
>
> > Bueno, me gustaria saber porque Alvaro considera p'esimo este dise~no, me
> > parece importante su opinion y pues si Carlos considera podemos hablar
> mas
> > en detalle el tema.
>
> Una cosa es el particionamiento, que en Postgres significaría tomar una
> tabla grande de datos usando herencia y contraint_exclusion, etc. En
> esa línea uno parte con una tabla y la divide según algún criterio (el
> cual válidamente podría ser "el ID de cliente"). En eso no veo ningún
> problema, porque no has afectado el diseño de la BD sino solamente la
> implementación.
>
> Otra cosa totalmente distinta es partir con un esquema por cada cliente,
> en el cual cada esquema contiene una copia de cada tabla, que es lo que
> estaba planteando Carlos. Esta idea no tiene ningún sentido desde el
> punto de vista del diseño de la base de datos.

NO Estoy de acuerdo con Alvaro y defiendo a Carlos en este punto por lo
> siguiente:
> Alvaro: lo que hacemos nosotros es una combinacion de las dos cosas
> anteriores. Esto es si una tabla va a ser particionada, las hijas deben
> tener un nombre distinto, por ejemplo datos se podria particionar en
> datosClientea0Enero, datosclientea0Febrero...... datosClientea0Diciembre,
> luego datosClienteA1Enero, datosClienteA1Enero, .......
> datosClienteA1Dicimebre, y sucesivamente. Lo que hacemos nosotros, de una
> forma simplificada es particionar y usar los esquemas para no cambiar el
> nombre a la tabla de esta forma los trigers, las funciones que se creen
> dentro de cada uno de los esquemas se refieren a la misma tabla y no tengo
> que realizar un gran esfuerzo para programar las funciones, sino copiarlas
> dentro de cada esquema. (Esto lo hemos automatizado en un triger cuando se
> crea un registro de un periodo).con esquemas, de esta forma todas las tablas
> de llaman datos, pero la padre esto es la que debo consultar para recuperar
> información esta en el esquema A0 y las hijas esta en el esquema
> A0Enero/datos, A1Enero/datos, A0Febrero/datos, A1Febrero/datos,
> A0Enero/datos, A1Febrero/datos, etc.
>
Entonces la tabla que inicialmente se llamaria datosClientea0Enero ahora se
> llama A0Enero/datos donde A0Enero es un esquema y la tabla sigue llamandose
> datos, lo unico es que ahora esta dentro de un esquema (pero es un pedacito
> de la Grande, para utilizar el particionamiento). Gracias por su opinion
> Alvaro y me gustaria defender mi posicion para ver si logro convencerlo de
> que es una idea muy buena o si me logra convencer de que estoy en un
> posicion indefendible y tengo un mal diseno. Pienso que esta idea es buena
> para todos. En especial para los que tengan grandes volumenes de datos que
> es cuando aplica particionar tablas. (El objetivo es convencerlo de que el
> uso de esquemas en vez de cambiar el nombre a las tablas ayuda mucho y
> reduce las complejidades de la programacion subsecuente a utilizar
> particionamiento).
> --
> Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15'
> 24.7"
> Voy a acabar con todos los humanos / con los humanos yo acabaré
> voy a acabar con todos / con todos los humanos acabaré (Bender)
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jimmy Huaman 2009-06-04 22:13:02 Re: Consulta query PostgreSQL 8.3.7
Previous Message Julio Cesar Rodriguez Dominguez 2009-06-04 22:07:30 Re: Consulta query PostgreSQL 8.3.7