Re: Particionar tablas en postgre

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: alfredorico(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Particionar tablas en postgre
Date: 2005-09-20 19:13:44
Message-ID: c2d9e70e05092012134e083e95@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 9/20/05, Alfredo Rico <alfredorico(at)gmail(dot)com> wrote:
> Hola amigos reciban un cordial saludo deseando que se
> encuentren bien.
>
asi como bien bien no me encuentro pero hacemos la lucha... :D

> 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).
>
> En este momento existen una serie de proyectos de
> software a desarrollar en donde se estima que la
> cantidad de registros de algunas tablas también
> llegarán a la cantidad mencionada.
>
> En ORACLE para manejar de forma eficiente esta
> situación, se efectúan particiones de tablas.
>
> Cito el fragmento de un mensaje extraido del foro
> http://internet.todoslosforos.com/sutra4071.html
en
> donde se explican los beneficios de particionar las
> tablas:
>
> "* Segmentos de datos más pequeños: esto influye
> directamente en el rendimiento de las búsquedas porque
> cada partición es tratada como si fuera una tabla
> diferente; Oracle siempre sabrá en que partición
> buscar cuando se referencia a la tabla particionada,
> entonces debe buscar en un trozo más pequeño.
> * Indices más pequeños: con la partición por rangos
> es posible crear índices individuales para cada
> partición.
> * Respaldo más rápido: ya que los datos se encuentran
> en segmentos separados, el mecanismo de respaldo puede
> correr en paralelo."
>
> " Por ejemplo, si deseamos tener una tabla que
>
almacene
> los países del mundo, con la siguiente estructura:
>
> Código Nombre Población Continente
>
> Y deseamos particionarla por el código, entonces la
> sintaxis de creación tendría que ser como sigue:
>
> CREATE TABLE paises
> (codigo number(3), nombre varchar2(40), población
> number(12), ....)
> PARTITION BY RANGE (codigo)
> (PARTITION VALUES LESS THAN 2 -- (regiones con
> código=1)
> TABLESPACE ts_reg1
> , PARTITION VALUES LESS THAN 3 -- (regiones con
> código=2)
> TABLESPACE ts_reg2 ; "
>
> (fin de la cita)
>
> Mi primera pregunta es:
> ¿ Esto podría realizarse en PostgreSQL ? se que la
> versión 8 de PostgreSQL maneja tablespaces pero no sé
> si existe un código equivalente al que acabo de citar.
>

En este momento no puedes hacer algo asi. Hay un trabajo en progreso
que espera conseguir a traves de tablas heredadas lo que tu
mencionas... habra que esperar a ver como le va...

mientras tanto, se me ocurre que una manera de solucionar en parte el
problema es usando raids de manera que el SO guarde datos de una tabla
a traves de varios discos, obviamente tiene sus cons por ejemplo no
puedes forzarlo a tenerlo ordenados por un rango especifico como pones
en tu ejemplo

> Segunda pregunta:
>
> ¿ Conocen ustedes de una implementación exitosa con
> bases de datos PostgreSQL a nivel empresarial ?
> Quiero decir, podrían enviarme, si conocen, algunos
> enlaces donde mencionen algunas empresas que usen de
> forma exitosa, bases de datos PostgreSQL para manejar
> grandes volúmenes de datos.
>

personalmente, no... en mi pais aun no aprenden que gratis no significa malo :(
en la pagina de postgres www.postgresql.org hay algunos casos de
estudios y en el historico de los archivos posiblemente encontraras
mas al respecto.

http://archives.postgresql.org (un buen buscador de los historicos es
www.pgsql.ru)

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mauro Sánchez 2005-09-20 19:23:19 Re: UPGRADE DE POSTGRESQL 7.4 a POSTGRES 8.0 EN CENTOS
Previous Message Alvaro Herrera 2005-09-20 19:04:24 Re: existe conexion pero no veo las db/schemas en el pgadmin