Re: Funciones y esquemas

From: Carlos Bazán <infobaz(at)vtr(dot)net>
To: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Funciones y esquemas
Date: 2009-06-01 20:06:46
Message-ID: 200906011606.46881.infobaz@vtr.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, parece que a lo que nos hemos aproximado es que el modelo por esquemas
no es que no funcione y que de hecho funciona sino que es mas difícil de
mantener a la larga. Es un costo que se debe considerar por supuesto y a cada
quién la decisión. Lo que buscamos es lograr un mejor performance ya que el
tema sería:
Que es mejor y mas rápido?

1.- Hacer queries de búsqueda sectorizada (por fechas y otras pajas) en una
tabla que esta dentro de un esquema y que tiene data de un solo cliente o
2.- Realizar esos queries en una tabla que tiene data de n clientes?

Pensando que esa data va aumentando cada mes así como también el número de
clientes.
Esa es la pregunta que necesitamos responder.
El tema de la mantención de la base no es tan complicado (obviamente
dependiendo del punto de vista de cada uno) porque una vez que esté diseñada
la estructura no requerirá cambios en la estructura misma sino de backups,
vacuums y reindexaciones.

Saludos

El Monday 01 June 2009 09:35:22 escribió:
> A pesar de que uso el modelo por esquema para cada cliente, es un asunto
> muy particular, porque cada cliente no tiene nada que ver con el anterior,
> sino era asi era crear BD por cada cliente y ahi sino.
>
> Porque no miras un poco sobre BI para este tipo de cosas ccreo que a la
> larga te saldria mas comodo.
>
> Aunque lo que funciona para mi no necesariamente funcione para ti asi mismo
> si a mi no me funciona no quiere decir que a ti no.
>
>
>
> *-------------------------------------------------------*
> *-Edwin Quijada
> *-Developer DataBase
> *-JQ Microsistemas
> *-809-849-8087
>
> * " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo
> comun" *-------------------------------------------------------*
>
>
>
>
>
>
> ________________________________
>
> > From: cibercol(at)gmail(dot)com
> > Date: Sat, 30 May 2009 10:08:08 -0500
> > Subject: Re: [pgsql-es-ayuda] Funciones y esquemas
> > To: jcasanov(at)systemguards(dot)com(dot)ec
> > CC: infobaz(at)vtr(dot)net; pgsql-es-ayuda(at)postgresql(dot)org
> >
> >
> >
> > 2009/5/30 Jaime Casanova>
> >
> > 2009/5/29 Jose Vasquez>:
> >>> Si tengo una volumen muy grande de datos para un cliente en particular
> >>>
> >>> y tengo muchas consultas que solamente se refieren a ese cliente en
> >>>
> >>> particular
> >
> > crea indices incluso puedes crear indices parciales si lo consideras
> > necesario Precisamente esto es lo que hacemos normalmente, dividimos los
> > datos por meses y los datos de cada mes se insertan en la particion
> > correspondiente, dicha tabla y por efectos de organizacion se encuentra
> > en un esquema, por ejemplo si necesito los datos del cliente 5 (p.e.
> > Carrefour) del periodo 7 (mes de julio) me debo dirigir al esquema o5p7
> > donde se encontrara la tabla que almacenara estos datos.
> >
> >
> >
> > Es una combinacion de los esquemas de postgresql con el particionamiento
> > que tiene tambien postgresql. Una alternativa que se puede utilizar es
> > tener muchos nombres para una tabla por ejemplo facturaso5p7, seria el
> > nombre adecuado, pero hemos decidido utilizar un schema llamado o5p7 y
> > dentro de este esquema creamos la tabla facturas. Dicha tabla contendra
> > la informacion correspondiente al cliente 5 que sea del mes de julio. La
> > razon de hacer esto es que al activarse el constraint_exclusion, postgres
> > busca los datos exclusivamente en este esquema de la forma que lo estoy
> > haciendo.
> >
> >>> ser'ia util dividir la tabla en diferentes esquemas que permitan
> >>>
> >>> consultar la informacion activando el parametro constraint_exclusion y
> >>> las
> >>>
> >>> consultas realmente no tienen que ser muchas mas, puesto que postgres
> >>> lo
> >>>
> >>> hace automaticamente.
> >
> > estas hablando de particionamiento de tablas (no entiendo que tiene
> >
> > que ver eso con separar en diferentes esquemas para diferentes
> >
> > clientes), de hecho el parametro constraint_exclusion no te ayudara si
> >
> > solo creas un esquema (CREATE SCHEMA) por cliente mas bien te ayuda
> >
> > cuando usas particionamiento (creas una serie de tablas hijas que
> >
> > heredan de una tabla padre)
> >
> >
> > creo que respondi en el anterior parrafo
> >
> >>> El problema es que postgres no inserta los datos en
> >>>
> >>> las diferentes tablas que se encuentran en diferentes esquemas, sino
> >>> que hay
> >>>
> >>> que hacerlo manualmente.
> >
> > crea triggers...
> >
> > mira el ejemplo que se usa en esta pagina:
> >
> > http://www.postgresql.org/docs/8.3/static/ddl-partitioning.html
> >
> >
> > Estoy usandolos.
> >
> >>> Oracle lo hace directamente en las diferentes
> >>>
> >>> tablas o particiones de tablas.
> >
> > postgres tambien, si creas los triggers... se esta trabajando en
> >
> > lograr algo en lo que tengas que escribir menos pero no lo esperes
> >
> > para mañana... quiza la versión 8.5 ya muestre algun avance en este
> >
> > tema
> >
> >
> >
> > --
> >
> > Atentamente,
> >
> > Jaime Casanova
> >
> > Soporte y capacitación de PostgreSQL
> >
> > Asesoría y desarrollo de sistemas
> >
> > Guayaquil - Ecuador
> >
> > Cel. +59387171157
>
> _________________________________________________________________
> See how Windows® connects the people, information, and fun that are part of
> your life http://clk.atdmt.com/MRT/go/119463819/direct/01/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Selena Deckelmann 2009-06-01 20:52:40 Re: 8.4 release draft: a new tack
Previous Message Stefan Kaltenbrunner 2009-06-01 19:22:50 Re: 8.4 release draft: a new tack