Unix Technical Forum

Re: On-disk bitmap index implementation

This is a discussion on Re: On-disk bitmap index implementation within the Pgsql Patches forums, part of the PostgreSQL category; --> On Tue, 2006-12-05 at 00:18 +1100, Gavin Sherry wrote: > o Determine if we need to provide anything for ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Patches

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-18-2008, 10:09 AM
Simon Riggs
 
Posts: n/a
Default Re: On-disk bitmap index implementation

On Tue, 2006-12-05 at 00:18 +1100, Gavin Sherry wrote:

> o Determine if we need to provide anything for rm_startup, rm_cleanup,
> rm_safe_restartpoint RmgrData function pointers.


safe_restartpoint gives true/false based upon whether there are
multi-record WAL states that have only been partially received. For
example, a btree index split needs multiple WAL records as it recurses
up the index tree. If you've got one record but not the others yet you
have an incomplete state and so cannot safely write a restartpoint.

I'll document that if you/anyone might suggest where the best place is?

> o Look into adding an AM option such that the user can determine word size
> at index creation time. For higher-cardinality data (above 1000 distinct
> values), 16 bit word sizes can really help with performance. Although
> the word size is not just assumed to be a certain size across the code,
> macros are used extensively to interact with the word size. Making it
> different for each index might be a little messy.


....and is is it a typical case to have a bitmap with less than 1000
distinct values?? Surely we want that as the sole assumption?

Nearly unique bitmaps can suffer a little I think, if it makes the most
common case faster. But I'd like to see the perf results first, I guess.

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-18-2008, 10:09 AM
Gavin Sherry
 
Posts: n/a
Default Re: On-disk bitmap index implementation

On Mon, 4 Dec 2006, Simon Riggs wrote:

> On Tue, 2006-12-05 at 00:18 +1100, Gavin Sherry wrote:
>
> > o Determine if we need to provide anything for rm_startup, rm_cleanup,
> > rm_safe_restartpoint RmgrData function pointers.

>
> safe_restartpoint gives true/false based upon whether there are
> multi-record WAL states that have only been partially received. For
> example, a btree index split needs multiple WAL records as it recurses
> up the index tree. If you've got one record but not the others yet you
> have an incomplete state and so cannot safely write a restartpoint.
>
> I'll document that if you/anyone might suggest where the best place is?


transam/README ?

>
> > o Look into adding an AM option such that the user can determine word size
> > at index creation time. For higher-cardinality data (above 1000 distinct
> > values), 16 bit word sizes can really help with performance. Although
> > the word size is not just assumed to be a certain size across the code,
> > macros are used extensively to interact with the word size. Making it
> > different for each index might be a little messy.

>
> ...and is is it a typical case to have a bitmap with less than 1000
> distinct values?? Surely we want that as the sole assumption?
>
> Nearly unique bitmaps can suffer a little I think, if it makes the most
> common case faster. But I'd like to see the perf results first, I guess.


I'll put together some performance data on different word sizes.

Thanks,

Gavin

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:37 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com