Re: Particionar tablas en postgre

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Alfredo Rico <alfredorico(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Particionar tablas en postgre
Date: 2005-09-20 19:23:27
Message-ID: 20050920192327.GD12244@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Sep 20, 2005 at 02:59:25PM -0400, Alfredo Rico wrote:
> Hola amigos reciban un cordial saludo deseando que se
> encuentren bien.

Hola, muchas gracias.

> En primer lugar trabajo en una empresa donde utilizan
> bases de datos ORACLE y existen tablas que alcanzan a
> los 3.500.000 de registros (y hasta los superan).

[etc, sobre particionamiento]

PostgreSQL no es Oracle. Hay muchas situaciones que en Oracle resuelves
con particionamiento pero que en Postgres puedes resolver de otra
manera. La verdad es que el particionamiento en Postgres no esta
implementado en forma "directa" todavia porque hay otras maneras de
tratar los problemas.

Lo primero es ver si realmente el tema de los 3,5 millones de registros
son algo que deba preocuparte o no. Te sugiero hacer analisis de las
cosas que quieres hacer con tablas de ese tamaño, y empezar a pensar en
optimizar las cosas que realmente te des cuenta que no funcionan como
quisieras.

Mi punto es que partir con una solucion (particionamiento) que resuelve
problemas en _otros_ productos, y luego buscarle un problema en
Postgres, es partir al reves. Una estrategia de desarrollo mas
efectiva: prueba tu aplicacion, y optimiza ahi donde sea lenta. La
solucion a los problemas de rendimiento que encuentres no necesariamente
sera el particionamiento. Puede ser, por ej., crear indices parciales.

Dicho todo eso, hay maneras de implementar particionamiento. Las dos
mas populares son el uso de herencia y el uso de vistas con UNION ALL.
Y es muy posible que en una version futura (8.2) haya una implementacion
mas acabada del particionamiento, porque se esta trabajando en ello --
pero ten presente que cuando se necesita, es porque se esta trabajando
con bases de datos que tienen decenas o centenas de millones de
registros. En terminos practicos, tres o cuatro millones de registros
no son nada para Postgres.

Con respecto a si hay "empresas" o "entidades" que tengan tablas de ese
tamaño, si, las hay, aunque muchas no se sienten inclinadas a compartir
esta informacion (y nosotros no podemos hacer nada para obligarlas,
porque PostgreSQL es software verdaderamente libre).

Suerte,

--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Et put se mouve" (Galileo Galilei)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Pablo Braulio 2005-09-20 19:33:12 Ayuda con alter table.
Previous Message Mauro Sánchez 2005-09-20 19:23:19 Re: UPGRADE DE POSTGRESQL 7.4 a POSTGRES 8.0 EN CENTOS