[pgsql-es-ayuda] sobre particionado de tablas

2013-10-14 Por tema Arcel Labrada Batista
Buenos dí as listeros ,

estuve buscando como realizar particiones de tablas para tablas muy grandes 
pero no he encontrado nada que me permita hacer particiones por cantidad de 
registros, he visto que se hacen por fechas, pero realmente me gustaria para 
hacerlos por cantidad de registros en las tablas que heredan, tengo la 
disyuntiva además que no puedo agragar un nuevo campo a las tablas donde tenga 
un número secuencial por donde podria ser muy fácil controlar esa cantidad de 
registros, ¿conocen alguna manera de hacer esto?, Saludos y gracias de antemano




III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 
2014. Ver www.uci.cu




Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013-10-14 Por tema CarloS Sing Ramos
buscando por la red encontre esto:
http://www.postgresql.org/docs/current/static/ddl-partitioning.html
haber si te sirve, hace tiempo vi un articulo similiar que hablaba de
agrupa por nombre por ejemplo:
PERSONA se partia en
PERSONA_A, PERSONA_B, etc


El 14 de octubre de 2013 07:53, Arcel Labrada Batista
escribió:

> Buenos días listeros,
>
> estuve buscando como realizar particiones de tablas para tablas muy
> grandes pero no he encontrado nada que me permita hacer particiones por
> cantidad de registros, he visto que se hacen por fechas, pero realmente me
> gustaria para hacerlos por cantidad de registros en las tablas que heredan,
> tengo la disyuntiva además que no puedo agragar un nuevo campo a las tablas
> donde tenga un número secuencial por donde podria ser muy fácil controlar
> esa cantidad de registros, ¿conocen alguna manera de hacer esto?, Saludos y
> gracias de antemano
>
>
>
>  --
>
> III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero
> del 2014. Ver www.uci.cu
>
>


-- 
Salu2
Ing. Carlos Sing Ramos.
Linux Register User  #525697.


Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013-10-14 Por tema CarloS Sing Ramos
otro articulo que encontre jejeje:

http://saforas.wordpress.com/2009/11/27/postgresql-particionamiento-de-tablas/


El 14 de octubre de 2013 08:16, CarloS Sing Ramos
escribió:

> buscando por la red encontre esto:
> http://www.postgresql.org/docs/current/static/ddl-partitioning.html
> haber si te sirve, hace tiempo vi un articulo similiar que hablaba de
> agrupa por nombre por ejemplo:
> PERSONA se partia en
> PERSONA_A, PERSONA_B, etc
>
>
> El 14 de octubre de 2013 07:53, Arcel Labrada Batista 
> escribió:
>
>> Buenos días listeros,
>>
>> estuve buscando como realizar particiones de tablas para tablas muy
>> grandes pero no he encontrado nada que me permita hacer particiones por
>> cantidad de registros, he visto que se hacen por fechas, pero realmente me
>> gustaria para hacerlos por cantidad de registros en las tablas que heredan,
>> tengo la disyuntiva además que no puedo agragar un nuevo campo a las tablas
>> donde tenga un número secuencial por donde podria ser muy fácil controlar
>> esa cantidad de registros, ¿conocen alguna manera de hacer esto?, Saludos y
>> gracias de antemano
>>
>>
>>
>>  --
>>
>> III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero
>> del 2014. Ver www.uci.cu
>>
>>
>
>
> --
> Salu2
> Ing. Carlos Sing Ramos.
> Linux Register User  #525697.
>



-- 
Salu2
Ing. Carlos Sing Ramos.
Linux Register User  #525697.


Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013-10-14 Por tema Arcel Labrada Batista

gracias Carlos pero esto ya lo habia consultado, mi problema es que quiero 
hacer el particionado por cantidad de registros, mi tabla no tiene ningun campo 
numerico que podria utilizar para esto y no puedo ponerlo tampoco, me gustaria 
saber si existe alguna manera de hacer el particionado de manera dinamica 
teniendo en cuanta la cantidad de registros en las particiones, por ejemplo, 
quiero que cada una de mis particiones tenga 1 millon de registros solamente,
- Mensaje original -

De: "CarloS Sing Ramos" 
Para: "Arcel Labrada Batista" 
CC: "pgsql-es-fomento" , "arpug" 
, "Lista PostgreSQL" 
Enviados: Lunes, 14 de Octubre 2013 9:16:31
Asunto: Re: [pgsql-es-fomento] sobre particionado de tablas


buscando por la red encontre esto:
http://www.postgresql.org/docs/current/static/ddl-partitioning.html

haber si te sirve, hace tiempo vi un articulo similiar que hablaba de agrupa 
por nombre por ejemplo:
PERSONA se partia en
PERSONA_A, PERSONA_B, etc



El 14 de octubre de 2013 07:53, Arcel Labrada Batista < alabra...@uci.cu > 
escribió:




Buenos dí as listeros,

estuve buscando como realizar particiones de tablas para tablas muy grandes 
pero no he encontrado nada que me permita hacer particiones por cantidad de 
registros, he visto que se hacen por fechas, pero realmente me gustaria para 
hacerlos por cantidad de registros en las tablas que heredan, tengo la 
disyuntiva además que no puedo agragar un nuevo campo a las tablas donde tenga 
un número secuencial por donde podria ser muy fácil controlar esa cantidad de 
registros, ¿conocen alguna manera de hacer esto?, Saludos y gracias de antemano






III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 
2014. Ver www.uci.cu






--

Salu2
Ing. Carlos Sing Ramos.

Linux Register User #525697.



III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 
2014. Ver www.uci.cu




Re: [pgsql-es-ayuda] sobre particionado de tablas

2013-10-14 Por tema Mauricio Rafael Rivas Martinez

Buenos DIas

Me parece que estas buscando hundirte en un vaso de agua, te recomiendo 
lo siguiente:


.- identifica cual es el campo de la tabla con el cual vas a obtener la 
una cantidad de registros por partición mas uniforme, es decir que la 
desviación con respecto al promedio sea menor


De esta forma sera mucho mas sencilla la administración de las particiones.


Mauricio Rivas
Consultor
 
Proyecto Optimización, Migración y Soporte Interno de Base de Datos Oracle a Tecnologías Libres (OMS BD ORCL - TIL)

Gerencia de Programa Soluciones de TI
Gerencia General de Proyectos Mayores
Gerencia General de Tecnología y Operaciones
Tel:
Cel: +58-426-517-2574
Email: mriva...@cantv.com.ve

El 14/10/2013 08:23 a.m., Arcel Labrada Batista escribió:

Buenos días listeros,

estuve buscando como realizar particiones de tablas para tablas muy 
grandes pero no he encontrado nada que me permita hacer particiones 
por cantidad de registros, he visto que se hacen por fechas, pero 
realmente me gustaria para hacerlos por cantidad de registros en las 
tablas que heredan, tengo la disyuntiva además que no puedo agragar un 
nuevo campo a las tablas donde tenga un número secuencial por donde 
podria ser muy fácil controlar esa cantidad de registros, ¿conocen 
alguna manera de hacer esto?, Saludos y gracias de antemano






III Escuela Internacional de Invierno en la UCI del 17 al 28 de 
febrero del 2014. Ver www.uci.cu 






Re: [pgsql-es-ayuda] [arpug] sobre particionado de tablas

2013-10-14 Por tema Martín Marqués
Para empezar, se me ocurre preguntar cual es el objetivo que estas 
buscando. En lo personal, lo pensaría antes muy bien. Hay sistemas que 
se benefician con el particionado, y otros que no. Además en caulquier 
caso vas a necesitar cambiar cosas en tu applicacion para que trabaje 
con un particionado de los datos.


Todo esto no es gratis, viene con un costo, que es cambiar la forma de 
buscar y traer los datos de tus tablas que ahora estan particioandas


Te recomiendo ver este video de Robert Treat sobre particionado:

http://www.youtube.com/watch?v=QDGVmnIiI-c

(Claro, necesitas 1 hora, saber ingles (se escucha mas o menos) y ancho 
de banda para verlo)



El 14/10/13 09:53, Arcel Labrada Batista escribió:

Buenos días listeros,

estuve buscando como realizar particiones de tablas para tablas muy
grandes pero no he encontrado nada que me permita hacer particiones por
cantidad de registros, he visto que se hacen por fechas, pero realmente
me gustaria para hacerlos por cantidad de registros en las tablas que
heredan, tengo la disyuntiva además que no puedo agragar un nuevo campo
a las tablas donde tenga un número secuencial por donde podria ser muy
fácil controlar esa cantidad de registros, ¿conocen alguna manera de
hacer esto?, Saludos y gracias de antemano





III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero
del 2014. Ver www.uci.cu 




-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013-10-14 Por tema Jaime Casanova
2013/10/14 Arcel Labrada Batista :
>

Saludos,

Primero que nada, no hagas cross-posting, al menos la lista
"pgsql-es-fomento " no es ni
remotamente indicada para este mail

> gracias Carlos pero esto ya lo habia consultado, mi problema es que quiero
> hacer el particionado por cantidad de registros, mi tabla no tiene ningun
> campo numerico que podria utilizar para esto y no puedo ponerlo tampoco, me
> gustaria saber si existe alguna manera de hacer el particionado de manera
> dinamica teniendo en cuanta la cantidad de registros en las particiones, por
> ejemplo, quiero que cada una de mis particiones tenga 1 millon de registros
> solamente,

y que crees que vas a ganar con esto? ese esquema de particionamiento
que sugieres solo hará las consultas mas lentas con el paso del tiempo
y no te dará ninguna ganancia.

piensalo, solo hay dos razones para particionar:

- menos registros a consultar
- menor trabajo de administración

la primera razón solo la puedes lograr si tienes la seguridad de tener
registros que consultas con mucha frecuencia, agrupados en las mismas
particiones de modo que puedas "ignorar" las particiones donde sabes
que no habrán registros que quieres. pero si tu única condición para
particionar es el número de registros significa que cada vez tendrás
que consultar mas particiones no menos (porque no hay una lógica
detras del particionado por lo que postgres tendrá que chequear
siempre todas las particiones).

la segunda razón tiene que ver con el hecho de que eventualmente
querras eliminar registros viejos (sacar un backup y sacar los datos,
con un DROP TABLE de la particion, hasta que en realidad necesites, o
ser capaz de ignorar particiones que no cambian en el backup). sin
embargo, si no sabes que registros hay en cada partición, no podrás
saber si se modifico o no... lo que significa que tendrás que sacar
backups de todo y jamás podras eliminar información vieja mas que con
un DELETE.

Y espero que no quieras exactitud en el número de registros por
partición pues el manejo de concurrencia de postgres no te dejará ser
exacto en eso a menos que no te importe el rendimiento de tu sistema.

-- 
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013-10-14 Por tema Arcel Labrada Batista
gracias a todos y de paso aclaro algunas dudas que tenía, solo penseba que 
haciendo un particionado por cantidad de registros ganaría algo en rendimiento 
pero ya veo que no es así, entonces continúo con lo que tenía hasta ahora que 
es particionado por fechas, que esos campos si los tengo en mis tablas, muchas 
gracias por las repuestas, hasta la próxima

- Mensaje original -

De: "Jaime Casanova" 
Para: "Arcel Labrada Batista" 
CC: "CarloS Sing Ramos" , "Lista PostgreSQL" 
, "arpug" 
Enviados: Lunes, 14 de Octubre 2013 14:38:41
Asunto: Re: [pgsql-es-ayuda] [pgsql-es-fomento] sobre particionado de tablas

2013/10/14 Arcel Labrada Batista :
>

Saludos,

Primero que nada, no hagas cross-posting, al menos la lista
"pgsql-es-fomento " no es ni
remotamente indicada para este mail

> gracias Carlos pero esto ya lo habia consultado, mi problema es que quiero
> hacer el particionado por cantidad de registros, mi tabla no tiene ningun
> campo numerico que podria utilizar para esto y no puedo ponerlo tampoco, me
> gustaria saber si existe alguna manera de hacer el particionado de manera
> dinamica teniendo en cuanta la cantidad de registros en las particiones, por
> ejemplo, quiero que cada una de mis particiones tenga 1 millon de registros
> solamente,

y que crees que vas a ganar con esto? ese esquema de particionamiento
que sugieres solo hará las consultas mas lentas con el paso del tiempo
y no te dará ninguna ganancia.

piensalo, solo hay dos razones para particionar:

- menos registros a consultar
- menor trabajo de administración

la primera razón solo la puedes lograr si tienes la seguridad de tener
registros que consultas con mucha frecuencia, agrupados en las mismas
particiones de modo que puedas "ignorar" las particiones donde sabes
que no habrán registros que quieres. pero si tu única condición para
particionar es el número de registros significa que cada vez tendrás
que consultar mas particiones no menos (porque no hay una lógica
detras del particionado por lo que postgres tendrá que chequear
siempre todas las particiones).

la segunda razón tiene que ver con el hecho de que eventualmente
querras eliminar registros viejos (sacar un backup y sacar los datos,
con un DROP TABLE de la particion, hasta que en realidad necesites, o
ser capaz de ignorar particiones que no cambian en el backup). sin
embargo, si no sabes que registros hay en cada partición, no podrás
saber si se modifico o no... lo que significa que tendrás que sacar
backups de todo y jamás podras eliminar información vieja mas que con
un DELETE.

Y espero que no quieras exactitud en el número de registros por
partición pues el manejo de concurrencia de postgres no te dejará ser
exacto en eso a menos que no te importe el rendimiento de tu sistema.

--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte 24x7 y capacitación
Phone: +593 4 5107566 Cell: +593 987171157

III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 
2014. Ver www.uci.cu



III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 
2014. Ver www.uci.cu