Re: Testing of various opclasses for ranges

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Jeff Davis <pgsql(at)j-davis(dot)com>
Subject: Re: Testing of various opclasses for ranges
Date: 2012-07-10 09:38:52
Message-ID: 4FFBF82C.4080102@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10.07.2012 02:33, Alexander Korotkov wrote:
> Hackers,
>
> I've tested various opclasses for ranges (including currently in-core one
> and my patches). I've looked into scholar papers for which datasets they
> are using for testing. The lists below show kinds of datasets used in
> papers.

Great! That's a pretty comprehensive suite of datasets.

> I've merged all 3 patches into 1 (see 2d_map_range_indexing.patch). In this
> patch following opclasses are available for ranges:
> 1) range_ops - currently in-core GiST opclass
> 2) range_ops2 - GiST opclass based on 2d-mapping
> 3) range_ops_quad - SP-GiST quad tree based opclass
> 4) range_ops_kd - SP-GiST k-d tree based opclass

I think the ultimate question is, which ones of these should we include
in core? We cannot drop the existing range_ops opclass, if only because
that would break pg_upgrade. However, range_ops2 seems superior to it,
so I think we should make that the default for new indexes.

For SP-GiST, I don't think we need to include both quad and k-d tree
implementations. They have quite similar characteristics, so IMHO we
should just pick one. Which one would you prefer? Is there any
difference in terms of code complexity between them? Looking at the
performance test results, quad tree seems to be somewhat slower to
build, but is faster to query. Based on that, I think we should pick the
quad tree, query performance seems more important.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Colin 't Hart 2012-07-10 10:45:20 [PATCH] psql \n shortcut for set search_path =
Previous Message Colin 't Hart 2012-07-10 09:09:34 [PATCH] psql \n shortcut for set search_path =