R-Trees. - Mailing list pgsql-admin

From Michael Wray
Subject R-Trees.
Date
Msg-id 200502102335.25262.mwray@hecomm.org
Whole thread Raw
Responses Re: R-Trees.  (Tsirkin Evgeny <tsurkin@mail.jct.ac.il>)
List pgsql-admin
(Please CC me, if you reply as I am out of pocket now and not able to be on
mailing lists at this time...);

I'm not sure which list I was reading, but I've been looking for info about
R-Trees, and stumbled across my favourite DB backend's mailing lists...

I've used RTREE based db engines before (Informix) but was unaware of PostGres
and MySQL implementing RTREE capability until tonight.

While I understand the basic concept of an RTREE. I would like to be pointed
someplace to get more info on the algorithms of RTREES and how they work, as
I'd like to implement  something that uses RTREE algorithms, and be able to
represent a whole record w/ items with values,subvalues,subsubvalues,
etc...in an object type format.

(Something that can get a whole record for a customer and break it out into
all the pieces automagically.. as an example.)


I'm used to doing code like this for parsing data for a customer from an
RTREE:
(Mixed Pseudocode and perl):
$customer=GETDATA;
$MultivalueMarker="~";
$SubvalueMarker=0007;
$valuemarker=0008;

foreach $customer (@recordlist) {
     @carray=split ($ValueMarker,$customer,10);
    @phonearray=split($SubValueMarker,@carray[7]);
      foreach $phoneitem (@phonearray) {
        my ($phone,$number)= split($MultiValueMarker,$phoneitem);
        $phonehash{$phone}=$number;
           }
      @domainarray=split ($SubValueMarker,@carray[8]);
       @emailarray=split ($MultiValueMarker,@domainarray[2]);

}

And at some point the data is packed and unpacked....
I'd like to hide all that using objects and make it so one could say read in a
template, and then make access to the data based on names defined in the
template.

As for an SQL database using Rtrees:
This doesn't seem like good practice for use if one is using SQL to do queries
with as it isn't structured around this kind of datatype, is there black
magic going on here that autoguesses joins, etc based on relationship of data
in the tree?

(When PG first announced Multidimensional support for the db, I didn't believe
it to be an rtree because of the slowness at which queries occurred, when
using multivalued data, even in a small database.)  I would hope that pgsql
would have other ways of handling queries on an rtree. And it may well do
that now.)




pgsql-admin by date:

Previous
From: Theo Galanakis
Date:
Subject: Re: Contrib XML
Next
From: Tsirkin Evgeny
Date:
Subject: Re: R-Trees.