Обсуждение: R-Trees.

Поиск
Список
Период
Сортировка

R-Trees.

От
Michael Wray
Дата:
(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.)




Re: R-Trees.

От
Tsirkin Evgeny
Дата:
I don't think this is a postgres question it is perl one ,so you are in
the wrong place .just as a hint
look for a perl module that do what you want *i think perl::Text os
something).Any way this is a
wrong list .
Evgeny
Michael Wray wrote:

>(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.)
>
>
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faq
>
>