Re: Nearest Common Ancestor Report (XDb1's $1000 Challenge)

From: Neo <neo55592_at_hotmail.com>
Date: 9 Jun 2004 10:06:40 -0700
Message-ID: <4b45d3ad.0406090906.8ae5903_at_posting.google.com>


> > Also, please show how RM Sol#1 or #2 can store the earlier mentioned
> > three thing hierarchy containing an unnamed person and a person with
> > mulitple names.
>
> So a person (or any "thing") can have 0, 1 or many names?
> In that case we would need tables something like:
> create table thing (thing_id integer primary key);
> create table thing_name (thing_id references thing, thing_name
> varchar2(100), primary key (thing_id, thing_name));

The above would be an example of redundant data (schema is data also), as the db already has tables to hold attributes. Would one be creating a new table for each new attribute? If so, it is not a generic solution.

> Now pay Hugo.

Thus far RM Sol#1 and #2 fail to meet the challenge because, they contain redundant schema (schema is data) to store the class hierarchy which cannot be accessed by the provided report procedure, and stores redundant data (ie "brown"). Deficiencies in the genericness of the solutions can be shown by the inability to handle things without an attribute (ie name) and things with multiple attributes each of different type, etc.

Below are measurements made thus far using RM solutions that aren't as generic or normalized as XDb1's.

Small Report Generation Summary (provided by Hugo)



Solution Time(ms) Platform Notes
-------------- --------  ----------------- --------------------------
RM#1 SqlSrvr2K  14.3     1.3 Ghz PC
RM#2 SqlSrvr2K  11.0     1.3 Ghz PC
XDb1 4.4.7      16       1.3 Ghz PC        Debug version


Small Report Generation Summary (provided by Neo)



Solution Time(ms) Platform Notes
-------------  --------  ----------------- --------------------------
RM#1 SqlSrvr7   65.0     500 Mhz Server
RM#2 SqlSrvr7   68.9     500 Mhz Server
XDb1 4.5.7       1.632   500 Mhz Server
XDb1 4.5.9       6.561   233 MHz PocketPC


Large Report (28,940 rows) Generation Summary (provided by Neo) 200 Goat Hierarchy (5 generations x 40 goats/generation, each goat having two parents, except 1st gen).



Solution Time(sec) Platform Notes
-------------  --------  ----------------- --------------------------
RM#5 SqlSrvr7   40.5     500 Mhz Server
XDb1 4.5.7       2.9     500 Mhz Server
XDb1 4.5.9      16.971   233 Mhz PocketPC


Larger Report (276,620 rows) Generation Summary (provided by Neo). 400 Goat Hierarchy (10 gen x 40 goats/gen),



Solution Time(ms) Platform Notes
-------------  --------  ----------------- --------------------------
RM#5 SqlSrvr7  105 min   500 Mhz Srvr, NT  Avg of 2 runs
XDb1 4.5.10     44 min   500 Mhz Srvr, NT  Avg of 2 runs
XDb1 4.5.10     57 min   450 Mhz PC, 98    1 run
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run

Note: If one would like to verify or provide additional measurements, the SQL Server scripts are available from website. Received on Wed Jun 09 2004 - 19:06:40 CEST

Original text of this message