Re: Runs y Logical Tapes

From: <mac_man2005(at)hotmail(dot)it>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Runs y Logical Tapes
Date: 2008-02-14 16:07:22
Message-ID: BAY132-DS3F5538B0CD75C9D1F40F2E6250@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Clarificamos los niveles de abstracción.

Como bien dices el flag 'randomAcces' se usa en tuplesort.c
Eso permite escribir tuplas que pueden ser leídas al revés.

La lectura al revés a nivel de logtape.c es otra cosa, como bien dices. Allí
no se leen/escriben tuplas sino enteros bloques de datos.

En conclusión una lectura de un run al revés implicaría:
- leer los bloques al revés a partir del ultimo bloque de un cierto tape,
luego leer el penúltimo etc etc
- al interno de un cierto bloque leer las tuplas a partir de la ultima,
luego la penúltima etc etc etc.

Este mail sirve para aclarar si ¿estamos hablando de la misma cosa?

Gracias.
Saludos.

Manolo.

--------------------------------------------------
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Sent: Wednesday, February 13, 2008 12:39 AM
To: "Manolo _" <mac_man2005(at)hotmail(dot)it>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Runs y Logical Tapes

> Manolo _ escribió:
>>
>> Efectivamente las cosas por un lado están mas fáciles de lo que
>> parece. Los tapes ya se crean a la hora de establecer que pasando una
>> cierta cantidad de datos pues mejor ordenarlos con el ES. [
>> http://doxygen.postgresql.org/tuplesort_8c-source.html#l00909 ] .
>> Obvio que el espacio por cada tape se va aumentando a medida que se
>> necesite.
>>
>> Por otro lado te confirmo que si se puede leer al revez. Como te
>> comentaba antes, postgres usa esa flag randomAcces que adjunta
>> información adicional a las tuplas justamente para eso. Muy brevemente
>> te comento que se añade la largueza de cada tupla antes y después de
>> la misma tupla así que por uno u otro lado puedo leer primero el
>> tamaño de la tupla y luego la tupla... espero haber sido claro sino me
>> dices, por favor.
>
> Creo que has sido claro, pero te hago dos comentarios
> 1) yo no conozco bien este codigo
> 2) me parece que estamos confundiendo el nivel de abstraccion, porque tu
> sigues hablando de tuplesort y yo sigo hablando de logtape :-)
>
> Mi punto es que en logtape no hay ningun flag randomAccess ... Pero te
> hago el comentario (1) porque quizas no importa.
>
>> 1) ¿con la estructura de tapes existente puedo efectivamente escribir
>> 2 runs a la vez, cada run en un tape diferente?
>
> Si supone que si.
>
>> 2) ¿puedo evitar de leer al revés al fin de llegar al inicio del run?
>> es decir ¿puedo memorizar de alguna forma la dirección de la primera
>> tupla de l run que estoy construyendo?
>
> Eso no lo se.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-02-14 16:13:54 Re: Runs y Logical Tapes
Previous Message José Fermín Francisco Ferreras 2008-02-14 14:11:40 RE: .bat para copia en windows.